html{background:#F8F7F1;color-scheme:light}body{background:#F8F7F1}
#rqov{position:fixed;inset:0;z-index:2000;background:rgba(7,48,31,.55);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .3s}
#rqov[hidden]{display:none!important}
#rqov.on{opacity:1}
.rqbox{background:#fff;width:min(860px,100%);max-height:92vh;overflow:auto;position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);box-shadow:0 40px 90px -40px rgba(7,48,31,.55);transform:translateY(16px);transition:transform .35s var(--e)}
#rqov.on .rqbox{transform:none}
.rqx{position:absolute;top:10px;right:14px;z-index:2;font-size:26px;line-height:1;color:var(--faint);cursor:pointer;background:none;border:0;transition:color .25s}
.rqx:hover{color:var(--ink)}
[dir=rtl] .rqx{right:auto;left:14px}
.rqside{background:var(--grn-d);color:#fff;padding:clamp(24px,3.6vw,40px);display:flex;flex-direction:column;gap:18px}
.rqeye{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--mint)}
[dir=rtl] .rqeye{letter-spacing:0;font-size:12px}
.rqdoc{padding:16px 18px;background:rgba(255,255,255,.07);border-left:3px solid var(--mint)}
[dir=rtl] .rqdoc{border-left:0;border-right:3px solid var(--mint)}
.rqdoc .rqcat{display:block;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mint)}
[dir=rtl] .rqdoc .rqcat{letter-spacing:0}
.rqdoc h3{font-size:clamp(17px,2vw,22px);font-weight:800;letter-spacing:-.014em;line-height:1.3;margin-top:6px;color:#fff}
.rqnote{font-size:13px;line-height:1.75;color:rgba(255,255,255,.65)}
.rqlogo{width:112px;height:auto;margin-top:auto;opacity:.9}
.rqmain{padding:clamp(22px,3.4vw,38px)}
#rqform .obtn{margin-top:8px}
#rqdone{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:clamp(18px,3vw,30px) 6px}
#rqdone[hidden]{display:none}
#rqdone .ck{width:54px;height:54px;color:var(--grn)}
#rqdone h3{font-weight:800;font-size:clamp(18px,2vw,22px);letter-spacing:-.014em;color:var(--ink)}
#rqdone #rqd-line{font-size:14px;line-height:1.85;color:#39423C;max-width:44ch}
#rqdone .rqd-sub{font-size:12.5px;line-height:1.8;color:var(--faint);max-width:44ch}
@media(max-width:720px){
  .rqbox{grid-template-columns:1fr}
  .rqside{gap:12px;padding:20px 22px}
  .rqlogo{display:none}
  .rqmain{padding:20px 22px}
}

@media(max-width:920px){.ihero .hph img{object-position:center 28%}}

:root{
  --paper:#FFFFFF; --panel:#F3F5F3; --ink:#171E1A; --mid:#535D56; --faint:#7C857E;
  --grn:#0E5B3A; --grn-d:#0A3F29; --deep:#0A3F29; --deeper:#07301F; --mint:#BFE3CF;
  --hair:#E1E6E1; --hair-d:rgba(255,255,255,.22);
  --sans:'Libre Franklin',Arial,sans-serif; --serif:'Source Serif 4',Georgia,serif;
  --e:cubic-bezier(.25,.6,.2,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);font-size:15.5px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:var(--grn);color:#fff}
.wrap{max-width:1280px;margin:0 auto;padding-left:clamp(20px,4.5vw,60px);padding-right:clamp(20px,4.5vw,60px)}
.sec{padding-top:clamp(56px,7vw,104px);padding-bottom:clamp(56px,7vw,104px)}

.eyebrow,.meta,.cl-cap,.pn,.rn,.cat,.yr,.crumb,.ft h6,.fcov h6,.pull .who,.lead .role,.fld label,.num{
  font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--grn)}
.meta{color:rgba(255,255,255,.8);font-size:10.5px}
.cl-cap{color:var(--faint);text-align:center;letter-spacing:.2em;margin-bottom:clamp(24px,3.2vw,36px)}

.h-hero{font-weight:800;font-size:clamp(32px,4.8vw,60px);line-height:1.06;letter-spacing:-.022em;color:#fff}
.h-hero .ln{display:block}
.h-hero .ol{color:var(--mint)}
.h-hero .tealdot{color:var(--mint)}
.pdot{display:inline-block;width:.13em;height:.13em;border-radius:50%;background:currentColor;margin-left:.07em;vertical-align:baseline}
[dir=rtl] .pdot{margin-left:0;margin-right:.07em}
.pdot.mint{background:var(--mint)}
.liline{display:inline-flex;align-items:center;gap:10px;margin-top:12px;font-size:13.5px;color:var(--mid);transition:color .25s}
.liline:hover{color:var(--grn-d)}
.liline .liicon{width:18px;height:18px;color:var(--grn);flex:none}
.liline.libox{margin-top:14px;width:42px;height:42px;justify-content:center;border:1px solid var(--hair);color:var(--grn);transition:border-color .25s,color .25s,background .25s}
.liline.libox .liicon{width:20px;height:20px}
.liline.libox:hover{border-color:var(--grn);background:var(--grn);color:#fff}
.liline.libox:hover .liicon{color:#fff}
.fnote.ferr{color:#B4443C}
.fld input.err,.fld textarea.err,.fld select.err{border-color:#B4443C}
.h-big{font-weight:800;font-size:clamp(26px,3.2vw,42px);line-height:1.12;letter-spacing:-.02em}
.h-med{font-weight:700;font-size:clamp(19px,2.1vw,27px);line-height:1.25;letter-spacing:-.012em}
.it{font-style:normal;color:var(--grn)}
.on-dark .it,.hero .it{color:var(--mint)}
.hsub{font-family:var(--serif);font-style:italic;font-size:clamp(15.5px,1.6vw,19px);color:rgba(255,255,255,.85);margin-top:14px}
.hsub em{color:var(--mint);font-style:italic}
.stand{font-size:clamp(15.5px,1.6vw,18.5px);line-height:1.7;color:var(--mid);font-weight:400}
.body-c{font-size:15.5px;line-height:1.85;color:#39423C}
.small{font-size:13.5px;line-height:1.8;color:var(--mid)}
.h-item{font-weight:700;font-size:clamp(16px,1.7vw,19.5px);letter-spacing:-.01em;transition:color .25s}

#hd{position:fixed;top:0;left:0;right:0;z-index:900;background:transparent;border-bottom:1px solid transparent;transition:background .35s,border-color .35s,box-shadow .35s}
#hd.solid{background:#fff;border-bottom-color:var(--hair);box-shadow:0 6px 24px -18px rgba(23,30,26,.25)}
.nav-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 clamp(14px,2.2vw,34px);height:34px;font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55);border-bottom:1px solid rgba(255,255,255,.14);overflow:hidden;transition:height .35s var(--e),opacity .3s,color .35s,border-color .35s}
[dir=rtl] .nav-top{letter-spacing:.02em;font-size:11px}
.nav-top .nt-li{display:inline-flex;color:inherit;transition:color .25s}
.nav-top .nt-li svg{width:13px;height:13px}
.nav-top .nt-li:hover{color:var(--mint)}
#hd.solid .nav-top{color:var(--faint);border-bottom-color:var(--hair)}
#hd.solid .nav-top .nt-li:hover{color:var(--grn-d)}
#hd.shrunk .nav-top{height:0;opacity:0;border-bottom-color:transparent}
@media(max-width:980px){.nav-top{display:none}}
.nav{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 clamp(14px,2.2vw,34px);height:76px}
.logo img{height:36px;width:auto;transition:filter .35s}
#hd.solid .logo img{filter:brightness(0) saturate(100%) invert(24%) sepia(56%) saturate(640%) hue-rotate(118deg) brightness(94%) contrast(92%)}
.nl{display:flex;align-items:center;gap:clamp(14px,2vw,30px);height:100%}
.nl>div{height:100%;display:flex;align-items:center}
.ntop{position:relative;display:flex;align-items:center;height:100%;font-size:13px;font-weight:600;letter-spacing:.02em;color:rgba(255,255,255,.9);transition:color .25s}
#hd.solid .ntop{color:var(--ink)}
.ntop::after{content:"";position:absolute;left:0;right:100%;bottom:22px;height:2px;background:var(--mint);transition:right .3s var(--e)}
.ntop:hover::after,.ntop.active::after{right:0}
#hd.solid .ntop::after{background:var(--grn)}
.ntop:hover,.ntop.active{color:#fff}
#hd.solid .ntop:hover,#hd.solid .ntop.active{color:var(--grn-d)}
.car{font-size:8px;opacity:.6}
[data-dd]{position:relative}
.panel{position:absolute;top:100%;left:50%;transform:translate(-50%,6px);min-width:420px;background:#fff;border:1px solid var(--hair);border-top:3px solid var(--grn);box-shadow:0 18px 40px -18px rgba(23,30,26,.18);padding:8px;opacity:0;visibility:hidden;transition:opacity .25s,transform .25s var(--e)}
[data-dd].open .panel{opacity:1;visibility:visible;transform:translate(-50%,0)}
.panel a{position:relative;display:block;padding:12px 14px;transition:background .2s,padding .25s var(--e)}
.panel a::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:2px;background:var(--grn);transform:scaleY(0);transform-origin:top;transition:transform .25s var(--e)}
[dir=rtl] .panel a::before{left:auto;right:0}
.panel a:hover{background:var(--panel);padding-left:20px}
[dir=rtl] .panel a:hover{padding-left:14px;padding-right:20px}
.panel a:hover::before{transform:scaleY(1)}
.panel a b{display:block;font-weight:700;font-size:14.5px;transition:color .2s}
.panel a:hover b{color:var(--grn-d)}
.panel a .d{display:block;font-size:12.5px;color:var(--mid);margin-top:2px}
.mbtn{display:none;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff;border:1px solid rgba(255,255,255,.7);padding:8px 14px;transition:color .3s,border-color .3s}
#hd.solid .mbtn{color:var(--ink);border-color:var(--ink)}
body.lock .mbtn{color:var(--ink);border-color:var(--ink)}
.movl{position:fixed;inset:0;background:#fff;z-index:850;display:flex;flex-direction:column;justify-content:center;padding:90px clamp(24px,7vw,60px) 40px;gap:2px;opacity:0;visibility:hidden;transition:opacity .3s}
.movl.open{opacity:1;visibility:visible}
.movl a,.movl .sml{font-size:clamp(20px,5vw,28px);font-weight:700;letter-spacing:-.015em;padding:10px 0;border-bottom:1px solid var(--hair);display:block}
.movl .n{font-size:10px;letter-spacing:.2em;color:var(--grn);margin-right:12px}
.movl .sml{font-size:14px;font-weight:500;color:var(--mid);padding-left:40px;border-bottom:0}
#langbtn-m{font-size:14px!important;letter-spacing:.1em}

.hero{position:relative;height:100vh;height:100svh;min-height:560px;display:flex;align-items:flex-end;background:var(--deeper);overflow:hidden}
.hph{position:absolute;inset:0}
.hph img{width:100%;height:100%;object-fit:cover;opacity:.72}
img[src*="unsplash"],img[src*="pexels"],img.umono{filter:grayscale(1) contrast(1.04)}
.hph video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s var(--e)}
.hph video.on{opacity:.72}
#hero .hph img,#hero .hph video.on{opacity:.82}
#hero .hph img,#hero .hph video{animation:kburns 30s var(--e) infinite alternate;will-change:transform;filter:grayscale(1) contrast(1.06)}
@keyframes kburns{from{transform:scale(1)}to{transform:scale(1.07)}}
.reduced #hero .hph img,.reduced #hero .hph video{animation:none}
.scue{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:9px;color:rgba(255,255,255,.6);font-size:9.5px;font-weight:700;letter-spacing:.32em;text-transform:uppercase;pointer-events:none}
[dir=rtl] .scue{letter-spacing:.08em;font-size:11px}
.scue i{width:1px;height:46px;display:block;background:linear-gradient(180deg,var(--mint),transparent);animation:scue 2.4s var(--e) infinite}
@keyframes scue{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.reduced .scue i{animation:none}
@media(max-height:700px){.scue{display:none}}
.hero .hph::after{content:"";position:absolute;inset:0;background:linear-gradient(5deg,rgba(7,48,31,.96) 10%,rgba(7,48,31,.6) 48%,rgba(7,48,31,.22))}
.hero .wrap{position:relative;z-index:2;width:100%;padding-top:110px;padding-bottom:clamp(86px,11vh,128px)}
.hero .under{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-top:clamp(22px,3.2vh,36px);flex-wrap:wrap}
.hero .under .stand{max-width:54ch;color:rgba(255,255,255,.85)}
.h-cta{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.hero .rv,.hero .d1,.hero .d2,.hero .d3{opacity:0;transform:translateY(12px);transition:opacity .8s var(--e),transform .8s var(--e)}
.hero.play .rv,.hero.play .d1,.hero.play .d2,.hero.play .d3{opacity:1;transform:none}
.hero.play .d1{transition-delay:.1s}.hero.play .d2{transition-delay:.18s}.hero.play .d3{transition-delay:.26s}

.ihero{position:relative;background:var(--deep);color:#fff;overflow:hidden}
.ihero .hph img{opacity:.38}
.ihero .hph::after{content:"";position:absolute;inset:0;background:linear-gradient(95deg,rgba(10,63,41,.97) 32%,rgba(10,63,41,.82) 60%,rgba(10,63,41,.55))}
.ihero .wrap{position:relative;z-index:2;padding-top:clamp(120px,15vh,150px);padding-bottom:clamp(38px,5vw,64px)}
.ihero .h-big{color:#fff;max-width:24ch;margin-top:16px}
.ihero .stand{color:rgba(255,255,255,.85);max-width:58ch;margin-top:14px}
.crumb{display:flex;gap:10px;align-items:center;color:rgba(255,255,255,.65)}
.crumb a:hover{color:#fff}

.obtn{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:14px 26px;background:var(--grn);color:#fff;border:1px solid var(--grn);transition:background .3s,border-color .3s}
.obtn:hover{background:var(--grn-d);border-color:var(--grn-d)}
.on-dark .obtn,.hero .obtn{background:#fff;color:var(--grn-d);border-color:#fff}
.on-dark .obtn:hover,.hero .obtn:hover{background:var(--mint);border-color:var(--mint)}
.tlink{display:inline-flex;gap:8px;align-items:center;font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--grn-d)}
.on-dark .tlink,.hero .tlink{color:#fff}
.tlink .lnw{border-bottom:1px solid transparent;transition:border-color .3s}
.tlink:hover .lnw{border-color:currentColor}
.tlink .arw,.row .arw{color:var(--grn);transition:transform .3s var(--e)}
.on-dark .tlink .arw{color:var(--mint)}
.tlink:hover .arw{transform:translateX(5px)}

.clients{padding:clamp(36px,5vw,56px) 0;border-bottom:1px solid var(--hair);background:#fff}
.lg-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(10px,1.5vw,16px);align-items:stretch;max-width:1180px;margin:0 auto;padding:0 clamp(20px,4.5vw,60px);direction:ltr}
.lg-grid img{width:100%;height:clamp(74px,8.4vw,100px);object-fit:contain;background:#F6F8F7;border:1px solid var(--hair);padding:clamp(12px,1.6vw,18px) clamp(14px,2vw,24px);filter:grayscale(1) opacity(.62);transition:filter .35s,border-color .35s,background .35s}
.lg-grid img:hover{filter:none;border-color:var(--grn);background:#fff}
@media(max-width:900px){.lg-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:540px){.lg-grid{grid-template-columns:repeat(3,1fr);gap:8px}.lg-grid img{height:66px;padding:10px 12px}}

.gridx{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(20px,3.2vw,48px)}
.c-span5{grid-column:span 5}.c-span6{grid-column:span 6}.c-span7{grid-column:span 7}
@media(max-width:900px){.c-span5,.c-span6,.c-span7{grid-column:span 12}}

.stack{margin-top:clamp(30px,4.5vw,48px);display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,28px)}
.card{position:static;display:flex;flex-direction:column;background:#fff;border:1px solid var(--hair);border-top:3px solid var(--grn);transition:box-shadow .3s,transform .3s var(--e)}
.card:hover{box-shadow:0 22px 44px -24px rgba(23,30,26,.22);transform:translateY(-4px)}
.card .cimg{position:relative;height:170px;overflow:hidden;order:-1}
.card .cimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--e)}
.card:hover .cimg img{transform:scale(1.04)}
.card .cimg::after{content:"";position:absolute;inset:0;background:rgba(10,63,41,.1)}
.card .cin{padding:clamp(18px,2.4vw,28px);display:flex;flex-direction:column;gap:10px;flex:1}
.card .pt{font-weight:800;font-size:clamp(17px,1.9vw,21px);line-height:1.2;letter-spacing:-.015em;transition:color .25s}
.card:hover .pt{color:var(--grn-d)}
.card .pd{font-size:13.5px;line-height:1.75;color:var(--mid);flex:1}
.card .tlink{margin-top:4px}
@media(max-width:860px){.stack{grid-template-columns:1fr}}

.navy-s{background:var(--deep);color:#fff}
.navy-s .h-big,.navy-s .h-med,.on-dark .h-item{color:#fff}
.on-dark .stand,.on-dark .body-c{color:rgba(255,255,255,.85)}
.on-dark .small{color:rgba(255,255,255,.62)}
.on-dark .eyebrow{color:var(--mint)}


.rows{border-top:1px solid var(--hair)}
.row{display:grid;grid-template-columns:56px minmax(0,1fr) 36px;gap:clamp(12px,2.2vw,26px);align-items:center;padding:clamp(18px,2.4vw,26px) 0;border-bottom:1px solid var(--hair)}
.row.nonum{grid-template-columns:minmax(0,1fr) 36px}
.vals .row{position:relative;transition:background .3s,padding .35s var(--e)}
.vals .row::before{content:"";position:absolute;left:0;top:0;bottom:-1px;width:3px;background:var(--grn);transform:scaleY(0);transform-origin:top;transition:transform .35s var(--e)}
[dir=rtl] .vals .row::before{left:auto;right:0}
.vals .row:hover{background:var(--panel);padding-left:20px}
[dir=rtl] .vals .row:hover{padding-left:0;padding-right:20px}
.vals .row:hover::before{transform:scaleY(1)}
.vals .row .num{transition:color .3s,transform .35s var(--e)}
.vals .row:hover .num{color:var(--grn);transform:scale(1.18)}
.vals .row .h-item{transition:color .3s}
.vals .row:hover .h-item{color:var(--grn-d)}
.row .desc{margin-top:5px;max-width:68ch}
a.row:hover .h-item{color:var(--grn-d)}
a.row:hover .arw{transform:translateX(5px)}
.irow{display:grid;grid-template-columns:clamp(92px,11vw,140px) minmax(0,1fr) auto;gap:clamp(12px,2.2vw,26px);align-items:baseline;padding:clamp(15px,2vw,22px) 0;border-bottom:1px solid var(--hair);transition:background .25s}
.irow:hover{background:var(--panel)}
a.irow:hover .h-item{color:var(--grn-d)}
.irow.hidden{display:none}
.yr{color:var(--faint)}
.dl{display:grid;grid-template-columns:1fr 1fr 1fr;gap:clamp(16px,2.4vw,28px)}
.dl>div{border-top:3px solid var(--hair);padding-top:16px;transition:border-color .3s}
.dl>div:hover{border-top-color:var(--grn)}
.dl h4{font-weight:700;font-size:15.5px;margin-bottom:7px;letter-spacing:-.01em}
@media(max-width:980px){.dl{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.dl{grid-template-columns:1fr}}

.filters{display:flex;gap:clamp(12px,2vw,26px);border-bottom:1px solid var(--hair);margin-bottom:clamp(20px,3vw,34px);flex-wrap:wrap}
.filters button{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);padding:0 0 12px;border-bottom:3px solid transparent;margin-bottom:-1px;transition:color .25s,border-color .25s}
.filters button:hover{color:var(--ink)}
.filters button.on{color:var(--grn-d);border-color:var(--grn)}

.twrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(26px,4.5vw,72px);align-items:start;margin-top:clamp(24px,3.4vw,36px)}
.tnav{display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,.16)}
.tnav button{position:relative;text-align:left;padding:14px 2px 14px 16px;border-bottom:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.5);cursor:pointer;transition:color .25s}
[dir=rtl] .tnav button{text-align:right;padding:14px 16px 14px 2px}
.tnav button::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:2px;background:transparent;transition:background .3s}
[dir=rtl] .tnav button::before{left:auto;right:0}
.tnav button .tr1{display:block;font-size:13.5px;font-weight:700;letter-spacing:-.005em}
.tnav button .tr2{display:block;margin-top:3px;font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.35);transition:color .3s}
[dir=rtl] .tnav button .tr2{letter-spacing:0;font-size:12px}
.tnav button:hover{color:rgba(255,255,255,.85)}
.tnav button.on{color:#fff}
.tnav button.on::before{background:var(--mint)}
.tnav button.on .tr2{color:var(--mint)}
.tpane{position:relative;padding-top:clamp(30px,4vw,44px)}
.tpane .tq{position:absolute;top:-12px;left:-6px;font-size:clamp(90px,10vw,140px);font-weight:800;line-height:1;color:rgba(191,227,207,.14);pointer-events:none;user-select:none}
[dir=rtl] .tpane .tq{left:auto;right:-6px}
.tslides{display:grid}
.tslide{grid-area:1/1;opacity:0;transform:translateY(10px);transition:opacity .55s var(--e),transform .55s var(--e);pointer-events:none}
.tslide.on{opacity:1;transform:none;pointer-events:auto}
.tslide .q{font-weight:600;font-size:clamp(17px,2.1vw,26px);line-height:1.62;letter-spacing:-.012em;color:#fff;max-width:58ch}
.tslide .q b{font-weight:700;color:var(--mint)}
[dir=rtl] .tslide .q{letter-spacing:0;line-height:1.85;font-weight:500}
@media(max-width:840px){.twrap{grid-template-columns:1fr;gap:22px}.tpane{padding-top:36px}}
.epi{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:clamp(36px,5vw,60px) clamp(20px,4.5vw,60px);text-align:center;background:var(--panel)}
.epi .q{font-family:var(--serif);font-style:italic;font-size:clamp(17px,2.1vw,25px);line-height:1.6;max-width:38ch;margin:0 auto}
.epi .q b{font-weight:500;color:var(--grn-d)}

.qa{border-bottom:1px solid var(--hair)}
.qa:first-child{border-top:1px solid var(--hair)}
.qa button.q{width:100%;text-align:left;padding:20px 48px 20px 0;font-weight:700;font-size:clamp(15px,1.7vw,18px);letter-spacing:-.01em;position:relative;transition:color .25s}
.qa button.q::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:19px;font-weight:300;color:var(--grn);transition:transform .3s var(--e)}
.qa.open button.q::after{transform:translateY(-50%) rotate(45deg)}
.qa button.q:hover{color:var(--grn-d)}
.qa .a{max-height:0;overflow:hidden;transition:max-height .45s var(--e)}
.qa .a .small{padding:0 0 20px;max-width:74ch}

.leads{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3.2vw,44px);margin-top:clamp(26px,4vw,44px)}
.lead .ph{aspect-ratio:6/5}
.lead .l-in{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding-top:14px;border-top:3px solid var(--mint);margin-top:14px}
.lead h4{font-weight:700;font-size:17px;color:#fff}
.lead .role{margin-top:4px;color:var(--mint)}
.lead .li{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6);transition:color .25s}
.lead .li:hover{color:#fff}
@media(max-width:700px){.leads{grid-template-columns:1fr}}

.ph{position:relative;overflow:hidden;background:var(--panel)}
.ph img{width:100%;height:100%;object-fit:cover}
.ph::after{content:"";position:absolute;inset:0;background:rgba(10,63,41,.06)}

.fld{margin-bottom:20px}
.fld2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:640px){.fld2{grid-template-columns:1fr}}
.fld label{display:block;margin-bottom:7px}
.fld input,.fld select,.fld textarea{width:100%;font-family:var(--sans);font-size:15px;color:var(--ink);background:#fff;border:1px solid var(--hair);padding:12px 14px;border-radius:0;transition:border-color .25s;-webkit-appearance:none;appearance:none}
.fld select{background-image:linear-gradient(45deg,transparent 50%,var(--mid) 50%),linear-gradient(135deg,var(--mid) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px}
[dir=rtl] .fld select{background-position:18px 50%,13px 50%;padding-right:14px;padding-left:36px}
.fld textarea{min-height:110px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--grn)}
.phrow{display:flex;gap:10px}
.fld .phrow select{flex:0 0 auto;width:auto;min-width:150px;max-width:52%}
.fld .phrow input{flex:1 1 0;width:auto;min-width:0}
[dir=rtl] .fld .phrow input{direction:ltr;text-align:right}
select,option{background-color:#fff;color:var(--ink)}
.fld input:-webkit-autofill,.fld input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);-webkit-box-shadow:0 0 0 60px #fff inset;caret-color:var(--ink)}
.fnote{opacity:0;transition:opacity .35s;color:var(--grn-d);margin-top:12px;font-size:13.5px;font-weight:600}
#cgrid{align-items:start}

.cta-x{text-align:left}
.cta-x .h-big{max-width:26ch}
.cta-x .btns{display:flex;gap:16px;flex-wrap:wrap;margin-top:clamp(28px,4vw,44px)}
.cta-x>.obtn{margin-top:clamp(28px,4vw,44px)}
.cta-x>.tlink{margin-top:clamp(20px,3vw,30px)}
.cta-x .h-big+.obtn,.cta-x .stand+.obtn{margin-top:clamp(28px,4vw,44px)}

footer{background:var(--deeper);color:#fff}
footer{border-top:2px solid var(--grn)}
.fcta{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,90px);align-items:center;padding:clamp(42px,6vw,72px) clamp(14px,2.2vw,34px) clamp(34px,5vw,56px)}
.fcta .fh{font-weight:800;font-size:clamp(26px,3.4vw,46px);letter-spacing:-.02em;line-height:1.12;color:#fff}
.fcta .fh span{color:var(--mint)}
.fctal .fxrow{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:clamp(16px,2vw,22px) 4px;border-top:1px solid rgba(255,255,255,.2);font-size:clamp(14.5px,1.6vw,17px);font-weight:600;color:rgba(255,255,255,.92);transition:color .25s,padding .3s var(--e)}
.fctal .fxrow:last-child{border-bottom:1px solid rgba(255,255,255,.2)}
.fctal .fxrow .arw{color:var(--mint);transition:transform .3s var(--e)}
.fctal .fxrow:hover{color:var(--mint)}
.fctal .fxrow:hover .arw{transform:translateX(7px)}
[dir=rtl] .fctal .fxrow:hover .arw{transform:scaleX(-1) translateX(-7px)}
@media(max-width:900px){.fcta{grid-template-columns:1fr;gap:24px}}
.ft{width:100%;display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:clamp(28px,5vw,80px);padding:clamp(28px,4vw,44px) clamp(14px,2.2vw,34px) clamp(20px,3vw,34px);border-top:1px solid rgba(255,255,255,.12)}
.fmark{margin-bottom:12px}
.fmark img{width:150px;height:auto}
.fbrand .tag{font-size:12.5px;line-height:1.75;color:rgba(255,255,255,.62);max-width:32ch}
.fmail{display:inline-block;margin-top:10px;font-size:12.5px;font-weight:600;color:var(--mint)}
.fmail:hover{color:#fff}
.flinks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,40px)}
.ft h6{margin-bottom:10px}
.ft a{display:block;padding:3.5px 0;font-size:12.5px;color:rgba(255,255,255,.72);transition:color .25s}
.ft a:hover{color:var(--mint)}
@media(max-width:900px){.ft{grid-template-columns:1fr;gap:26px}}
@media(max-width:640px){.flinks{grid-template-columns:1fr 1fr}}
.legal h3{font-weight:700;font-size:clamp(16px,1.8vw,20px);letter-spacing:-.012em;margin:30px 0 10px}
.legal h3:first-child{margin-top:0}
.legal p{font-size:14.5px;line-height:1.9;color:#39423C;max-width:72ch}
.ft h6{margin-bottom:12px;color:rgba(255,255,255,.48)}
.ft a{display:block;font-size:13.5px;color:rgba(255,255,255,.78);padding:4px 0;transition:color .25s}
.ft a:hover{color:#fff}
.ft .tag{font-size:13.5px;color:rgba(255,255,255,.65);max-width:36ch;line-height:1.75}
.ftb{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.14);padding:13px clamp(14px,2.2vw,34px);font-size:11.5px;color:rgba(255,255,255,.45)}
.ftb .fl{display:flex;align-items:center;gap:18px}
.ftb a{color:rgba(255,255,255,.6);font-size:11.5px;padding:0;display:inline-flex;align-items:center}
.ftb a:hover{color:var(--mint)}
.ftb .fli svg{width:14px;height:14px}
.ftb .fl{display:flex;gap:18px}
.ftb a:hover{color:#fff}

.rv{opacity:0;transform:translateY(14px);transition:opacity .7s var(--e),transform .7s var(--e)}
.rv.in{opacity:1;transform:none}
.d1{transition-delay:.07s}.d2{transition-delay:.14s}.d3{transition-delay:.21s}
.reduced .rv{opacity:1;transform:none;transition:none}

#pre{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;overflow:hidden}
#pre .pcur{position:absolute;left:0;right:0;height:50.5%;background:var(--deeper);transition:transform .95s cubic-bezier(.76,0,.24,1)}
#pre .pcur.t{top:0}
#pre .pcur.b{bottom:0}
#pre.up .pcur.t{transform:translateY(-101%)}
#pre.up .pcur.b{transform:translateY(101%)}
#pre .pseam{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:1px;width:0;background:var(--mint);z-index:3;animation:pseam .5s 2.85s cubic-bezier(.76,0,.24,1) forwards}
@keyframes pseam{to{width:100%}}
#pre.up .pseam{opacity:0;transition:opacity .3s}
#pre .pin{position:relative;z-index:2;text-align:center;padding:0 clamp(18px,6vw,32px);max-width:100%;transition:opacity .4s}
#pre.up .pin{opacity:0}
#pre .pwords{position:relative;height:clamp(64px,13vw,116px)}
#pre .pw{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;white-space:nowrap;font-weight:800;font-size:clamp(34px,7vw,74px);letter-spacing:-.03em;line-height:1;color:#fff;opacity:0}
[dir=rtl] #pre .pw{letter-spacing:0}
#pre .pw b{color:var(--mint);font-weight:800}
#pre .pw.w1{animation:pw .95s .15s cubic-bezier(.4,0,.2,1) forwards}
#pre .pw.w2{animation:pw .95s .85s cubic-bezier(.4,0,.2,1) forwards}
#pre .pw.w3{animation:pw .95s 1.55s cubic-bezier(.4,0,.2,1) forwards}
@keyframes pw{0%{opacity:0;transform:translateY(20px)}28%{opacity:1;transform:none}72%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-16px)}}
#pre .plogo{margin-top:calc(clamp(64px,13vw,116px)*-1);height:clamp(64px,13vw,116px);display:flex;align-items:center;justify-content:center}
#pre .plogo img{width:min(440px,76vw);height:auto;opacity:0;transform:translateY(16px) scale(.97);animation:plg 1s 2.35s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes plg{to{opacity:1;transform:none}}
#prog{position:fixed;top:0;left:0;height:3px;background:var(--grn);z-index:1500;width:0}
#btt{position:fixed;right:20px;bottom:20px;width:44px;height:44px;border:1px solid var(--hair);background:#fff;color:var(--grn-d);z-index:800;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s,border-color .25s,bottom .35s var(--e)}
#btt.lift{bottom:72px}
[dir=rtl] #btt{right:auto;left:20px}
#btt.show{opacity:1;visibility:visible}
#btt:hover{border-color:var(--grn)}

.page{display:none}
.page{display:none;opacity:1}.page.current{display:block;transition:opacity .42s ease,transform .5s cubic-bezier(.2,.75,.25,1)}.page.current.entering{opacity:0;transform:translateY(14px)}.page.leaving{opacity:0;transform:translateY(-6px);transition:opacity .15s ease,transform .15s ease}body.reduced .page.current{transition:none!important;transform:none!important;opacity:1!important}
@keyframes pagefade{from{opacity:0}to{opacity:1}}

@media(max-width:1080px){.nl{display:none}.mbtn{display:inline-block}}
@media(max-width:640px){
  .hero{min-height:480px}
  .row{grid-template-columns:40px minmax(0,1fr) 22px}
  .irow{grid-template-columns:minmax(0,1fr);gap:5px}
  .irow .yr{display:none}
}

/* ═ ARABIC / RTL ═ */
html[dir=rtl] body{font-family:'IBM Plex Sans Arabic',var(--sans)}
[dir=rtl] .h-hero{font-weight:700;line-height:1.35;letter-spacing:0;font-size:clamp(28px,4.4vw,54px)}
[dir=rtl] .h-big{font-weight:700;line-height:1.45;letter-spacing:0}
[dir=rtl] .h-med,[dir=rtl] .h-item,[dir=rtl] .card .pt,[dir=rtl] .dl h4,[dir=rtl] .qa button.q,[dir=rtl] .lead h4,[dir=rtl] .movl a{font-weight:700;letter-spacing:0;line-height:1.55}
[dir=rtl] .hsub,[dir=rtl] .pull .q,[dir=rtl] .epi .q{font-family:'IBM Plex Sans Arabic',sans-serif;font-style:normal;line-height:1.9}
[dir=rtl] .stand,[dir=rtl] .body-c,[dir=rtl] .small,[dir=rtl] .card .pd,[dir=rtl] .row .desc{line-height:1.95}
[dir=rtl] .eyebrow,[dir=rtl] .meta,[dir=rtl] .ntop,[dir=rtl] .obtn,[dir=rtl] .tlink,[dir=rtl] .filters button,[dir=rtl] .cat,[dir=rtl] .fld label,[dir=rtl] .cl-cap,[dir=rtl] .ft h6,[dir=rtl] .fcov h6,[dir=rtl] .crumb,[dir=rtl] .lead .role,[dir=rtl] .lead .li,[dir=rtl] .stat-x p,[dir=rtl] .pull .who,[dir=rtl] .pn,[dir=rtl] .rn,[dir=rtl] .movl .n{letter-spacing:0}
[dir=rtl] .arw{display:inline-block;transform:scaleX(-1)}
[dir=rtl] .tlink:hover .arw{transform:scaleX(-1) translateX(-5px)}
[dir=rtl] a.row:hover .arw{transform:scaleX(-1) translateX(-5px)}
[dir=rtl] .qa button.q{text-align:right;padding:20px 0 20px 48px}
[dir=rtl] .qa button.q::after{right:auto;left:4px}
[dir=rtl] .movl .sml{padding-left:0;padding-right:40px}
[dir=rtl] #langbtn-m{text-align:right!important;padding-left:0!important;padding-right:0!important}
[dir=rtl] .cta-x{text-align:right}

/* ═ RICH PRACTICE SECTIONS ═ */
.alt{background:var(--panel)}
.sit{border-top:1px solid var(--hair);margin-top:clamp(26px,4vw,42px)}
.sit>div{display:grid;grid-template-columns:26px minmax(0,1fr);gap:clamp(12px,2vw,22px);padding:clamp(16px,2.2vw,24px) 0;border-bottom:1px solid var(--hair);align-items:start}
.sit .tick{width:22px;height:22px;border:1px solid var(--grn);position:relative;margin-top:3px}
.sit .tick::after{content:"";position:absolute;left:7px;top:3px;width:5px;height:10px;border:solid var(--grn);border-width:0 2px 2px 0;transform:rotate(40deg)}
.sit p{font-size:clamp(15.5px,1.7vw,18.5px);font-weight:600;letter-spacing:-.01em;line-height:1.55;max-width:62ch}
.deliv{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,24px);margin-top:clamp(26px,4vw,42px)}
.deliv>div{border:1px solid var(--hair);border-top:3px solid var(--grn);background:#fff;padding:clamp(16px,2.2vw,24px)}
.deliv .dn{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--grn)}
.deliv h4{font-weight:800;font-size:15px;letter-spacing:-.012em;margin:8px 0 6px;line-height:1.3}
.deliv p{font-size:12.5px;line-height:1.7;color:var(--mid)}
@media(max-width:980px){.deliv{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.deliv{grid-template-columns:1fr}}
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,44px);margin-top:clamp(26px,4vw,42px)}
.why>div{border-top:1px solid var(--hair);padding-top:16px}
.why .wn{font-size:clamp(22px,2.6vw,32px);font-weight:300;color:var(--grn);letter-spacing:-.02em}
.why h4{font-weight:800;font-size:16px;letter-spacing:-.015em;margin:10px 0 7px}
.why p{font-size:13.5px;line-height:1.75;color:var(--mid)}
@media(max-width:860px){.why{grid-template-columns:1fr}}
.relres .irow{background:#fff;border:1px solid var(--hair);border-bottom:0;padding-left:clamp(14px,2vw,22px);padding-right:clamp(14px,2vw,22px)}
.relres .irow:last-of-type{border-bottom:1px solid var(--hair)}

/* ═ ALIVE: photo bands, situations, deliverables, chips, featured ═ */
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.07)}}
.hero .hph img{animation:kb 22s var(--e) infinite alternate}
.ihero .hph img{animation:kb 26s var(--e) infinite alternate}
.reduced .hph img{animation:none}
.band{position:relative;height:clamp(220px,32vw,400px);overflow:hidden}
.band img{width:100%;height:100%;object-fit:cover}
.band::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,48,31,.94),rgba(10,63,41,.62) 55%,rgba(10,63,41,.44))}
.band .bcap{position:absolute;left:0;right:0;bottom:0;z-index:2;max-width:1280px;margin:0 auto;padding:0 clamp(20px,4.5vw,60px) clamp(20px,3vw,34px)}
.band .bcap .eyebrow{color:var(--mint)}
.band .bcap p{font-family:var(--serif);font-style:italic;font-size:clamp(17px,2.2vw,26px);color:#fff;max-width:30ch;margin-top:6px}
.sit{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px clamp(18px,2.8vw,36px);margin-top:22px}
.sit li{position:relative;padding-left:26px;font-size:14px;line-height:1.7;color:#39423C}
.sit li::before{content:"";position:absolute;left:0;top:7px;width:14px;height:8px;border-left:2px solid var(--grn);border-bottom:2px solid var(--grn);transform:rotate(-45deg)}
[dir=rtl] .sit li{padding-left:0;padding-right:26px}
[dir=rtl] .sit li::before{left:auto;right:0;transform:rotate(-45deg) scaleX(-1)}
@media(max-width:700px){.sit{grid-template-columns:1fr}}
.deliv{display:grid;grid-template-columns:1fr 1fr 1fr;gap:clamp(14px,2vw,24px);margin-top:clamp(26px,4vw,40px)}
.deliv>div{border:1px solid var(--hair);padding:clamp(16px,2.2vw,24px);position:relative}
.deliv>div::before{content:"";position:absolute;top:0;left:0;width:34px;height:3px;background:var(--grn)}
[dir=rtl] .deliv>div::before{left:auto;right:0}
.deliv h5{font-size:14.5px;font-weight:700;letter-spacing:-.01em;margin-bottom:6px}
.deliv p{font-size:12.5px;line-height:1.7;color:var(--mid)}
@media(max-width:940px){.deliv{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.deliv{grid-template-columns:1fr}}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.chips span{font-size:11.5px;font-weight:600;letter-spacing:.06em;padding:8px 14px;border:1px solid var(--hair);color:var(--mid);transition:border-color .25s,color .25s}
.chips span:hover{border-color:var(--grn);color:var(--grn-d)}
.feat{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);border:1px solid var(--hair);margin-bottom:clamp(26px,4vw,40px);background:#fff}
.feat .fimg{position:relative;min-height:220px;overflow:hidden}
.feat .fimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--e)}
.feat:hover .fimg img{transform:scale(1.04)}
.feat .fimg::after{content:"";position:absolute;inset:0;background:rgba(10,63,41,.18)}
.feat .fin{padding:clamp(20px,3vw,38px);display:flex;flex-direction:column;gap:12px;justify-content:center}
.feat .fin .h-med{letter-spacing:-.015em}
@media(max-width:820px){.feat{grid-template-columns:1fr}.feat .fimg{min-height:0;height:180px}}
.pgrid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(24px,4vw,56px);align-items:center}
.pgrid .ph{aspect-ratio:4/5;max-height:520px}
@media(max-width:900px){.pgrid{grid-template-columns:1fr}.pgrid .ph{aspect-ratio:16/9;max-height:none}}

/* ═ PROCESS DIAGRAM ═ */
.proc{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(14px,2vw,26px);margin-top:clamp(30px,4.5vw,48px);counter-reset:step;position:relative}
.proc::before{content:"";position:absolute;top:17px;left:17px;right:calc((100% - 4*clamp(14px,2vw,26px))/5 - 17px);height:1px;background:rgba(255,255,255,.25)}
.pstep{position:relative;padding-top:52px}
.pstep .dotn{position:absolute;top:0;left:0;width:35px;height:35px;border-radius:50%;background:var(--deeper);border:1px solid var(--mint);color:var(--mint);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;z-index:1}
.pstep .h-item{display:block;color:#fff;font-size:16px}
.pstep .desc{display:block;margin-top:7px;font-size:12.5px;line-height:1.75;color:rgba(255,255,255,.65)}
[dir=rtl] .pstep .dotn{left:auto;right:0}
[dir=rtl] .proc::before{left:calc((100% - 4*clamp(14px,2vw,26px))/5 - 17px);right:17px}
@media(max-width:920px){
  .proc{grid-template-columns:1fr;gap:0}
  .proc::before{display:none}
  .pstep:not(:last-child)::after{content:"";position:absolute;left:17px;top:38px;bottom:3px;width:1px;background:rgba(255,255,255,.25)}
  .pstep:last-child{padding-bottom:0}
  .pstep{padding:0 0 26px 56px}
  .pstep .dotn{left:0;top:0}
  [dir=rtl] .pstep:not(:last-child)::after{left:auto;right:17px}
  [dir=rtl] .pstep{padding:0 56px 26px 0}
  [dir=rtl] .pstep .dotn{left:auto;right:0}
}
/* ═ TIMELINE (GANTT) ═ */
.viz{margin-top:clamp(34px,5vw,56px);border-top:1px solid var(--hair-d);padding-top:clamp(24px,3.5vw,38px)}
.viz-cap{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mint);margin-bottom:20px}
.gantt{display:grid;grid-template-columns:clamp(88px,12vw,130px) 1fr;gap:10px clamp(12px,2vw,22px);align-items:center}
.gantt .gl{font-size:12px;font-weight:600;color:rgba(255,255,255,.85)}
.gantt .gr{position:relative;height:22px;background:rgba(255,255,255,.08)}
.gantt .gr i{position:absolute;top:0;bottom:0;background:linear-gradient(90deg,var(--mint),#8FD4AE)}
.gantt .gweeks{grid-column:2;display:flex;justify-content:space-between;font-size:10px;font-weight:600;letter-spacing:.08em;color:rgba(255,255,255,.45);text-transform:uppercase;margin-top:2px}
[dir=rtl] .gantt .gr{transform:scaleX(-1)}
/* ═ FUNNEL ═ */
.funnel{display:flex;flex-direction:column;gap:8px;max-width:760px}
.frow{display:grid;grid-template-columns:clamp(120px,16vw,190px) 1fr clamp(60px,8vw,90px);gap:clamp(10px,1.6vw,20px);align-items:center}
.frow .fl{font-size:12px;font-weight:600;color:rgba(255,255,255,.85)}
.frow .fb{height:22px;background:rgba(255,255,255,.08);position:relative}
.frow .fb i{position:absolute;top:0;bottom:0;left:0;background:linear-gradient(90deg,var(--mint),#8FD4AE)}
[dir=rtl] .frow .fb i{left:auto;right:0}
.frow .fv{font-size:12px;font-weight:700;color:var(--mint);text-align:right}
[dir=rtl] .frow .fv{text-align:left}
/* ═ 70-20-10 MIX ═ */
.mixbar{display:flex;height:34px;overflow:hidden;max-width:820px}
.mixbar i{display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:var(--grn-d)}
.mixbar .m70{width:70%;background:var(--mint)}
.mixbar .m20{width:20%;background:#8FD4AE}
.mixbar .m10{width:10%;background:#E3F2E9}
.mixleg{display:flex;gap:clamp(16px,3vw,34px);flex-wrap:wrap;margin-top:16px}
.mixleg span{font-size:12px;color:rgba(255,255,255,.8);display:flex;align-items:center;gap:8px}
.mixleg b{width:10px;height:10px;display:inline-block}
/* ═ ENGAGEMENT MODELS ═ */
.xsel{display:grid;grid-template-columns:5fr 7fr;gap:clamp(24px,4.5vw,60px);align-items:stretch}
.xnav{display:flex;flex-direction:column;border-top:1px solid var(--hair);align-self:center;width:100%}
.xrow{display:grid;grid-template-columns:42px minmax(0,1fr) 22px;align-items:center;gap:12px;padding:19px 0;border-bottom:1px solid var(--hair);text-align:left;transition:color .25s;cursor:pointer}
[dir=rtl] .xrow{text-align:right}
.xrow .xn{font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--faint);transition:color .25s}
.xrow.on .xn{color:var(--grn)}
.xrow .xt{font-weight:700;font-size:clamp(15px,1.7vw,18.5px);letter-spacing:-.012em;transition:color .25s}
[dir=rtl] .xrow .xt{letter-spacing:0}
.xrow .arw{opacity:0;transform:translateX(-8px);transition:opacity .3s,transform .3s var(--e);color:var(--grn)}
[dir=rtl] .xrow .arw{transform:translateX(8px) scaleX(-1)}
.xrow.on .arw{opacity:1;transform:none}
[dir=rtl] .xrow.on .arw{transform:scaleX(-1)}
.xrow.on .xt,.xrow:hover .xt{color:var(--grn-d)}
.xpanes{position:relative;background:var(--panel);border-left:3px solid var(--grn);min-height:250px;overflow:hidden}
[dir=rtl] .xpanes{border-left:0;border-right:3px solid var(--grn)}
.xpane{position:absolute;inset:0;padding:clamp(24px,3.4vw,42px);opacity:0;transform:translateY(12px);transition:opacity .45s var(--e),transform .45s var(--e);pointer-events:none}
.xpane.on{opacity:1;transform:none;pointer-events:auto}
.xpane .xg{position:absolute;right:-8px;bottom:-34px;font-size:clamp(110px,13vw,170px);font-weight:800;letter-spacing:-.05em;line-height:1;color:rgba(14,91,58,.07);pointer-events:none;user-select:none}
[dir=rtl] .xpane .xg{right:auto;left:-8px}
.xpane .xl{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--grn)}
[dir=rtl] .xpane .xl{letter-spacing:0}
.xpane h4{font-weight:800;font-size:clamp(18px,2.1vw,24px);letter-spacing:-.016em;margin-top:10px}
.xpane p{margin-top:12px;font-size:14.5px;line-height:1.85;color:#39423C;max-width:50ch}
@media(max-width:840px){
  .xsel{grid-template-columns:1fr;gap:0}
  .xnav{border-top:1px solid var(--hair)}
  .xpanes{min-height:0;margin-top:16px}
  .xpane{position:relative;inset:auto;display:none;padding:22px 20px}
  .xpane.on{display:block}
}
@media(max-width:640px){.frow{grid-template-columns:clamp(96px,26vw,130px) 1fr 54px}.gantt{grid-template-columns:clamp(72px,20vw,100px) 1fr}}
/* ═ SECTOR CASE STUDIES ═ */
.sqa .q{font-size:clamp(17px,2vw,22px);letter-spacing:-.015em}
.sqa .q .stag{display:block;font-size:12.5px;font-weight:500;letter-spacing:.01em;color:var(--mid);margin-top:4px;text-transform:none}
.cs{border-left:3px solid var(--grn);background:var(--panel);padding:clamp(16px,2.4vw,26px) clamp(16px,2.4vw,28px);margin:4px 0 24px}
[dir=rtl] .cs{border-left:0;border-right:3px solid var(--grn)}
.cs .cl{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--grn);margin-bottom:12px}
.cs p{font-size:13.5px;line-height:1.8;color:#39423C;margin-bottom:10px}
.cs p b{color:var(--ink);font-weight:700}
.cs .prax{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.cs .prax span{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--grn-d);border:1px solid var(--grn);padding:5px 10px;background:#fff}
.sqa .q{display:grid;grid-template-columns:48px 1fr;align-items:baseline}
.sqa .q .snum{grid-column:1;font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--grn)}
.sqa .q>span:nth-child(2){grid-column:2}
.sqa .q .stag{grid-column:2}
.sqa .a>*{margin-left:48px}
[dir=rtl] .sqa .a>*{margin-left:0;margin-right:48px}
.sfoc{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 16px}
.sfoc span{font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--mid);border:1px solid var(--hair);padding:6px 11px;background:#fff}
[dir=rtl] .sfoc span{letter-spacing:0;font-size:12px}
.scl{margin:0 0 26px}
.scl .clc{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--grn);margin:0 0 10px}
[dir=rtl] .scl .clc{letter-spacing:0}
.scl .cln{display:flex;flex-wrap:wrap;gap:8px}
.scl .cln span{font-size:12.5px;font-weight:600;letter-spacing:.02em;color:#39423C;background:var(--panel);border:1px solid var(--hair);padding:8px 13px;transition:border-color .25s,color .25s}
.scl .cln span:hover{border-color:var(--grn);color:var(--grn-d)}
.sstat{display:flex;gap:clamp(24px,4vw,54px);margin-top:clamp(22px,3.2vw,32px);flex-wrap:wrap}
.sstat>div{max-width:250px}
.sstat b{display:block;font-size:clamp(26px,3.2vw,38px);font-weight:800;color:var(--mint);letter-spacing:-.02em;line-height:1}
.sstat span{display:block;margin-top:8px;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.88)}
.sstat em{display:block;margin-top:5px;font-style:normal;font-size:12px;font-weight:500;letter-spacing:.02em;color:rgba(255,255,255,.58);line-height:1.5}
.gl-rows{border-top:1px solid rgba(255,255,255,.18)}
.gl-row{display:grid;grid-template-columns:minmax(104px,124px) 1fr;align-items:center;gap:clamp(18px,2.6vw,32px);padding:clamp(15px,2vw,21px) 0;border-bottom:1px solid rgba(255,255,255,.18);transition:border-color .3s}
.gl-row b{font-weight:800;font-size:clamp(28px,3.2vw,42px);letter-spacing:-.02em;line-height:1;color:var(--mint);text-align:right;font-variant-numeric:tabular-nums;transition:color .3s}
[dir=rtl] .gl-row b{text-align:left}
.gl-row .gll{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff}
.gl-row .gld{margin-top:5px;font-size:13px;color:rgba(255,255,255,.62);line-height:1.6}
.gl-row:hover{border-color:rgba(191,227,207,.55)}
.gl-row:hover b{color:#fff}
[dir=rtl] .gl-row .gll{letter-spacing:0;font-size:12.5px}
@media(max-width:640px){.gl-row{grid-template-columns:88px 1fr;gap:16px}}
[dir=rtl] .sstat span{letter-spacing:0;font-size:12.5px}
[dir=rtl] .sstat em{letter-spacing:0}
@media(max-width:640px){
  .sqa .q{grid-template-columns:36px 1fr}
  .sqa .a>*{margin-left:0}
  [dir=rtl] .sqa .a>*{margin-right:0}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}

/* honeypot — must never be visible */
.hpot{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;display:none!important}

/* ── Publication-request overlay: mobile shrink fix ──────────────────────────
   .rqbox is a CSS grid. Grid and flex children default to min-width:auto, which
   refuses to shrink below their own content. The country <select> inside .phrow
   is intrinsically ~250px wide (it sizes to the longest country name) and is
   declared flex:0 0 auto, so nothing in the chain was allowed to shrink and the
   whole dialog resolved to max-content (535px) at every phone width, clipping
   the number field and the right-hand edge. The main contact form never showed
   this because it is not inside a grid item, so its select shrinks normally.
   Releasing min-width lets the existing min-width:150px / max-width:52% rules do
   their job exactly as they already do on the contact page. Desktop is untouched. */
@media(max-width:720px){
  .rqbox,.rqside,.rqmain{min-width:0}
  .rqmain form,.rqmain .fld,.rqmain .fld2,.rqmain .phrow{min-width:0}
  /* Same 150px cap as the contact form. This selector is more specific than
     the generic .fld .phrow select rule, so it has to state the cap itself
     rather than inherit it, otherwise the overlay silently keeps the old
     percentage and measures 171px while the contact form measures 150px. */
  .rqmain .fld .phrow select{min-width:0;max-width:45%;max-width:min(150px,45%)}
  .rqmain .fld .phrow input{min-width:0}
  .rqdoc h3{overflow-wrap:anywhere}
  /* The Name/Organization pair is a two-column grid with an 18px row-gap whose
     children each carry a 20px bottom margin. Once it stacks at this width the
     two add up to 38px, against the 20px rhythm every other field pair uses, so
     the form reads subtly uneven. The margin alone is the correct spacing. */
  .fld2{row-gap:0}
}

/* The four status messages under the request button are permanently in the
   layout at opacity 0, so they were reserving 4 x 58px = 232px of blank white
   space below the button on a phone. Only ever one of them is shown at a time
   (rqNotesOff() clears all, then exactly one is set to opacity 1), so they can
   share a single slot. Reserved space drops to one message's height.
   Deliberately scoped to .rqmain, so the main contact form is untouched, and
   deliberately layout-only: if this rule were ever dropped the messages would
   simply go back to stacking, never to being hidden. */
.rqmain form,form[name="contact"]{position:relative;padding-bottom:58px}
.rqmain form .fnote,form[name="contact"] .fnote{position:absolute;left:0;right:0;bottom:0;margin:0}

/* iOS Safari zooms the entire page when a focused input has a computed
   font-size below 16px. The base rule for .fld controls sets 15px and sits
   ~270 lines above this point; at equal specificity the LAST rule wins, so this
   block must stay at the very end of the stylesheet. Appending it near the top
   would silently do nothing, which is a mistake that has already shipped here
   once. The computed value is asserted at 390px by the test suite rather than
   trusted. */
@media(max-width:720px){
  .fld input,.fld select,.fld textarea,
  .rqmain .fld input,.rqmain .fld select,.rqmain .fld textarea,
  .rqmain .fld .phrow select,.rqmain .fld .phrow input{font-size:16px}
}

/* Country-code field: capped so it stops eating the phone-number field.
   The two max-width declarations are deliberate; the second refines the first
   and browsers without CSS min() simply keep the percentage cap. Labels are
   code-first (see app.js) so the dial code never gets clipped. */
.fld .phrow select{max-width:52%;max-width:min(200px,52%)}
@media(max-width:720px){
  .fld .phrow select{min-width:0;max-width:45%;max-width:min(150px,45%)}
}
