/*
Theme Name: NetSoft Dubai
Theme URI: https://www.dubaiwebcity.com
Author: NetSoft
Description: Lightweight custom theme for NetSoft Dubai. Modernist grid design, bilingual EN/AR (Polylang, RTL), ACF-driven content, hardened and performance-tuned.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: netsoft
*/
:root{--bg:#f3f2f2;--ink:#201e1d;--accent:#ec3013;--accent-600:#d42a0f;--accent-700:#b3200a;--gold:#d9a441;--gold-ink:#b8893a;--mute:#6b6663;--soft:#e6e3e1;--line:2px solid var(--ink);--w:1320px;--font:'Bricolage Grotesque',Archivo,system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}
/* Guard against stray plugin/core styles that box the body (e.g. 700px error-page style) */
html body{max-width:none!important;width:auto!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:var(--bg)!important;color:var(--ink)!important;font-family:var(--font)!important}
html body a{color:var(--ink)}html body a:hover{color:var(--accent-600)}
html body .btn,html body .btn:hover,html body .nav a.cta,html body .nav a.cta:hover{color:#fff}
html body .btn.out,html body .btn.lt{color:inherit}html body .btn.out{color:var(--ink)}html body .btn.out:hover,html body .btn.lt:hover{color:#fff}html body .btn.lt{color:#fff}html body .btn.lt:hover{color:var(--ink)}
html body .topbar a,html body .ft a,html body .hero a{color:#f3f2f2}html body .ft a:hover{color:var(--accent)}
html body .slide h1,html body .slide h2.hh{color:#fff}html body .slide h1 .red,html body .slide h2 .red,html body .red{color:var(--accent)}
html body .dark,html body .dark a{color:#f3f2f2}html body .ctaband,html body .ctaband h2,html body .ctaband p{color:#fff}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.5}
img{max-width:100%;height:auto;display:block}
a{color:var(--ink)}a:hover{color:var(--accent-600)}
h1,h2,h3,h4{font-family:inherit;margin:0}
button,input,textarea,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
::selection{background:#f7c9bf}
.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:12px 16px;z-index:200}.skip:focus{left:0}
.wrap{max-width:var(--w);margin:0 auto;padding:0 20px}
.sec{padding-top:120px}.sec.s96{padding-top:96px}
.h2{font-size:56px;font-weight:800;letter-spacing:-.035em;line-height:1.05}
.h1{font-size:clamp(44px,6vw,84px);line-height:.98;letter-spacing:-.035em;font-weight:800}
.lead{font-size:18px;line-height:1.55;margin:0}
.kick{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-700)}
.ar-tag{color:var(--gold-ink);font-weight:700;font-size:20px;font-family:'Noto Kufi Arabic',sans-serif}
.red{color:var(--accent)}
.row{display:grid;gap:48px;align-items:end}
.row.c5-6{grid-template-columns:5fr 6fr}.row.c6-5{grid-template-columns:6fr 5fr}.row.c4-8{grid-template-columns:4fr 8fr;align-items:start}.row.c8-4{grid-template-columns:8fr 4fr}.row.c7-5{grid-template-columns:7fr 5fr}
.sechead{display:flex;justify-content:space-between;align-items:baseline;gap:24px;border-bottom:var(--line);padding-bottom:20px;margin-bottom:40px}
/* buttons */
.btn{display:inline-block;background:var(--accent);color:#fff;padding:16px 24px;text-decoration:none;font-weight:700;border:0;cursor:pointer}
.btn:hover{background:var(--accent-600);color:#fff}
.btn.out{background:transparent;color:var(--ink);border:2px solid var(--ink);padding:14px 24px}.btn.out:hover{background:var(--ink);color:#fff}
.btn.lt{background:transparent;color:#fff;border:2px solid #fff;padding:14px 24px}.btn.lt:hover{background:#fff;color:var(--ink)}
.btn.dk{background:var(--ink)}.btn.dk:hover{background:#000}
.btns{display:flex;gap:12px;flex-wrap:wrap}
/* grids with ruled cells */
.cells{display:grid;border-top:var(--line);border-inline-start:var(--line)}
.cells>*{border-bottom:var(--line);border-inline-end:var(--line)}
.cells.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.cells.c4{grid-template-columns:repeat(4,minmax(0,1fr))}.cells.c6{grid-template-columns:repeat(6,minmax(0,1fr))}
.box{border:var(--line)}
.boxg{display:grid;border:var(--line)}.boxg>*+*{border-inline-start:var(--line)}
.boxg.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.boxg.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ph{background:repeating-linear-gradient(135deg,#d3d0ce 0 14px,#e2dfdd 14px 28px);border:var(--line);display:flex;align-items:flex-end;padding:18px;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
/* top bar + header */
.topbar{background:var(--ink);color:#f3f2f2;font-size:13px;letter-spacing:.04em}
.topbar .wrap{padding-block:10px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.topbar .l,.topbar .r{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.topbar a{color:#f3f2f2;text-decoration:none}.topbar .dot{color:var(--gold)}
.lang{display:flex;border:1px solid #6b6663;margin:0;padding:0;list-style:none}.lang a{display:block;padding:4px 12px}.lang .current-lang a,.lang a[aria-current]{background:var(--gold);color:var(--ink)}
.hdr{border-bottom:var(--line);background:var(--bg);position:sticky;top:0;z-index:50}
.hdr .wrap{display:grid;grid-template-columns:auto 1fr auto;align-items:center;height:76px;gap:16px}
.logo{display:inline-flex;align-items:flex-start;gap:12px;text-decoration:none;color:var(--ink)}
.logo .mk{position:relative;display:block;padding-top:10px}.logo .mk img{height:56px;width:auto}
.logo .mk i{position:absolute;top:26px;inset-inline-end:-9px;width:9px;height:9px;border-radius:50%;background:var(--accent)}
.logo .tx{display:flex;flex-direction:column;justify-content:space-between;height:56px;margin-top:10px;line-height:.9}
.logo b{font-size:34px;font-weight:800;letter-spacing:-.03em}.logo b span{color:var(--accent)}
.logo small{font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.25}
.nav{display:flex;align-items:center;justify-self:center;height:76px;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.nav>a,.nav>.dd>a{display:flex;align-items:center;height:76px;padding:0 13px;text-decoration:none}
.nav>a:hover,.nav>.dd>a:hover{background:var(--soft);color:var(--ink)}
.nav a.cta{background:var(--ink);color:#fff;gap:14px}.nav a.cta:hover{background:var(--accent);color:#fff}
.dd{position:relative}
.hdr.inner .wrap{grid-template-columns:auto 1fr}.hdr.inner .nav{justify-self:end}.hdr.inner .nav a.cta{margin-inline-start:8px}
.nav>a.on,.nav>.dd.on>a{box-shadow:inset 0 -4px 0 var(--accent)}
.hdr.home .nav{justify-self:center}
.mega{display:none;position:absolute;top:100%;inset-inline-start:0;width:880px;background:var(--bg);border:var(--line);padding:32px;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;text-transform:none;letter-spacing:0}
.dd:hover .mega,.dd:focus-within .mega{display:grid}
.mega h4{font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--accent-700);margin-bottom:12px}
.mega a{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:var(--line);text-decoration:none;font-size:16px;font-weight:600}.mega a:hover{color:var(--accent)}
.hicons{display:flex;align-items:center;justify-self:end}
.hicons a{display:flex;align-items:center;justify-content:center;width:52px;height:76px}.hicons a:hover{background:var(--soft)}
.hicons svg{width:26px;height:26px;stroke:var(--ink);fill:none;stroke-width:2}
.hicons hr{width:2px;height:36px;background:var(--ink);border:0;margin:0 4px}
.navtog{display:none;background:none;border:2px solid var(--ink);width:48px;height:48px;cursor:pointer;font-size:22px}
/* hero slider */
.hero{position:relative;height:clamp(620px,86vh,780px);overflow:hidden;background:#201e1d;color:#fff}
.slide{position:absolute;inset:0;visibility:hidden;transition:visibility 0s linear 1.2s}
.slide.on{visibility:visible;z-index:2;transition:none}
.slide .bg{position:absolute;inset:0;transform:scale(1.2)}
.slide .bg img{width:100%;height:100%;object-fit:cover}
.slide.on .bg{transform:scale(1);transition:transform 10s cubic-bezier(.2,.6,.2,1)}
.slide .shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.85),rgba(0,0,0,.45) 50%,rgba(0,0,0,.1))}
.slide .in{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:48px max(20px,calc((100% - var(--w))/2 + 20px)) 120px;overflow:hidden}
.slide .k{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;display:flex;align-items:center;gap:12px;margin-bottom:20px;transform:translateY(110%);opacity:0}
.slide .k:before{content:"";width:32px;height:2px;background:var(--accent)}
.slide h1,.slide h2.hh{font-size:clamp(34px,min(5.2vw,9vh),76px);line-height:1;letter-spacing:-.035em;font-weight:800;max-width:20ch;transform:translateY(110%)}
.slide .sub{display:flex;gap:24px 40px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;margin-top:32px;transform:translateY(40px);opacity:0}
.slide .sub p{font-size:18px;line-height:1.5;margin:0;max-width:520px}
.slide.on .k{transform:none;opacity:1;transition:transform 1.2s cubic-bezier(.2,.7,.2,1) 1.9s,opacity 1.2s ease 1.9s}
.slide.on h1,.slide.on h2.hh{transform:none;transition:transform 1.4s cubic-bezier(.2,.7,.2,1) 2.1s}
.slide.on .sub{transform:none;opacity:1;transition:transform 1.3s cubic-bezier(.2,.7,.2,1) 2.4s,opacity 1.3s ease 2.4s}
.wipe{position:absolute;inset:0;background:#fff;z-index:5;pointer-events:none;transform:translateX(-101%)}
.wipe.go{animation:nsWipe 2.4s cubic-bezier(.65,0,.25,1) forwards}
@keyframes nsWipe{0%{transform:translateX(-101%)}45%,55%{transform:none}100%{transform:translateX(101%)}}
.hctl{position:absolute;inset-inline:0;bottom:0;z-index:10;padding:0 max(20px,calc((100% - var(--w))/2 + 20px)) 32px;display:flex;align-items:center;gap:24px}
.hctl .cnt{font-size:13px;font-weight:700;letter-spacing:.12em;min-width:56px}
.hctl .dots{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.hctl .dots button{background:none;border:0;height:14px;padding:0;cursor:pointer;display:flex;align-items:center}
.hctl .dots span{display:block;width:100%;height:4px;background:rgba(255,255,255,.45)}.hctl .dots .on span{background:var(--accent)}
.hctl .arr{display:flex;border:2px solid #fff}.hctl .arr button{background:none;border:0;color:#fff;cursor:pointer;width:52px;height:48px;font-size:20px}.hctl .arr button+button{border-inline-start:2px solid #fff}.hctl .arr button:hover{background:#fff;color:var(--ink)}
/* intro + services list */
.intro .boxg>div{padding:28px}.intro .n{font-size:28px;font-weight:800;letter-spacing:-.03em;color:var(--accent-700)}
.svc-list a{display:grid;grid-template-columns:72px 1fr;align-items:start;text-decoration:none;padding:2px 0}
.svc-list a span:first-child{font-size:16px;font-weight:700;padding-top:14px}
.svc-list a span+span{font-size:80px;font-weight:800;letter-spacing:-.045em;line-height:1}
.svc-list a:hover{color:var(--accent)}
.ind{display:flex;flex-direction:column;justify-content:space-between;min-height:150px;padding:24px;text-decoration:none}
.ind:hover{background:#fff;color:var(--ink)}
.ind .top{display:flex;justify-content:space-between;align-items:center}
.mark{position:relative;width:48px;height:48px;display:block}.mark .circ{position:absolute;left:0;top:0}.mark .ic{position:absolute;left:8px;top:8px;color:var(--ink)}
dialog.indm .grid a span:first-child{display:flex;gap:12px;align-items:center}dialog.indm .grid .ic{flex:none}
.ind .circ{width:32px;height:32px;border-radius:50%;background:#f6e05e;transition:transform .3s ease}
.ind:hover .circ{transform:translate(16px,16px)}
.ind .nn{font-size:12px;font-weight:700;letter-spacing:.12em}.ind .t{font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1.15}
.cap{padding:32px 28px;min-height:260px}.cap .n{font-size:48px;font-weight:800;color:var(--accent);letter-spacing:-.03em;line-height:1}
.cap h3{margin:20px 0 12px;font-size:24px;font-weight:800;letter-spacing:-.02em;line-height:1.1}.cap p{margin:0;line-height:1.55}
.sup{padding:28px 24px;min-height:110px}.sup .n{font-size:12px;font-weight:700;letter-spacing:.12em}.sup .t{margin-top:14px;font-weight:700;font-size:18px}.sup.hot{background:var(--ink);color:#f3f2f2}
.work{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px}
.work a{text-decoration:none;display:block}.work .im{height:340px;border:var(--line);overflow:hidden}.work .im img{width:100%;height:100%;object-fit:cover}
.work-8{grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 24px}.work-8 .im{height:220px}.work-8 .tt{font-size:16px;line-height:1.3}.work-8 .cap2{align-items:flex-start;min-height:84px;box-sizing:border-box}.work-8 .cap2 span{padding-top:2px}@media(max-width:1000px){.work-8{grid-template-columns:repeat(2,minmax(0,1fr))}}
.work .cap2{display:flex;justify-content:space-between;align-items:baseline;padding:16px 0;border-bottom:var(--line)}
.work .tt{font-size:26px;font-weight:700;letter-spacing:-.02em}.work .kk{margin-top:6px;color:var(--accent-700);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.dark{background:var(--ink);color:#f3f2f2;padding:96px 0;margin-top:120px}
.dark .stat{padding:32px 32px 32px 0}.dark .stat b{display:block;font-size:88px;font-weight:800;letter-spacing:-.04em;color:var(--gold);line-height:1}
.dark .cells,.dark .boxg{border-color:#f3f2f2}.dark .boxg{border:2px solid #f3f2f2}.dark .boxg>*+*{border-color:#f3f2f2}
.quote{padding:32px}.quote:before{content:"\201C";display:block;color:var(--accent);font-size:56px;line-height:.6;font-weight:800}.quote p{line-height:1.55;margin:16px 0 28px}
.step{padding:28px}.step .n{font-size:48px;font-weight:800;color:var(--accent);letter-spacing:-.03em}.step .t{font-size:22px;font-weight:700;margin:12px 0 8px}
.cmp{border:var(--line)}.cmp .r{display:grid;grid-template-columns:3fr 4fr 5fr;border-top:var(--line);line-height:1.5}.cmp .r:first-child{border:0;background:var(--ink);color:#f3f2f2;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.cmp .r>div{padding:22px 24px}.cmp .r:first-child>div{padding:16px 24px}.cmp .r>div+div{border-inline-start:var(--line)}.cmp .r:first-child>div+div{border:0}.cmp .r>div:first-child{font-weight:800;font-size:18px}.cmp .r:first-child>div:first-child{font-size:12px}
.cmp .r>div:last-child{background:#fff;font-weight:600}.cmp .r:first-child>div:last-child{background:none;color:var(--gold)}
.price{padding:32px}.price .p{font-size:48px;font-weight:800;letter-spacing:-.03em}.price .t{font-size:22px;font-weight:700;margin:12px 0}.price.hi{background:#fff}
.post{text-decoration:none;display:block}.post .im{height:200px;border:var(--line);overflow:hidden}.post .im img{width:100%;height:100%;object-fit:cover}
.post .k{padding-top:16px;font-size:13px;font-weight:700;letter-spacing:.08em;color:var(--accent-700);text-transform:uppercase}.post .t{font-size:22px;font-weight:700;margin-top:6px;line-height:1.25}
.div-card{display:flex;flex-direction:column;justify-content:space-between;gap:24px;min-height:340px;padding:28px 24px;text-decoration:none}.div-card:hover{background:#fff;color:var(--ink)}
.div-card h3{margin:12px 0 18px;font-size:26px;font-weight:800;letter-spacing:-.025em;line-height:1.1}.div-card li{padding:9px 0;border-top:var(--line);font-size:15px;font-weight:600;list-style:none}.div-card ul{margin:0;padding:0}
.div-card .go{font-weight:700;font-size:15px;line-height:1.35;color:var(--accent-700)}
.gcc a{padding:24px;min-height:150px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none}.gcc a:hover{background:#fff;color:var(--ink)}.gcc a.cur{background:var(--ink);color:#f3f2f2}
/* calculator */
.calc{border:var(--line);background:#fff}.calc .hd{display:flex;justify-content:space-between;padding:16px 24px;border-bottom:var(--line);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.calc .hd span+span{color:var(--mute)}
.calc .bd{padding:28px 24px}.calc h3{font-size:28px;font-weight:800;letter-spacing:-.025em;margin-bottom:20px}
.calc .opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:var(--line);border-inline-start:var(--line)}
.calc .opts button{background:none;border:0;border-bottom:var(--line);border-inline-end:var(--line);padding:20px;font-size:18px;font-weight:700;text-align:start;cursor:pointer}.calc .opts button:hover,.calc .opts button.sel{background:var(--ink);color:#f3f2f2}
.calc .res{font-size:clamp(40px,5vw,64px);font-weight:800;letter-spacing:-.04em;color:var(--accent-700);line-height:1}
.calc .back{background:none;border:0;border-bottom:2px solid var(--ink);margin-top:20px;font-weight:700;cursor:pointer;padding:0}
/* faq */
.faq{border-top:var(--line)}.faq details{border-bottom:var(--line)}
.faq summary{display:flex;justify-content:space-between;gap:24px;padding:24px 0;cursor:pointer;font-size:22px;font-weight:700;list-style:none}.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";color:var(--accent)}.faq details[open] summary:after{content:"\2212"}
.faq .a{padding:0 0 24px;line-height:1.6;max-width:680px}
/* inner pages */
.crumbs{font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding-top:56px}.crumbs a{color:var(--ink)}
.ph-hero{margin-top:48px;height:440px;border:var(--line);overflow:hidden}.ph-hero img{width:100%;height:100%;object-fit:cover}
.statrow{border:var(--line);border-top:0}.statrow>div{padding:28px}.statrow b{display:block;font-size:48px;font-weight:800;letter-spacing:-.03em;color:var(--accent-700)}
.inc{display:grid;grid-template-columns:60px 1fr;padding:22px 0;border-bottom:var(--line)}.inc .n{color:var(--accent);font-weight:700}.inc .t{font-size:22px;font-weight:700}
.tech div{padding:24px;font-size:20px;font-weight:700}
.filters{display:flex;flex-wrap:wrap;gap:0;border:var(--line);margin-bottom:40px;width:max-content;max-width:100%}.filters button{background:none;border:0;padding:12px 20px;font-weight:700;cursor:pointer}.filters button+button{border-inline-start:var(--line)}.filters button.on,.filters button:hover{background:var(--ink);color:#fff}
.filters.tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));width:100%;margin-bottom:0}.filters.tabs button{text-align:start;font-size:16px;padding:18px 20px}.filters .ct{opacity:.6;margin-inline-start:8px;font-size:13px}
.pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 32px}.pgrid .work-i[hidden]{display:none}
.prose{max-width:760px;font-size:18px;line-height:1.7}.prose h2{font-size:36px;font-weight:800;letter-spacing:-.03em;margin:48px 0 16px;line-height:1.1}.prose h3{font-size:26px;font-weight:700;margin:32px 0 12px}.prose a{color:var(--accent-700)}.prose table{width:100%;border-collapse:collapse;border:var(--line);margin:24px 0}.prose th,.prose td{padding:14px 16px;border:var(--line);text-align:start}.prose th{background:var(--ink);color:#f3f2f2}
.pager{display:flex;gap:0;margin-top:48px}.pager a,.pager span{padding:12px 18px;border:var(--line);margin-inline-end:-2px;text-decoration:none;font-weight:700}.pager .current,.pager a:hover{background:var(--ink);color:#fff}
.form{display:grid;gap:16px}.form label{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;display:grid;gap:8px}
.form input,.form textarea,.form select{border:var(--line);background:#fff;padding:14px 16px;border-radius:0;width:100%}.form .hp{position:absolute;left:-9999px}
.notice{padding:16px 20px;border:var(--line);background:#fff;font-weight:700;margin-bottom:24px}
/* cta + footer */
.ctaband{background:var(--accent);color:#fff;margin-top:120px;padding:96px 0}
.ft{background:var(--ink);color:#f3f2f2;overflow:hidden}.ft a{color:#f3f2f2;text-decoration:none}.ft a:hover{color:var(--accent)}
.ft .top{padding:80px 0 64px}.ft h3{font-size:clamp(36px,4.5vw,64px);line-height:1;letter-spacing:-.035em;font-weight:800}.ft h3 span{color:var(--gold)}
.ft .sub{display:flex;border:2px solid #f3f2f2}.ft .sub input{flex:1;background:none;border:0;padding:16px 18px;color:#f3f2f2}.ft .sub button{background:var(--accent);border:0;color:#fff;padding:16px 24px;font-weight:700;cursor:pointer}
.ft .cols{display:grid;grid-template-columns:4fr repeat(4,2fr);border-top:2px solid #5a5552;border-inline-start:2px solid #5a5552}
.ft .cols>div{padding:32px 28px;border-inline-end:2px solid #5a5552}.ft h4{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}
.ft ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.ft .bot{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:24px 0;border-top:2px solid #5a5552;font-size:14px;color:#c9c5c2}.ft .bot ul{flex-direction:row;gap:28px}.ft .bot a{color:inherit}
.ft .word{font-size:clamp(100px,22vw,320px);font-weight:800;letter-spacing:-.06em;line-height:.8;padding:24px 20px 0;margin-bottom:-.06em;white-space:nowrap}.ft .word span{color:var(--accent)}
.sticky{position:fixed;inset-inline:0;bottom:0;z-index:60;background:var(--ink);color:#fff;border-top:2px solid var(--accent)}
.sticky .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:10px}.sticky span{font-weight:600}
.sticky .btn{padding:10px 18px;background:#25d366;color:#08210f}.sticky .btn:hover{background:#1ebe5a;color:#08210f}
dialog.indm{border:var(--line);background:var(--bg);color:var(--ink);padding:36px;width:min(760px,calc(100% - 40px));max-height:90vh}dialog.indm::backdrop{background:rgba(32,30,29,.72)}
dialog.indm .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));border-top:var(--line);border-inline-start:var(--line);margin-top:28px}
dialog.indm .grid a{display:flex;justify-content:space-between;padding:18px 20px;border-bottom:var(--line);border-inline-end:var(--line);text-decoration:none;font-weight:600}dialog.indm .grid a:hover{background:var(--accent);color:#fff}
@media(max-width:1100px){
.hdr .wrap,.hdr.inner .wrap{grid-template-columns:1fr auto}.navtog{display:block;justify-self:end}
.nav{display:none;position:absolute;top:76px;inset-inline:0;background:var(--bg);flex-direction:column;align-items:stretch;height:auto;border-bottom:var(--line);white-space:normal}.nav.open{display:flex}
.nav>a,.nav>.dd>a{height:56px}.mega{position:static;width:auto;display:none;grid-template-columns:1fr;border:0;padding:8px 20px 20px}.dd:hover .mega{display:none}.dd.open .mega{display:grid}
.cells.c6{grid-template-columns:repeat(3,minmax(0,1fr))}.ft .cols{grid-template-columns:repeat(2,1fr)}
.svc-list a span+span{font-size:48px}}
@media(max-width:760px){
.h2{font-size:36px}.sec{padding-top:72px}.row.c5-6,.row.c6-5,.row.c4-8,.row.c8-4,.row.c7-5{grid-template-columns:1fr;gap:24px}
.cells.c3,.cells.c4,.boxg.c3,.boxg.c4,.work,.pgrid{grid-template-columns:1fr}.cells.c6{grid-template-columns:repeat(2,1fr)}.boxg>*+*{border-inline-start:0;border-top:var(--line)}
.cmp .r{grid-template-columns:1fr}.cmp .r>div+div{border-inline-start:0}.calc .opts{grid-template-columns:1fr}
.topbar .l span:last-child{display:none}.hicons{display:none}.hdr .wrap{grid-template-columns:1fr auto}
.logo b{font-size:28px}.logo small{display:none}.logo .tx{height:auto}.logo .mk img{height:44px}
.slide .in{padding-bottom:140px}.dark .stat b{font-size:56px}.ft .cols{grid-template-columns:1fr}.svc-list a{grid-template-columns:40px 1fr}.svc-list a span+span{font-size:34px}
.ctaband .row,.ft .row{grid-template-columns:1fr}.sticky span{display:none}.sticky .wrap{justify-content:center}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.slide .k,.slide h1,.slide .sub{transform:none!important;opacity:1!important}}

/* blog post */
.post-head{max-width:980px;margin-top:40px}.post-meta{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:20px;font-size:14px;color:var(--mute)}.post-meta b{color:var(--ink)}
.post-lead{font-size:22px;line-height:1.5;max-width:760px;margin:24px 0 0}
.post-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:64px;align-items:start}
.toc{position:sticky;top:96px;border-top:2px solid var(--ink);padding-top:16px}.toc h4{margin:0 0 12px;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.toc a{display:block;padding:9px 0;border-bottom:1px solid rgba(0,0,0,.12);font-size:15px;line-height:1.35;text-decoration:none;color:var(--ink)}.toc a:hover{color:var(--accent-700)}
.prose{max-width:720px;font-size:19px;line-height:1.75;color:var(--ink)}
.prose>*:first-child{margin-top:0}
.prose p{margin:0 0 22px}
.prose h2{font-size:34px;line-height:1.12;letter-spacing:-.03em;font-weight:800;margin:56px 0 18px;padding-top:24px;border-top:2px solid var(--ink);scroll-margin-top:96px}
.prose h3{font-size:24px;line-height:1.25;font-weight:700;margin:36px 0 12px;letter-spacing:-.01em}
.prose h4{font-size:18px;font-weight:700;margin:28px 0 8px}
.prose ul,.prose ol{margin:0 0 26px;padding-inline-start:0;list-style:none;counter-reset:li}
.prose li{position:relative;padding:10px 0;padding-inline-start:34px;border-bottom:1px solid rgba(0,0,0,.1)}
.prose ul>li::before{content:"";position:absolute;inset-inline-start:4px;top:20px;width:10px;height:10px;background:var(--accent)}
.prose ol>li{counter-increment:li}.prose ol>li::before{content:counter(li,decimal-leading-zero);position:absolute;inset-inline-start:0;top:12px;font-size:13px;font-weight:700;color:var(--accent-700)}
.prose li>p{margin:0}
.prose a{color:var(--accent-700);text-decoration:underline;text-underline-offset:3px}.prose a:hover{color:var(--ink)}
.prose strong{font-weight:700}
.prose blockquote{margin:32px 0;padding:8px 0 8px 28px;border-inline-start:6px solid var(--accent);font-size:22px;line-height:1.5;font-weight:600}
.prose img,.pfig img{display:block;width:100%;height:auto;max-height:460px;object-fit:cover;border:var(--line)}
.prose img{margin:32px 0}.pfig{margin:44px 0}.pfig img{margin:0}
.prose table{width:100%;border-collapse:collapse;margin:32px 0;font-size:16px;line-height:1.45;display:block;overflow-x:auto}
.prose th{background:var(--ink);color:#fff;text-align:start;padding:12px 14px;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.prose td{padding:12px 14px;border-bottom:1px solid rgba(0,0,0,.15);vertical-align:top}
.post-cta{border:var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:32px;margin-top:56px;background:var(--ink);color:#fff}
.post-cta h3{margin:0;font-size:28px;letter-spacing:-.02em}.post-cta p{margin:8px 0 0;opacity:1}
.post-cta a{background:var(--accent);color:#fff;padding:16px 24px;font-weight:700;text-decoration:none;white-space:nowrap}
@media(max-width:900px){.post-layout{grid-template-columns:1fr;gap:32px}.toc{position:static}.prose{font-size:18px}.prose h2{font-size:28px}.post-cta{grid-template-columns:1fr}}

.prose .faqs{margin-top:56px}.prose .faqs h2{margin-top:0}
.fq{border-bottom:2px solid var(--ink)}.faqs .fq:first-of-type{border-top:0}
.fq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;font-size:20px;font-weight:700;line-height:1.35}
.fq summary::-webkit-details-marker{display:none}
.fq summary::after{content:"+";flex:none;width:36px;height:36px;display:grid;place-items:center;font-size:26px;font-weight:400;color:var(--accent-700);border:2px solid var(--ink);line-height:1}
.fq[open] summary::after{content:"\2212";background:var(--ink);color:#fff}
.fq summary:hover{color:var(--accent-700)}.fq summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.fq .fa{padding:0 56px 24px 0;font-size:18px;line-height:1.7}.fq .fa p{margin:0 0 14px}.fq .fa>:last-child{margin-bottom:0}

/* blog post: minimal, full-width reading column */
.post-layout{grid-template-columns:220px minmax(0,1fr);gap:56px}
.toc{border-top:0;padding-top:0}.toc h4{font-size:11px;color:var(--mute);margin-bottom:10px}
.toc a{border-bottom:0;padding:6px 0 6px 14px;font-size:14px;color:var(--mute);border-inline-start:2px solid rgba(0,0,0,.12)}.toc a:hover{color:var(--ink);border-inline-start-color:var(--accent)}
.prose{max-width:none;font-size:18px;line-height:1.75}
.prose p{margin:0 0 18px}
.prose h2{font-size:28px;line-height:1.2;letter-spacing:-.02em;margin:44px 0 14px;padding-top:0;border-top:0}
.prose h3{font-size:20px;margin:28px 0 8px}
.prose ul,.prose ol{margin:0 0 20px}
.prose li{padding:4px 0;padding-inline-start:24px;border-bottom:0}
.prose ul>li::before{top:14px;width:6px;height:6px}
.prose ol>li::before{top:6px}
.prose blockquote{font-size:19px;font-weight:500;padding:4px 0 4px 20px;border-inline-start-width:3px}
.prose img{max-height:420px}.pfig{margin:32px 0}
.post-cta{background:none;color:var(--ink);padding:28px 0 0;border:0;border-top:2px solid var(--ink);margin-top:48px}.post-cta h3{font-size:22px}.post-cta p{color:var(--mute)}
.fq{border-bottom:1px solid rgba(0,0,0,.18)}.fq summary{font-size:17px;padding:16px 0}.fq summary::after{width:28px;height:28px;font-size:20px;border-width:1px}.fq .fa{font-size:17px;padding-bottom:18px}
.prose .faqs{margin-top:44px}
@media(max-width:900px){.prose h2{font-size:24px}}

.wa-float{position:fixed;inset-inline-end:20px;bottom:20px;z-index:70;width:58px;height:58px;display:grid;place-items:center;background:#25d366;border-radius:50%;box-shadow:0 6px 18px rgba(0,0,0,.28);transition:transform .15s}
html body .wa-float,html body .wa-float:hover{color:#fff}.wa-float:hover{transform:scale(1.07);background:#1ebe5a}.wa-float:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.wa-float svg{width:32px;height:32px;fill:#fff}
@media(max-width:700px){.wa-float{width:54px;height:54px;inset-inline-end:14px;bottom:14px}}

.toc{border-top:2px solid var(--ink);padding-top:16px}
.toc h4{font-size:13px;font-weight:700;letter-spacing:.14em;color:var(--accent-700);margin:0 0 8px}
.toc a{display:block;padding:11px 0;border-bottom:2px solid var(--ink);border-inline-start:0;font-weight:600;font-size:15px;line-height:1.35;color:var(--ink)}
.toc a:hover,.toc a.on{color:var(--accent);border-inline-start:0}

.prose .faqs{margin-top:56px;counter-reset:fq}
.prose .faqs h2,.prose .related h2{font-size:40px;font-weight:800;letter-spacing:-.03em;line-height:1.1;margin:0 0 20px}
.faqs>.fq:first-of-type{border-top:2px solid var(--ink)}
.fq{border-bottom:2px solid var(--ink);counter-increment:fq}
.fq summary{display:grid;grid-template-columns:48px 1fr 24px;gap:12px;align-items:start;padding:24px 0;font-size:22px;font-weight:700;line-height:1.5}
.fq summary::before{content:counter(fq,decimal-leading-zero);color:var(--accent);font-weight:700}
.fq summary::after{content:"+";width:auto;height:auto;border:0;background:none;display:block;color:var(--accent);font-size:22px;font-weight:400;line-height:1.5;text-align:center;place-items:unset}
.fq[open] summary::after{content:"\2212";background:none;color:var(--accent)}
.fq .fa{padding:0 36px 24px 60px;font-size:18px;line-height:1.65}
.prose .related{margin-top:56px}
.prose .related ul{margin:0;border-top:2px solid var(--ink)}
.prose .related li{padding:12px 0;padding-inline-start:0;border-bottom:2px solid var(--ink);font-weight:600}.prose .related li::before{display:none}
.prose .related a{text-decoration:none;color:var(--ink)}.prose .related a:hover{color:var(--accent)}
@media(max-width:700px){.fq summary{grid-template-columns:36px 1fr 20px;font-size:18px}.fq .fa{padding-inline-start:48px}.prose .faqs h2,.prose .related h2{font-size:30px}}

/* one heading style for the whole post */
.prose h2,.prose h3,.prose h4,.prose .faqs h2,.prose .related h2{font-size:26px;font-weight:700;line-height:1.25;letter-spacing:-.01em;margin:36px 0 8px;padding:0;border:0}
.prose .faqs h2,.prose .related h2{margin-bottom:16px}
.prose>h2:first-child,.prose>h3:first-child{margin-top:0}
.prose p{line-height:1.7}
@media(max-width:700px){.prose h2,.prose h3,.prose h4,.prose .faqs h2,.prose .related h2{font-size:22px}}

.post-head{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:64px;align-items:end}
.post-head .post-lead{max-width:760px}
.post-meta{display:block;margin:0;border-top:2px solid var(--ink)}
.post-meta>div{display:block;padding:12px 0;border-bottom:2px solid var(--ink)}
.post-meta dt{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-700)}
.post-meta dd{margin:4px 0 0;font-size:16px;font-weight:600;color:var(--ink)}
@media(max-width:900px){.post-head{grid-template-columns:1fr;gap:24px}}

/* blog post: extra minimal */
body.single-post .ph-hero{height:380px;border:0}
body.single-post .crumbs{padding-top:40px}
.post-meta{border-top:1px solid rgba(0,0,0,.2)}.post-meta>div{padding:10px 0;border-bottom:1px solid rgba(0,0,0,.2)}.post-meta dd{font-weight:500;font-size:15px}
.post-lead{font-size:19px;color:var(--mute);margin-top:18px}
.prose{line-height:1.8}.prose p{margin-bottom:20px}
.prose h2,.prose h3,.prose h4{margin-top:44px}
.prose img,.pfig img{border:0}.prose img,.pfig{margin:36px 0}
.prose table{font-size:15px}.prose th{background:none;color:var(--ink);border-bottom:2px solid var(--ink);padding-inline:0}.prose td{padding-inline:0;border-bottom:1px solid rgba(0,0,0,.12)}
.prose blockquote{border-inline-start-width:2px;font-weight:400;color:var(--mute)}
.prose ul>li::before{width:5px;height:5px}
.post-cta{border-top:1px solid rgba(0,0,0,.2);padding-top:24px;margin-top:56px}.post-cta a{padding:12px 20px}
body.single-post .sec.s96{padding-bottom:56px}
.toc a{border-bottom-width:1px;border-bottom-color:rgba(0,0,0,.2)}.toc{border-top-width:1px}
.prose .faqs .fq,.faqs>.fq:first-of-type{border-color:rgba(0,0,0,.2)}.fq{border-bottom-width:1px}.faqs>.fq:first-of-type{border-top-width:1px}
.fq summary{font-size:19px;padding:20px 0}.prose .related ul,.prose .related li{border-color:rgba(0,0,0,.2)}.prose .related ul{border-top-width:1px}.prose .related li{border-bottom-width:1px}

.prose ul.cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:0 40px;margin:8px 0 28px;padding-top:6px;border-top:1px solid rgba(0,0,0,.2)}
.prose ul.cols>li{padding:12px 0 12px 22px;border-bottom:1px solid rgba(0,0,0,.12);font-size:17px;line-height:1.4}
.prose ul.cols>li::before{top:21px;width:6px;height:6px}

/* blog post: quieter rhythm, short lists as one row */
.prose{font-size:17px;line-height:1.75;color:#34312f}
.prose p{margin-bottom:14px}
.prose h2,.prose h3,.prose h4{margin-top:40px;margin-bottom:6px;color:var(--ink)}
.prose p+ul.few,.prose p+ul.cols{margin-top:6px}
.prose ul.few{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0 28px;margin:6px 0 20px;padding:0;border-top:1px solid rgba(0,0,0,.2)}
.prose ul.few>li{padding:12px 0;padding-inline-start:0;font-size:16px;font-weight:600;line-height:1.35;color:var(--ink);border-bottom:1px solid rgba(0,0,0,.12)}
.prose ul.few>li::before{display:none}
.prose ul:not(.few):not(.cols)>li{padding:3px 0;padding-inline-start:20px}.prose ul:not(.few):not(.cols)>li::before{top:13px}

/* small images (logos, icons) keep natural size instead of stretching full width */
.prose img.ns-sm{display:inline-block;width:auto;max-width:180px;height:auto;max-height:90px;object-fit:contain;border:0;margin:12px 32px 12px 0;vertical-align:middle}
[dir=rtl] .prose img.ns-sm{margin:12px 0 12px 32px}
.prose figure:has(img.ns-sm),.prose p:has(>img.ns-sm){display:flex;flex-wrap:wrap;align-items:center;margin:16px 0}

/* service and landing pages: no large photos in the body, only the hero image and small logos */
body:not(.single-post):not(.single-portfolio) .prose img.ns-big,body:not(.single-post):not(.single-portfolio) .prose figure:has(img.ns-big),body:not(.single-post):not(.single-portfolio) .prose p:has(>img.ns-big:only-child),body:not(.single-post):not(.single-portfolio) .prose .wp-block-image:has(img.ns-big){display:none}

/* service page: one image in a side column, as in the design */
.svc-split{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:48px;border-top:2px solid var(--ink);padding-top:48px}
.svc-img{height:560px;border:2px solid var(--ink);overflow:hidden;align-self:start}.svc-img img{width:100%;height:100%;object-fit:cover}
.svc-split .prose{max-width:none}
@media(max-width:900px){.svc-split{grid-template-columns:1fr;gap:28px}.svc-img{height:280px;position:static}}

body:not(.single-post):not(.single-portfolio) .prose img{display:none!important}

/* service page (approved layout) */
.h1 .red{color:var(--accent)}
.sv-copy{display:grid;gap:20px;font-size:18px;line-height:1.6;max-width:760px}.sv-copy p{margin:0}
.sv-formula{font-weight:800;font-size:22px;letter-spacing:-.01em;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:16px 0}
.sv-tech{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));border:2px solid var(--ink)}.sv-tech>div{padding:28px 8px;text-align:center;font-weight:800;font-size:18px;letter-spacing:-.01em;border-inline-end:2px solid var(--ink);border-bottom:2px solid var(--ink);margin-bottom:-2px}
.sv-fq{border-bottom:2px solid var(--ink)}.sv-fq summary{display:grid;grid-template-columns:48px 1fr 24px;gap:12px;padding:24px 0;font-size:22px;font-weight:700;list-style:none;cursor:pointer}.sv-fq summary::-webkit-details-marker{display:none}.sv-fq summary .n{color:var(--accent)}.sv-fq summary::after{content:"+";color:var(--accent);border:0;width:auto;height:auto;font-size:22px}.sv-fq[open] summary::after{content:"−"}.sv-fq .fa{padding:0 0 24px 60px;line-height:1.6;max-width:700px;font-size:17px}
details.fq.sv-fq{counter-increment:none}details.fq.sv-fq>summary{display:grid;grid-template-columns:48px minmax(0,1fr) 24px;gap:12px;align-items:start;padding:24px 0;font-size:22px;line-height:1.4;border:0}details.fq.sv-fq>summary::before{content:none;display:none}details.fq.sv-fq>summary>span:nth-child(2){min-width:0;word-break:normal;overflow-wrap:break-word}details.fq.sv-fq>summary::after{grid-column:3;width:auto;height:auto;border:0;background:none;display:block;text-align:center;line-height:1.4}details.fq.sv-fq[open]>summary::after{content:"−";background:none;color:var(--accent)}details.fq.sv-fq .fa{padding:0 0 24px 60px;max-width:700px}
.sv-sechead{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:start}.sv-sechead .h2{margin:0}@media(max-width:900px){.sv-sechead{grid-template-columns:1fr;gap:24px}}
.sv-also{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-inline-start:2px solid var(--ink)}.sv-also a{display:flex;justify-content:space-between;gap:12px;padding:24px;min-height:84px;border-bottom:2px solid var(--ink);border-inline-end:2px solid var(--ink);text-decoration:none;font-size:20px;font-weight:700;letter-spacing:-.01em}.sv-also a:hover{background:#fff;color:var(--accent)}
@media(max-width:900px){.sv-also{grid-template-columns:1fr}details.fq.sv-fq>summary{font-size:18px;grid-template-columns:36px minmax(0,1fr) 20px}details.fq.sv-fq .fa{padding-left:48px}}

/* blog post: final layout, matches the approved Blog design */
body.single-post .post-head{display:block;max-width:1100px;margin-top:40px;grid-template-columns:none;gap:0}
.post-kick{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.post-kick .kick{color:var(--accent-700)}.post-kick span+span{color:#6b6663}
body.single-post .post-head .h1{font-size:clamp(44px,6vw,84px);line-height:.98;letter-spacing:-.035em;font-weight:800}
body.single-post .post-lead{font-size:22px;line-height:1.5;max-width:860px;font-style:italic;margin:24px 0 0}
.post-by{margin-top:20px;font-size:14px;font-weight:600;letter-spacing:.04em}
body.single-post .ph-hero{margin-top:48px;height:440px;border:2px solid var(--ink)}
body.single-post .post-layout{grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:64px}
body.single-post .toc{position:sticky;top:100px;border-top:2px solid var(--ink);padding-top:16px}
body.single-post .toc h4{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-700);margin:0 0 8px}
body.single-post .toc a{display:block;padding:11px 0;border:0;border-bottom:2px solid var(--ink);font-weight:600;font-size:15px;line-height:1.35;color:var(--ink);text-decoration:none}
body.single-post .toc a:hover,body.single-post .toc a.on{color:var(--accent);border-inline-start:0}
body.single-post .prose{max-width:820px;font-size:19px;line-height:1.65}
body.single-post .prose p{margin:0 0 18px;line-height:1.65}
body.single-post .prose h2,body.single-post .prose .faqs h2,body.single-post .prose .related h2{font-size:40px;font-weight:800;letter-spacing:-.03em;line-height:1.1;margin:64px 0 16px;padding:0;border:0}
body.single-post .prose h3{font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.25;margin:36px 0 10px}
body.single-post .prose ul,body.single-post .prose ul.cols,body.single-post .prose ul.few{display:block;margin:20px 0 28px;padding:0;gap:0;border:0;border-top:2px solid var(--ink)}
body.single-post .prose ul li{position:relative;padding:12px 0 12px 32px;border:0;border-bottom:2px solid var(--ink);font-size:19px;line-height:1.55}
body.single-post .prose ul>li::before{content:"";width:14px;height:3px;background:var(--accent);top:27px;inset-inline-start:0}
body.single-post .tldr{border:2px solid var(--ink);padding:28px 32px;margin:0 0 36px}
body.single-post .tldr b{display:block;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-700);margin-bottom:12px}
body.single-post .prose .tldr ul{margin:0;border:0}body.single-post .prose .tldr li{border:0;padding:8px 0 8px 34px}body.single-post .prose .tldr li::before{content:"\2713";width:auto;height:auto;background:none;color:var(--accent);font-weight:800;top:8px;font-size:19px;line-height:1.55}
body.single-post .fq{border-bottom:2px solid var(--ink)}body.single-post .faqs>.fq:first-of-type{border-top:2px solid var(--ink)}
body.single-post .fq summary{font-size:22px;padding:24px 0;line-height:1.4}
body.single-post .fq .fa{font-size:19px;line-height:1.6;padding:0 0 24px 60px;max-width:700px}
body.single-post .prose .related ul{border-top:2px solid var(--ink)}
@media(max-width:900px){body.single-post .post-layout{grid-template-columns:1fr;gap:32px}body.single-post .toc{position:static}body.single-post .prose h2,body.single-post .prose .faqs h2,body.single-post .prose .related h2{font-size:30px}body.single-post .prose h3{font-size:22px}body.single-post .ph-hero{height:260px}body.single-post .fq summary{font-size:18px}body.single-post .fq .fa{padding-left:48px}}

body.single-post .prose table{display:table;width:100%;border:2px solid var(--ink);border-collapse:collapse;font-size:15px;line-height:1.4;margin:20px 0 28px;overflow:visible}body.single-post .prose th{background:var(--ink);color:#f3f2f2;text-align:left;padding:12px 14px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}body.single-post .prose td{padding:12px 14px;border:0;border-top:2px solid var(--ink)}body.single-post .prose td:first-child{font-weight:700}@media(max-width:700px){body.single-post .prose table{display:block;overflow-x:auto}}

body.single-post .post-layout>aside{position:sticky;top:100px;align-self:start}
body.single-post .toc{position:static}
body.single-post .prose ul li{font-size:18px;padding:12px 0 12px 32px}
body.single-post .prose ul>li::before{top:25px}
body.single-post .prose .tldr li{font-size:18px}
@media(max-width:900px){body.single-post .post-layout>aside{position:static}}
body.single-post .tldr{background:#fff}
body.single-post .prose td:nth-child(2){white-space:nowrap}body.single-post .prose th:nth-child(2){white-space:nowrap}
body.single-post .prose table{background:transparent}body.single-post .prose tbody tr:hover td{background:#fff}
body.single-post .prose td{vertical-align:top;font-size:15px;line-height:1.4}
body.single-post .prose tr:first-child td{border-top:2px solid var(--ink)}
body.single-post .tldr b{font-size:12px}

body.single-post .prose h2,body.single-post .prose .faqs h2,body.single-post .prose .related h2{font-size:38px;margin:56px 0 16px}
body.single-post .prose ul li{padding:14px 0 14px 32px}body.single-post .prose ul>li::before{top:29px}
body.single-post .prose ol{margin:20px 0 28px;padding:0;border-top:2px solid var(--ink);counter-reset:li}
body.single-post .prose ol>li{position:relative;padding:14px 0 14px 48px;border:0;border-bottom:2px solid var(--ink);font-size:18px;line-height:1.55;counter-increment:li}
body.single-post .prose ol>li::before{content:counter(li,decimal-leading-zero);position:absolute;inset-inline-start:0;top:14px;font-size:18px;font-weight:800;color:var(--accent);line-height:1.55}
body.single-post .prose .tldr li{padding:8px 0 8px 34px}body.single-post .prose .tldr li::before{top:8px}
@media(max-width:900px){body.single-post .prose h2,body.single-post .prose .faqs h2,body.single-post .prose .related h2{font-size:30px}}

body.single-post .toc a.on{color:var(--ink)}body.single-post .toc a:hover,body.single-post .toc a.on:hover{color:var(--accent)}
body.single-post .prose ul>li::before{width:16px;height:2px;top:30px}
body.single-post .prose .tldr li::before{width:auto;height:auto;top:8px}

body.single-post .prose ul:not(.few):not(.cols)>li{padding:14px 0 14px 32px;font-size:18px;line-height:1.55;font-weight:400}
body.single-post .prose ul:not(.few):not(.cols)>li::before{display:block;content:"";width:16px;height:2px;background:var(--accent);top:30px;inset-inline-start:0}
body.single-post .prose .tldr ul:not(.few):not(.cols)>li{padding:8px 0 8px 34px;border:0}
body.single-post .prose .tldr ul:not(.few):not(.cols)>li::before{content:"\2713";width:auto;height:auto;background:none;color:var(--accent);font-weight:800;font-size:18px;line-height:1.55;top:8px}
body.single-post .prose .related ul:not(.few):not(.cols)>li{padding:12px 0 12px 0;font-size:19px;font-weight:600}body.single-post .prose .related ul>li::before{display:none}
body.single-post .post-head .h1{font-size:clamp(40px,5.4vw,76px);line-height:1;letter-spacing:-.035em;font-weight:800;margin:16px 0 0}
body.single-post .post-kick{font-size:13px}
@media(max-width:700px){body.single-post .post-head .h1{font-size:clamp(34px,9vw,44px)}}
.sv-sechead.sechead{margin-bottom:0;padding-bottom:20px}
.post-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:40px}.post-tags span{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-700);margin-inline-end:8px}.post-tags a{border:2px solid var(--ink);padding:6px 12px;font-size:14px;font-weight:600;text-decoration:none;color:var(--ink)}.post-tags a:hover{background:var(--ink);color:#fff}

/* mega menu: anchored to the header bar so it never leaves the screen (English and Arabic) */
.hdr .wrap{position:relative}
.hdr .dd{position:static}
.hdr .mega{inset-inline-start:auto;inset-inline-end:20px;top:100%;width:min(880px,calc(100vw - 40px));max-height:calc(100vh - 140px);overflow:auto}
.hdr .mega>div{min-width:0}
body{overflow-x:clip}
img,video,iframe{max-width:100%}
img{height:auto}
.prose,.sv-copy,.post-head,.row>*,.boxg>*,.cells>*{min-width:0;overflow-wrap:anywhere}
@media(max-width:1100px){.hdr .mega{position:static;width:auto;max-height:none;overflow:visible;inset-inline-end:auto}.hdr .dd{position:relative}}
@media(max-width:700px){.topbar .wrap{gap:8px}.topbar .l span:first-child{display:none}.h1{overflow-wrap:anywhere}.btns{flex-wrap:wrap}.sv-tech{grid-template-columns:repeat(2,1fr)}.sv-also a{padding:18px}body.single-post .prose table{display:block;overflow-x:auto}.post-cta{padding-top:20px}}

@media(max-width:760px){
.cells:has(>.ind){grid-template-columns:repeat(2,minmax(0,1fr))}
.cells>.ind{padding:16px;min-height:130px!important;gap:16px!important}
.ind .nn,.ind .top>.nn{display:none}
.ind .top{justify-content:flex-start}
.ind .t{font-size:17px!important}
.ind .circ{width:26px;height:26px}.mark{width:40px;height:40px}.mark .ic{left:6px;top:6px}
}

@media(max-width:760px){
.cells:has(>.sup){grid-template-columns:repeat(2,minmax(0,1fr))}
.cells>.sup{padding:16px;min-height:96px}
.sup .n{display:none}
.sup .t{font-size:16px;line-height:1.25}
}

/* mobile menu: full-width drawer with every link, contact details and the accordion for Services */
.m-only,.nav-m{display:none}
@media(max-width:1100px){
.hdr .wrap{position:static}
.hdr{position:sticky}
.nav{position:fixed;top:76px;left:0;right:0;bottom:0;inset-inline:0;overflow-y:auto;padding:8px 20px 40px;background:var(--bg);border-top:2px solid var(--ink);z-index:49;flex-direction:column;align-items:stretch;justify-content:flex-start;height:auto;white-space:normal}
.nav.open{display:flex}
.nav>a,.nav>.dd>a{display:flex;align-items:center;justify-content:space-between;height:auto;min-height:60px;padding:0 4px;border-bottom:2px solid var(--ink);font-size:17px;font-weight:700;letter-spacing:.02em;box-shadow:none}
.nav>a.on,.nav>.dd.on>a{color:var(--accent);box-shadow:none}
.nav>a.cta{margin:20px 0 0;padding:0 20px;background:var(--ink);color:#fff;border:0;min-height:60px}
.nav .dd{position:static}
.nav .dd>a::after{content:"+";font-size:24px;font-weight:400;color:var(--accent)}.nav .dd.open>a::after{content:"\2212"}
.hdr .mega,.nav .mega{position:static;width:auto;max-height:none;overflow:visible;display:none;grid-template-columns:1fr 1fr;gap:0 24px;border:0;padding:8px 0 16px;background:transparent}
.dd.open .mega{display:grid}
.mega h4{grid-column:1/-1;margin:16px 0 4px}
.mega a{padding:12px 0;font-size:15px}
.m-only{display:flex}
.nav-m{display:grid;gap:0;margin-top:24px;border-top:2px solid var(--ink)}
.nav-m a{display:flex;align-items:center;justify-content:space-between;min-height:56px;border-bottom:2px solid var(--ink);text-decoration:none;font-weight:600;font-size:16px;padding:0 4px}
.nav-m a.wa{background:#25d366;color:#08210f;border:0;padding:0 16px;margin-top:12px;font-weight:700}
body.rtl .nav-m a,body.rtl .nav>a{flex-direction:row-reverse}
}
@media(max-width:560px){.mega,.hdr .mega,.nav .mega{grid-template-columns:1fr}}
@media(max-width:760px){.cells.c4{grid-template-columns:repeat(2,minmax(0,1fr))}.cells.c4>.sup{padding:16px;min-height:96px}.cells.c4>.sup .n{display:none}.sup .t{font-size:16px;line-height:1.25}}

@media(max-width:760px){
.boxg.bil{grid-template-columns:1fr!important}
.boxg.bil>div:first-child{padding:28px 20px!important}
.boxg.bil>div:first-child>div:first-child{font-size:clamp(56px,20vw,84px)!important}
.boxg.bil>div:last-child>div{padding:24px 20px!important}
.boxg.bil>div:last-child>div>div:nth-child(2){font-size:24px!important}
.boxg.bil>*+*{border-inline-start:0;border-top:var(--line)}
}

@media(max-width:760px){
.home-posts{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px 14px!important}
.home-posts>a:nth-child(n+3){display:none}
.home-posts .t{font-size:17px;line-height:1.2}
.home-posts .k{font-size:11px}
.home-posts .im{aspect-ratio:4/3}
.home-posts .im img{width:100%;height:100%;object-fit:cover}
.home-posts p{display:none}
}

@media(max-width:760px){
.calc-row{grid-template-columns:1fr!important;gap:28px!important}
.calc .hd{flex-direction:column;gap:4px;padding:14px 16px;font-size:12px}
.calc .bd{padding:20px 16px}
.calc h3{font-size:22px;line-height:1.2;margin-bottom:16px}
.calc .opts{grid-template-columns:repeat(2,minmax(0,1fr))}
.calc .opts button{padding:16px 12px;font-size:15px;line-height:1.25;min-height:64px}
.calc .res{font-size:clamp(34px,11vw,48px)}
.calc .btn,.calc .btns a{width:100%;text-align:start}
}

@media(max-width:760px){
.sec,.sec.s96{padding-top:56px}
.ctaband{margin-top:56px;padding:56px 0}
.ctaband .h2{font-size:32px}
.ctaband .lead{margin-bottom:20px}
.ft .top{padding:48px 0 40px}
.ft .cols>div{padding:24px 20px}
.sechead{margin-bottom:24px;padding-bottom:14px}
.row{gap:20px}
section.wrap+section.wrap{margin-top:0}
}

@media(max-width:760px){
.ft .cols{grid-template-columns:repeat(2,minmax(0,1fr))}
.ft .cols>div:first-child{grid-column:1/-1}
.ft .cols>div{padding:20px 16px;min-width:0;overflow-wrap:anywhere}
.ft .cols ul{gap:8px}
.ft .cols li a{font-size:15px}
.ft .cols h4{margin-bottom:12px}
}

@media(max-width:760px){
.ft .bot{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px}
.ft .bot ul{justify-content:center;flex-wrap:wrap}
}

html{overflow-x:hidden;max-width:100%}
body{max-width:100%;overflow-x:clip}
.wrap,.hdr .wrap{max-width:var(--w);box-sizing:border-box}
@media(max-width:760px){
.contact-row{grid-template-columns:1fr!important;gap:28px!important}
.boxg.quotes{grid-template-columns:1fr!important}.boxg.quotes .quote{padding:24px!important}
.home-posts{gap:24px 16px!important}
.home-posts .im{border-width:2px}
.wrap{padding-left:20px;padding-right:20px}
*{min-width:0}
.btn,.btns a{max-width:100%}
.h2,.h1{overflow-wrap:break-word;hyphens:auto}
.slide,.hero{max-width:100vw;overflow:hidden}
}

@media(max-width:760px){
.boxg.c4:has(>.step){grid-template-columns:repeat(2,minmax(0,1fr))!important;border-inline-start:var(--line)!important;border-inline-end:0!important}
.boxg.c4>.step{border-inline-start:0!important;border-inline-end:var(--line)!important;border-bottom:var(--line)!important;border-top:0!important;padding:20px 16px!important;min-height:0!important}
.boxg.c4>.step .n{font-size:32px}
.boxg.c4>.step .t{font-size:18px}
.boxg.c4>.step>div:last-child{font-size:14px}
}

.wa-float{display:grid!important;visibility:visible!important;opacity:1!important}
@media(max-width:700px){
.wa-float{width:58px;height:58px;inset-inline-end:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:9999;box-shadow:0 8px 22px rgba(0,0,0,.35)}
.wa-float::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25d366;animation:waPulse 2.4s ease-out infinite;pointer-events:none}
}
@keyframes waPulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.5);opacity:0}}

@media(max-width:760px){
.boxg.c4:has(>.cap){grid-template-columns:repeat(2,minmax(0,1fr))!important}
.boxg.c4>.cap{min-height:0;padding:18px 14px;border-top:0!important;border-inline-start:0!important}
.boxg.c4>.cap:nth-child(odd){border-inline-end:var(--line)}
.boxg.c4>.cap:nth-child(n+3){border-top:var(--line)!important}
.boxg.c4>.cap .n{font-size:30px}
.boxg.c4>.cap h3{font-size:17px;margin:12px 0 8px;line-height:1.15}
.boxg.c4>.cap p{font-size:13.5px;line-height:1.45}
}

@media(max-width:760px){
.logo{gap:9px}
.logo .mk{padding-top:8px}.logo .mk img{height:46px}
.logo .mk i{top:20px;inset-inline-end:-7px;width:7px;height:7px}
.logo .tx{display:flex;height:46px;margin-top:8px;justify-content:space-between}
.logo b{font-size:27px}
.logo small{display:block;font-size:6.5px;letter-spacing:.12em;line-height:1.3;white-space:nowrap}
}
@media(max-width:360px){.logo b{font-size:24px}.logo small{font-size:5.8px}}

@media(max-width:760px){
.work,.work.work-8{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px 14px!important}
.work .im,.work-8 .im{height:auto!important;aspect-ratio:4/3}
.work .tt,.work-8 .tt{font-size:15px!important;line-height:1.25}
.work .kk{font-size:11px;margin-top:4px}
.work .cap2,.work-8 .cap2{padding:10px 0;min-height:0!important;gap:8px}
.work .cap2 span:last-child{font-size:16px}
}

@media(max-width:760px){
.work-8>*:nth-child(n+5){display:none}
}

@media(max-width:760px){
.cells:has(>.div-card){grid-template-columns:repeat(2,minmax(0,1fr))!important}
.cells:has(>.div-card)>*:first-child{grid-column:1/-1;padding:24px 20px!important;font-size:17px!important;display:block!important}
.div-card{min-height:0;padding:16px 14px;gap:14px}
.div-card .kick{display:none}
.div-card h3{font-size:18px;margin:0 0 10px}
.div-card li{padding:7px 0;font-size:13px}
.div-card .go{font-size:13px}
.div-card:last-child:nth-child(even){grid-column:1/-1}
}
