

/* Layout: Aurora Night — full-bleed aurora hero, big grotesque type, wide bands; violet #5200AE + teal #00C2AA, light & dark */
:root{
--bg:#faf7ff;--bg2:#f1eaff;--card:#ffffff;--fg:#1a0438;--muted:#5b4d78;--line:#e2d8f5;
--v:#5200AE;--v2:#7c2fe0;--t:#00a08c;--t-on:#ffffff;--btn:#5200AE;--btn-fg:#fff;
--hl1:#5200AE;--hl2:#00a08c;
--au-base:246,243,252;--au-a:206,194,232;--au-b:150,235,222;--au-c:82,0,174;
--f:"Lyon",system-ui,sans-serif;
--ar:"Lyon",system-ui,sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
--bg:#0e0220;--bg2:#150530;--card:#1a0838;--fg:#f3ecff;--muted:#b3a6cf;--line:#2c1a4d;
--v:#b48cff;--v2:#5200AE;--t:#00C2AA;--t-on:#0e0220;--btn:#00C2AA;--btn-fg:#0e0220;
--hl1:#00C2AA;--hl2:#b48cff;
--au-base:14,2,32;--au-a:82,0,174;--au-b:0,194,170;--au-c:150,90,255;color-scheme:dark}}
:root[data-theme="dark"]{
--bg:#0e0220;--bg2:#150530;--card:#1a0838;--fg:#f3ecff;--muted:#b3a6cf;--line:#2c1a4d;
--v:#b48cff;--v2:#5200AE;--t:#00C2AA;--t-on:#0e0220;--btn:#00C2AA;--btn-fg:#0e0220;
--hl1:#00C2AA;--hl2:#b48cff;
--au-base:14,2,32;--au-a:82,0,174;--au-b:0,194,170;--au-c:150,90,255;color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font-family:var(--f);font-size:17px;line-height:1.55;transition:background .4s,color .4s}
a{color:inherit;text-decoration:none}
.in{max-width:1240px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.k{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--t);font-weight:700}
h1,h2,h3{text-wrap:balance;margin:0}
h2{font-size:clamp(32px,4.6vw,58px);line-height:1.02;letter-spacing:-.035em;font-weight:800}
.hl{background:linear-gradient(90deg,var(--hl1),var(--hl2));-webkit-background-clip:text;background-clip:text;color:transparent}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--btn);color:var(--btn-fg);padding:15px 26px;border-radius:999px;font-weight:700;font-size:16px;transition:transform .25s}
.ghost{display:inline-flex;align-items:center;padding:15px 26px;border-radius:999px;border:1px solid color-mix(in srgb,var(--fg) 25%,transparent);font-weight:600}
.btn:focus-visible,.ghost:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--t);outline-offset:3px}
section{padding-block:clamp(64px,9vw,120px)}

/* preview banner */
.pv{background:var(--v2);color:#fff;font-size:13px;text-align:center;padding:8px 16px}
:root[data-theme="dark"] .pv{background:#5200AE}

/* header (tayb-style: pill nav, hairline, CTA pill) */
.hd{position:relative;z-index:5;display:flex;align-items:center;gap:clamp(14px,2.4vw,36px);height:96px;padding-left:max(28px,env(safe-area-inset-left,0px));padding-right:max(28px,env(safe-area-inset-right,0px))}
.logo{font-weight:800;font-size:23px;letter-spacing:-.045em;display:flex;align-items:center;gap:8px;flex:none}
.logo i{width:24px;height:24px;border-radius:7px;background:conic-gradient(from 200deg,#5200AE,#00C2AA,#5200AE);display:inline-block}
.menu{display:flex;gap:4px;font-size:14px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);flex:none}
.menu a{padding:11px 18px;border-radius:999px;transition:background .25s,color .25s}
.menu a:hover{color:var(--fg)}
.menu a.on{background:var(--fg);color:var(--bg)}
.menu a sup{font-size:12px;margin-left:4px}
.rule{flex:1;height:1px;background:color-mix(in srgb,var(--fg) 70%,transparent);min-width:24px}
.soc{display:flex;gap:12px;align-items:center;flex:none;color:var(--fg)}
.soc span{font-family:var(--ar);font-size:15px;margin-right:6px;color:var(--muted)}
.soc svg{width:18px;height:18px}
.tg{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--fg);cursor:pointer;display:grid;place-items:center;font-size:16px;flex:none}
.tab{flex:none}
.tab .btn2{display:inline-block;background:var(--card);color:var(--fg);border:1px solid var(--line);box-shadow:0 10px 24px -14px #1a043855;padding:14px 22px;border-radius:999px;font-weight:600;font-size:15px}
.burger{display:none;width:44px;height:44px;border-radius:50%;background:var(--fg);color:var(--bg);border:0;font-size:18px}
@media (max-width:1100px){.menu,.rule,.soc{display:none}.hd{justify-content:space-between}.burger{display:grid;place-items:center}}
@media (max-width:560px){.tab{display:none}}

/* hero card with silk background */
.hwrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.hero{position:relative;overflow:hidden;border-radius:34px;min-height:640px;display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,7vw,90px) clamp(24px,5vw,72px) clamp(70px,7vw,100px);background:var(--bg2)}
.hero canvas{position:absolute;inset:0;width:100%;height:100%}
.hero>*:not(canvas):not(.bump){position:relative}
.tagp{display:inline-block;align-self:flex-start;background:var(--fg);color:var(--bg);padding:10px 22px;border-radius:999px;font-weight:600;font-size:clamp(14px,1.3vw,18px);letter-spacing:-.02em}
.big{margin:clamp(36px,5vw,64px) 0 clamp(28px,3vw,40px);font-size:clamp(32px,6vw,84px);line-height:1.04;font-weight:700;letter-spacing:-.03em;text-transform:uppercase}
.big .ln{display:block;white-space:nowrap}
.big .ar{display:inline-block;width:.62em;height:.62em;margin:0 .14em 0 .06em;vertical-align:.02em}
.big .lt{font-family:var(--f);font-weight:300;letter-spacing:.01em;font-size:.86em;color:var(--muted)}
.big .hl2{background:linear-gradient(90deg,var(--hl1),var(--hl2));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .sub{font-size:clamp(16px,1.3vw,18px);color:var(--muted);max-width:44ch;margin:0}
.ghost2{display:inline-flex;align-items:center;gap:14px;margin-top:40px;align-self:flex-start;padding:16px 26px;border-radius:999px;background:color-mix(in srgb,var(--card) 70%,transparent);border:1px solid var(--line);box-shadow:0 10px 26px -14px #1a043866;font-weight:500;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.scrl{position:absolute;left:50%;bottom:28px;width:1px;height:48px;background:var(--fg);transform-origin:top;animation:sc 2.2s ease-in-out infinite}
@keyframes sc{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
.js .big .ln{animation:rise 1s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i)*120ms + 100ms)}
.js .tagp,.js .hero .sub,.js .ghost2{animation:rise 1s cubic-bezier(.2,.8,.2,1) both .5s}
@keyframes rise{from{opacity:0;transform:translateY(.5em)}}
@media (max-width:700px){.big .ln{white-space:normal}.scrl{display:none}}
.statement{text-align:center;font-size:clamp(24px,3vw,38px);letter-spacing:-.03em;font-weight:500;max-width:30ch;margin:0 auto;text-wrap:balance}
.statement .hl{font-weight:700}

/* platforms marquee */
.mq{border-block:1px solid var(--line);overflow:hidden;padding-block:20px;background:var(--bg2)}
.mq .tr{display:flex;gap:56px;width:max-content;animation:mq 30s linear infinite;font-weight:700;font-size:20px;color:var(--muted);letter-spacing:-.02em}
.mq .tr span::after{content:"✦";margin-left:56px;color:var(--t)}
@keyframes mq{to{transform:translateX(-50%)}}

/* why */
.why .head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:56px}
.why .head p{color:var(--muted);margin:0;max-width:46ch}
.wg{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:22px;overflow:hidden}
.wg div{background:var(--bg);padding:28px 24px 32px;min-width:0;transition:background .3s}
.wg div:hover{background:var(--card)}
.wg em{font-style:normal;font-size:13px;color:var(--t);font-weight:700}
.wg h3{font-size:20px;line-height:1.15;letter-spacing:-.02em;margin:40px 0 0}
@media (max-width:1000px){.wg{grid-template-columns:repeat(2,1fr)}.why .head{grid-template-columns:1fr}}
@media (max-width:540px){.wg{grid-template-columns:1fr}}

/* services: 2x2 cards with line icons + tag chips */
.svc .head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap}
.sv4{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:56px}
.sc4{display:grid;grid-template-columns:120px 1fr;gap:28px;border:1px solid var(--line);border-radius:22px;padding:30px 30px 70px;background:var(--card);min-height:300px;position:relative;transition:border-color .3s,transform .4s}
.sc4:hover{border-color:color-mix(in srgb,var(--t) 60%,transparent);transform:translateY(-4px)}
.sc4>div{min-width:0}
.sc4 svg{width:110px;height:110px;color:var(--fg);transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.sc4:hover svg{transform:rotate(90deg)}
.sc4 svg .a{stroke:var(--t)}
.sc4 h3{font-size:26px;font-weight:500;letter-spacing:-.025em;margin:0 0 18px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips span{border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:13px}
.sc4 .ex{position:absolute;left:30px;bottom:24px;font-size:14px;color:var(--muted)}
@media (max-width:860px){.sv4{grid-template-columns:1fr}.sc4{grid-template-columns:1fr;gap:16px}}

/* process */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:56px;counter-reset:s}
.st{position:relative;padding-top:28px;border-top:2px solid var(--line);min-width:0}
.st::before{content:"";position:absolute;top:-2px;left:0;height:2px;width:40%;background:linear-gradient(90deg,var(--v),var(--t))}
.st b{font-size:13px;color:var(--t);letter-spacing:.1em}
.st h3{font-size:22px;letter-spacing:-.02em;margin:10px 0}
.st p{margin:0;color:var(--muted);font-size:15px}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* team */
.team{background:var(--bg2)}
.roles{display:flex;flex-wrap:wrap;gap:12px;margin-top:44px}
.roles span{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:12px 20px;font-weight:600;font-size:16px}
.roles span i{font-style:normal;color:var(--muted);font-weight:400}

/* markets: accordion left, sticky stacked case cards right */
.mk{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;margin-top:56px;align-items:start}
.mk>div{min-width:0}
.acc{position:sticky;top:40px}
.acc button{all:unset;box-sizing:border-box;display:block;width:100%;cursor:pointer;padding:22px 0;border-bottom:1px solid var(--line)}
.acc button:focus-visible{outline:2px solid var(--t);outline-offset:4px}
.acc .r{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:clamp(20px,2vw,26px);letter-spacing:-.02em}
.acc .r i{width:34px;height:34px;border-radius:50%;border:1px solid var(--fg);display:grid;place-items:center;font-style:normal;font-size:13px;flex:none;transition:transform .3s,background .3s}
.acc .d{display:block;max-height:0;overflow:hidden;color:var(--muted);font-size:15px;transition:max-height .4s,margin .4s}
.acc button[aria-expanded="true"] .d{max-height:80px;margin-top:8px}
.acc button[aria-expanded="true"] .r i{background:var(--fg);color:var(--bg);transform:rotate(180deg)}
.stack{display:flex;flex-direction:column;gap:20px}
.cs{position:sticky;top:40px;border-radius:24px;overflow:hidden;aspect-ratio:5/6;max-width:100%;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:28px;box-shadow:0 -20px 40px -30px #0008;outline:2px solid transparent;outline-offset:4px;transition:outline-color .3s}
.cs.hot{outline-color:var(--t)}
.cs .bgc{position:absolute;inset:0}
.cs .bgc::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#000c 0%,#0000 55%)}
.cs>*:not(.bgc){position:relative}
.cs .fc{position:absolute;top:18px;left:18px;background:#fff;color:#111;font-size:12px;padding:6px 12px;border-radius:999px;font-weight:600}
.cs h3{font-size:28px;font-weight:500;letter-spacing:-.025em;margin:0 0 6px}
.cs p{margin:0 0 14px;opacity:.85;font-size:15px}
.cs .chips span{border-color:#ffffff55;color:#fff}
.cs .mono{position:absolute;inset:0;display:grid;place-items:center;font-weight:800;font-size:clamp(40px,6vw,72px);letter-spacing:-.05em;opacity:.35;text-align:center}
@media (max-width:860px){.mk{grid-template-columns:1fr}.acc{position:static}.cs{aspect-ratio:4/3;position:relative;top:0}}

/* reviews + faq */
.rf{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px}
.rf>div{min-width:0}
.rate{border-radius:24px;padding:36px;background:linear-gradient(140deg,#5200AE,#2a0063 60%,#00786a);color:#fff}
.rate b{font-size:88px;letter-spacing:-.05em;line-height:1;display:block}
.rate .stars{color:#00C2AA;font-size:22px;letter-spacing:4px}
.rate p{opacity:.85}
.rate a{display:inline-block;margin-top:14px;border-bottom:1px solid #fff8;padding-bottom:2px}
details{border-top:1px solid var(--line);padding:20px 0}
details:last-child{border-bottom:1px solid var(--line)}
summary{cursor:pointer;list-style:none;font-weight:700;font-size:19px;letter-spacing:-.01em;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--t);font-size:24px;line-height:1;transition:transform .3s}
details[open] summary::after{transform:rotate(45deg)}
details p{color:var(--muted);margin:12px 0 0;max-width:62ch}
@media (max-width:900px){.rf{grid-template-columns:1fr}}

/* article */
.art{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;border:1px solid var(--line);border-radius:24px;padding:clamp(24px,4vw,44px);background:var(--card);margin-top:40px}
.art>div{min-width:0}
.art .cv{aspect-ratio:16/10;border-radius:16px;background:radial-gradient(70% 90% at 20% 20%,#00C2AA,transparent 60%),radial-gradient(70% 90% at 90% 90%,#5200AE,transparent 60%),#1a0438;max-width:100%}
.art h3{font-size:clamp(22px,2.4vw,30px);letter-spacing:-.025em;margin:10px 0 14px}
@media (max-width:800px){.art{grid-template-columns:1fr}}

/* final cta */
.end{position:relative;overflow:hidden;background:#0e0220;color:#f3ecff}
.end .glow{position:absolute;inset:auto -10% -60% auto;width:900px;height:700px;max-width:none;background:radial-gradient(closest-side,#5200AE,transparent 70%),radial-gradient(closest-side at 20% 30%,#00C2AA88,transparent 60%);filter:blur(20px);animation:dr 16s ease-in-out infinite alternate}
@keyframes dr{to{transform:translate(-120px,-40px) scale(1.12)}}
.end .in{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:end}
.end .in>div{min-width:0}
.end h2{font-size:clamp(36px,5.4vw,72px)}
.end p{color:#c9bde3;max-width:52ch}
.end .btn{background:#00C2AA;color:#0e0220}
.ct{display:flex;flex-direction:column;gap:14px;font-size:18px}
.ct span{color:#c9bde3;font-size:13px;letter-spacing:.1em;text-transform:uppercase;display:block}
@media (max-width:820px){.end .in{grid-template-columns:1fr}}
footer{background:#0e0220;color:#b3a6cf;font-size:14px;border-top:1px solid #2c1a4d}
footer .in{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-block:28px}
footer .s{display:flex;gap:18px;flex-wrap:wrap}


/* CTA tab: card-colored bump rising from hero top-right, concave joint */
.hwrap{position:relative}

.bump{position:absolute;z-index:6;top:0;right:0;width:268px;height:86px;background:var(--bg);border-bottom-left-radius:30px;display:grid;place-items:center;padding:0 0 10px 14px}
.bump::before,.bump::after{content:"";position:absolute;width:30px;height:30px;background:radial-gradient(circle at 0 100%,transparent 29.5px,var(--bg) 30px)}
.bump::before{top:0;left:-30px}
.bump::after{right:0;bottom:-30px}
.bump .btn2{display:inline-block;padding:15px 26px;border-radius:999px;font-weight:600;font-size:15px;color:var(--fg);
 background:linear-gradient(180deg,var(--card),color-mix(in srgb,rgb(var(--au-a)) 40%,var(--card)));
 border:1px solid var(--line);box-shadow:inset 0 1px 0 #ffffffb0,0 8px 20px -10px #1a043866}
@media (max-width:560px){.bump{display:none}}


/* floating compact header on scroll */
.mini{position:fixed;z-index:30;top:calc(env(safe-area-inset-top,0px) + 14px);left:50%;transform:translate(-50%,-140%);opacity:0;display:flex;gap:12px;align-items:center;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .4s;max-width:calc(100% - 32px)}
.mini.show{transform:translate(-50%,0);opacity:1}
.mini .pillnav{display:flex;align-items:center;gap:6px;background:color-mix(in srgb,var(--card) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:999px;padding:7px 8px 7px 22px;box-shadow:0 14px 34px -16px #1a043855}
.mini .logo{font-size:19px;margin-right:22px}
.mini .menu a{padding:10px 16px;font-size:13px}
.mini .btn2{padding:14px 22px;border-radius:999px;font-weight:600;font-size:14px;color:var(--fg);white-space:nowrap;
 background:linear-gradient(180deg,var(--card),color-mix(in srgb,rgb(var(--au-a)) 40%,var(--card)));border:1px solid var(--line);box-shadow:inset 0 1px 0 #ffffffb0,0 14px 30px -14px #1a043866}
@media (max-width:1100px){.mini .menu{display:none}.mini .logo{margin-right:8px}}
@media (prefers-reduced-motion:reduce){.mini{transition:none}}


/* intro: logo writes in, teal dot pops, camera zooms through the dot into the hero */
#ld{position:fixed;inset:0;z-index:9999;overflow:hidden;--ldbg:#faf7ff}
:root[data-theme="dark"] #ld{--ldbg:#0e0220}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) #ld{--ldbg:#0e0220}}
#ld .lg{position:absolute;left:50%;top:50%;width:min(300px,62vw);transform:translate(-50%,-50%);transform-origin:48.8% 32.7%;z-index:2;transition:transform 1.1s cubic-bezier(.7,0,.2,1),opacity .4s ease}
#ld .lg img{display:block;width:100%;height:auto;clip-path:inset(0 0 0 100%);animation:wipe 1s cubic-bezier(.6,0,.2,1) .15s forwards}
:root[data-theme="dark"] #ld .lg img{filter:brightness(0) invert(1)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) #ld .lg img{filter:brightness(0) invert(1)}}
@keyframes wipe{to{clip-path:inset(0 0 0 0)}}
#ld .hole,#ld .dot{position:absolute;width:var(--ds);height:var(--ds);left:var(--dx);top:var(--dy);margin:calc(var(--ds)/-2) 0 0 calc(var(--ds)/-2);transform:rotate(45deg) scale(1);transition:transform 1.2s cubic-bezier(.75,0,.15,1),opacity .5s ease}
#ld .hole{z-index:1;box-shadow:0 0 0 300vmax var(--ldbg)}
#ld .dot{z-index:3;background:#00C2AA;transform:rotate(45deg) scale(0);animation:pop .55s cubic-bezier(.3,1.7,.5,1) 1s forwards}
@keyframes pop{to{transform:rotate(45deg) scale(1)}}
#ld.go .hole{transform:rotate(45deg) scale(var(--zs))}
#ld.go .dot{transform:rotate(45deg) scale(var(--zs))!important;opacity:0;animation:none}
#ld.go .lg{transform:translate(-50%,-50%) scale(6);opacity:0}
#ld .skip{position:absolute;z-index:4;right:max(20px,env(safe-area-inset-right,0px));bottom:calc(env(safe-area-inset-bottom,0px) + 20px);font:500 13px var(--f);background:none;border:1px solid color-mix(in srgb,var(--fg) 25%,transparent);color:var(--fg);border-radius:999px;padding:8px 14px;cursor:pointer}
#ld.go .skip{opacity:0}
.intro .big .ln,.intro .tagp,.intro .hero .sub,.intro .ghost2{animation-play-state:paused!important}
.replay{background:none;border:0;color:#fff;text-decoration:underline;font:inherit;cursor:pointer;margin-left:8px}
@media (prefers-reduced-motion:reduce){#ld .lg img{clip-path:none}#ld .hole{transform:rotate(45deg)}#ld{transition:opacity .4s}#ld.go{opacity:0}}

/* scroll reveal (resting state visible; JS only hides items below the fold) */
.rv{transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}
.rv.pre{opacity:0;transform:translateY(28px)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.rv.pre{opacity:1;transform:none}}

/* real logo */
.logo img{display:block;height:52px;width:auto}.mini .logo img{height:36px}
.logo .lgd{display:none}
:root[data-theme="dark"] .logo .lgl{display:none}:root[data-theme="dark"] .logo .lgd{display:block}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo .lgl{display:none}:root:not([data-theme="light"]) .logo .lgd{display:block}}
/* ===== round 2 fixes ===== */
body{margin:0}
/* header: one baseline, pills centred */
.hd,.menu,.soc{align-items:center}
.menu a{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 18px;line-height:1;white-space:nowrap}
.menu a>span{display:block;padding-top:.12em}
.menu a sup{font-size:10px;line-height:0;margin-inline-start:3px;position:relative;top:-.45em;vertical-align:baseline}
.soc>*{display:block}.lang{line-height:1}
/* sticky header: one row, everything centred */
.mini{align-items:center;white-space:nowrap;z-index:60}
.mini .pillnav{height:60px;padding:0 8px;padding-inline-start:18px;gap:6px}
.mini .logo{margin-inline-end:12px;display:flex;align-items:center}
.mini .menu{display:flex;align-items:center;gap:2px}
.mini .menu a{height:44px;padding:0 14px;font-size:12.5px}
.mini .btn2{height:60px;display:inline-flex;align-items:center;padding:0 24px}
@media (max-width:1100px){.mini .menu{display:none}}

/* ===== batch 1 inner pages ===== */
html:not([lang="ar"]) .l-ar,html[lang="ar"] .l-en{display:none!important}
html[lang="ar"] body{line-height:1.75}
html[lang="ar"] h1,html[lang="ar"] h2,html[lang="ar"] h3,html[lang="ar"] .menu,html[lang="ar"] .k{letter-spacing:0!important;text-transform:none}
html[lang="ar"] h1,html[lang="ar"] h2{line-height:1.3}
[dir="rtl"] .fl,[dir="rtl"] .go svg{transform:scaleX(-1)}
.pv2{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;position:relative;z-index:40}
.pv2 .tabs{display:flex;gap:4px;background:#ffffff1f;border-radius:999px;padding:3px}
.pv2 button{all:unset;cursor:pointer;padding:5px 12px;border-radius:999px;font-size:12.5px;font-weight:600;color:#fff}
.pv2 .tabs button.on{background:#fff;color:#3b0080}
.pv2 #bl{border:1px solid #ffffff70}
.pv2 button:focus-visible{outline:2px solid #fff}
.lang{all:unset;cursor:pointer;font-size:15px;color:var(--muted);margin-inline-end:6px}
.lang:hover{color:var(--fg)}
.menu a sup{display:inline}
/* page hero */
.hero.ph{min-height:clamp(420px,46vw,560px);justify-content:flex-end;padding-top:clamp(110px,10vw,140px)}
.pt{font-size:clamp(36px,5.6vw,80px);line-height:1.02;letter-spacing:-.035em;font-weight:700;max-width:17ch;margin:clamp(22px,3vw,34px) 0 22px}
.ph .sub{max-width:56ch}
.crumb{display:block;margin-bottom:18px;font-size:13px;color:var(--muted);letter-spacing:.04em}
.crumb i{font-style:normal;opacity:.5;margin:0 6px}.crumb a:hover{color:var(--fg)}
.ph .cnt{position:absolute;inset-inline-end:clamp(24px,5vw,72px);bottom:clamp(40px,5vw,70px);text-align:end;color:var(--muted);font-size:14px}
.ph .cnt b{display:block;font-size:clamp(56px,8vw,120px);line-height:.9;font-weight:300;color:var(--fg);letter-spacing:-.04em}
[dir="rtl"] .bump{right:auto;left:0;border-bottom-left-radius:0;border-bottom-right-radius:30px;padding:0 14px 10px 0}
[dir="rtl"] .bump::before{left:auto;right:-30px;background:radial-gradient(circle at 100% 100%,transparent 29.5px,var(--bg) 30px)}
[dir="rtl"] .bump::after{right:auto;left:0;background:radial-gradient(circle at 100% 100%,transparent 29.5px,var(--bg) 30px)}
.muted{color:var(--muted)}
.h2s{font-size:clamp(26px,3vw,40px)!important}
/* about */
.facts{padding-block:clamp(40px,5vw,64px) 0}
.fgrid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fgrid>div{padding:28px 24px;border-inline-start:1px solid var(--line)}.fgrid>div:first-child{border-inline-start:0}
.fgrid b{display:block;font-size:clamp(30px,3.4vw,46px);font-weight:300;letter-spacing:-.03em;line-height:1.1}
.fgrid>div>span{color:var(--muted);font-size:14px}
.pgrid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(32px,6vw,96px);align-items:start}
.lead p{font-size:clamp(17px,1.4vw,20px);margin:0 0 18px;color:var(--muted)}.lead p:first-child{color:var(--fg)}
.vs h2+p,.vs .l-ar+p{margin-top:14px}
.vgrid{display:grid;grid-template-columns:1fr 1.15fr;gap:20px;margin-top:48px}
.vcard{border-radius:26px;padding:clamp(26px,3vw,40px);border:1px solid var(--line);background:var(--card)}
.vcard ul{list-style:none;padding:0;margin:22px 0;display:grid;gap:10px}
.vcard.old li{padding:14px 18px;border:1px dashed color-mix(in srgb,var(--fg) 25%,transparent);border-radius:14px;color:var(--muted);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--fg) 30%,transparent)}
.vcard.old li:nth-child(2){margin-inline-start:18px}.vcard.old li:nth-child(3){margin-inline-start:6px}.vcard.old li:nth-child(4){margin-inline-start:26px}
.vcard p{color:var(--muted);margin:0}
.vcard.new{background:linear-gradient(150deg,#1a0438,#3b0a7a 60%,#0d5f58);color:#f3ecff;border:0}
.vcard.new .k{color:#5eead4}.vcard.new p{color:#d8ccf0}
.one{display:flex;align-items:center;gap:14px;font-size:clamp(24px,2.4vw,32px);letter-spacing:-.02em;margin:22px 0}
.one i{width:44px;height:44px;border-radius:12px;background:conic-gradient(from 200deg,#5200AE,#00C2AA,#5200AE);flex:none}
.vcard.new .chips{margin-bottom:22px}.vcard.new .chips span{border-color:#ffffff40}
.p3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.pc{border-top:1px solid var(--fg);padding-top:22px}
.pc .n{display:block;font-size:clamp(48px,5vw,72px);font-weight:300;line-height:1;color:var(--t);margin-bottom:22px}
.pc h3{font-size:24px;font-weight:600;letter-spacing:-.02em;margin-bottom:10px}.pc p{color:var(--muted);margin:0}
.tg6{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:24px;overflow:hidden;margin-top:48px}
.tm{background:var(--bg);padding:32px 28px;transition:background .3s}.tm:hover{background:var(--card)}
.tm svg{width:44px;height:44px;color:var(--t);margin-bottom:26px}
.tm h3{font-size:21px;font-weight:600;margin-bottom:8px;text-transform:capitalize}.tm p{margin:0;color:var(--muted);font-size:15.5px}
.legal{padding-top:0}
.lg2{border-radius:24px;background:var(--bg2);padding:clamp(26px,3vw,40px);display:grid;grid-template-columns:1fr;gap:12px}
.lg2>p{margin:0;max-width:60ch}
.lg2 dl{display:flex;flex-wrap:wrap;gap:12px 48px;margin:10px 0 0}.lg2 dt{font-size:13px;color:var(--muted)}.lg2 dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}
/* contact */
.chan{padding-block:clamp(40px,5vw,64px)}
.c3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ch{position:relative;display:flex;flex-direction:column;gap:26px;padding:28px;border-radius:24px;background:var(--card);border:1px solid var(--line);transition:transform .35s,border-color .3s}
.ch:hover{transform:translateY(-4px);border-color:var(--t)}
.ch>svg{width:34px;height:34px;color:var(--t)}
.ch small{color:var(--muted);font-size:13px}.ch h3{font-size:26px;font-weight:600;margin:4px 0}.ch b{font-weight:400;font-size:18px}
.ch.wa{background:#00C2AA;color:#0e0220;border:0}.ch.wa>svg,.ch.wa small{color:#0e0220}
.go{position:absolute;top:22px;inset-inline-end:22px;width:42px;height:42px;border-radius:50%;border:1px solid currentColor;display:grid;place-items:center;opacity:.6;transition:opacity .3s,transform .3s}
.ch:hover .go,.pj:hover .go{opacity:1;transform:rotate(45deg)}
[dir="rtl"] .ch:hover .go,[dir="rtl"] .pj:hover .go{transform:rotate(-45deg)}
.fgrid2{display:grid;grid-template-columns:1.25fr 1fr;gap:20px;align-items:stretch}
.fcard{border-radius:28px;background:var(--card);border:1px solid var(--line);padding:clamp(26px,3.4vw,48px)}
.fcard h2{margin:12px 0 28px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.fld{display:block;margin-bottom:22px}.fld span{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}
.fld input,.fld textarea{width:100%;font:inherit;color:var(--fg);background:transparent;border:0;border-bottom:1px solid color-mix(in srgb,var(--fg) 30%,transparent);padding:8px 0;outline:0;transition:border-color .3s;resize:vertical}
.fld input:focus,.fld textarea:focus{border-bottom-color:var(--t)}
.pref{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:6px 0 30px}.pref>span{font-size:13px;color:var(--muted)}
.seg{display:inline-flex;background:var(--bg2);border-radius:999px;padding:4px}
.seg label{cursor:pointer}.seg input{position:absolute;opacity:0}
.seg b{display:block;font-weight:500;font-size:14px;padding:9px 16px;border-radius:999px;transition:background .25s,color .25s}
.seg input:checked+b{background:var(--fg);color:var(--bg)}.seg input:focus-visible+b{outline:2px solid var(--t)}
.fcard .ok{display:none;margin:14px 0 0;color:var(--t);font-size:14px}.fcard.sent .ok{display:block}
.fcard .btn{border:0;cursor:pointer}
.office{border-radius:28px;overflow:hidden;background:var(--bg2);display:flex;flex-direction:column}
.map{position:relative;flex:1;min-height:260px;background:
 linear-gradient(90deg,transparent 47%,color-mix(in srgb,var(--fg) 12%,transparent) 47% 49%,transparent 49%) 0 0/120px 90px,
 linear-gradient(0deg,transparent 46%,color-mix(in srgb,var(--fg) 10%,transparent) 46% 48%,transparent 48%) 0 0/90px 120px,
 linear-gradient(28deg,transparent 49%,color-mix(in srgb,var(--t) 40%,transparent) 49% 51%,transparent 51%),
 radial-gradient(60% 70% at 55% 45%,rgb(var(--au-a)/.6),transparent),var(--bg2)}
.pin{position:absolute;left:55%;top:45%;width:22px;height:22px;margin:-22px 0 0 -11px;background:#00C2AA;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 6px 14px #0004}
.pin::after{content:"";position:absolute;inset:7px;border-radius:50%;background:#fff}
.ring{position:absolute;left:55%;top:45%;width:80px;height:80px;margin:-40px;border-radius:50%;border:2px solid #00C2AA;animation:ring 2.4s ease-out infinite}
@keyframes ring{from{transform:scale(.2);opacity:1}to{transform:scale(1.4);opacity:0}}
.ob{padding:28px}.ob p{margin:10px 0 20px;color:var(--muted)}
.socs{display:flex;flex-wrap:wrap;gap:8px;padding:0 28px 28px}.socs span{border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:13px;background:var(--card)}
/* projects */
.flt{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:36px}
.flt button{all:unset;cursor:pointer;padding:11px 20px;border-radius:999px;border:1px solid var(--line);font-size:14px;font-weight:500;transition:background .25s,color .25s}
.flt button.on{background:var(--fg);color:var(--bg);border-color:var(--fg)}.flt button:focus-visible{outline:2px solid var(--t)}
.pg{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 20px}
.pj{position:relative;display:block}
.pj.wide{grid-column:span 2}
.pj .im{border-radius:22px;overflow:hidden;aspect-ratio:16/10;background:var(--bg2)}
.pj.wide .im{aspect-ratio:auto;height:calc(100% - 76px);min-height:300px}
.pj img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.pj:hover img{transform:scale(1.05)}
.pm{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;position:relative}
.pm h3{font-size:22px;font-weight:600;letter-spacing:-.02em}.pm small{color:var(--muted);font-size:14px}
.pm .go{position:static;flex:none}
.pj>p{margin:6px 0 0;color:var(--muted);font-size:15px;display:none}
.pj.wide>p{display:block}
.pj.hide{display:none}
.note{color:var(--muted);font-size:13px;margin-top:40px}
/* single project */
.cover{border-radius:28px;overflow:hidden;aspect-ratio:21/9;background:var(--bg2)}.cover img{width:100%;height:100%;object-fit:cover;display:block}
.pfacts{display:grid;grid-template-columns:repeat(4,1fr) 2fr;gap:0;margin:28px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pfacts>div{padding:20px 18px;border-inline-start:1px solid var(--line)}.pfacts>div:first-child{border-inline-start:0;padding-inline-start:0}
.pfacts dt{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.pfacts dd{margin:0;font-weight:600}
.pfacts .chips span{font-weight:400}
.cw{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(32px,6vw,96px)}
.big2{font-size:clamp(24px,2.6vw,36px);line-height:1.3;letter-spacing:-.02em;margin:16px 0 0}
.did{list-style:none;counter-reset:d;padding:0;margin:16px 0 0}
.did li{counter-increment:d;display:flex;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:18px}
.did li::before{content:counter(d,decimal-leading-zero);color:var(--t);font-size:14px;padding-top:3px}
.gal{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.gal figure{margin:0;border-radius:24px;overflow:hidden;background:var(--bg2)}.gal img{width:100%;height:100%;object-fit:cover;display:block}
.gal .g1{grid-column:span 2;aspect-ratio:21/8}.gal .g1 img{object-fit:contain;background:#f0e6cf}
.gal .g2,.gal .g3{aspect-ratio:4/3}
.mh{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:32px}
.m3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.next{position:relative;display:block;margin-top:clamp(56px,7vw,96px);padding:clamp(32px,4vw,56px) 0;border-top:1px solid var(--fg)}
.next small{color:var(--muted)}.next b{display:block;font-size:clamp(44px,8vw,120px);font-weight:300;letter-spacing:-.04em;line-height:1}
.next .go{top:50%;width:64px;height:64px;margin-top:-20px}.next:hover .go{opacity:1;background:var(--fg);color:var(--bg)}
@media (max-width:900px){
 .fgrid{grid-template-columns:1fr 1fr}.fgrid>div:nth-child(3){border-inline-start:0}.fgrid>div:nth-child(n+3){border-top:1px solid var(--line)}
 .pgrid,.vgrid,.fgrid2,.cw{grid-template-columns:1fr}.p3,.c3,.m3{grid-template-columns:1fr}.tg6{grid-template-columns:1fr 1fr}
 .pg{grid-template-columns:1fr 1fr}.pfacts{grid-template-columns:1fr 1fr}.pfacts .w{grid-column:span 2}.pfacts>div{border-inline-start:0;padding-inline-start:0;border-top:1px solid var(--line)}
 .ph .cnt{position:static;text-align:start;margin-top:24px;display:flex;align-items:baseline;gap:10px}.ph .cnt b{display:inline;font-size:56px;line-height:1}
}

/* ===== round 2 fixes ===== */
body{margin:0}
/* header: one baseline, pills centred */
.hd,.menu,.soc{align-items:center}
.menu a{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 18px;line-height:1;white-space:nowrap}
.menu a>span{display:block;padding-top:.12em}
.menu a sup{font-size:10px;line-height:0;margin-inline-start:3px;position:relative;top:-.45em;vertical-align:baseline}
.soc>*{display:block}.lang{line-height:1}
/* sticky header: one row, everything centred */
.mini{align-items:center;white-space:nowrap;z-index:60}
.mini .pillnav{height:60px;padding:0 8px;padding-inline-start:18px;gap:6px}
.mini .logo{margin-inline-end:12px;display:flex;align-items:center}
.mini .menu{display:flex;align-items:center;gap:2px}
.mini .menu a{height:44px;padding:0 14px;font-size:12.5px}
.mini .btn2{height:60px;display:inline-flex;align-items:center;padding:0 24px}
@media (max-width:1100px){.mini .menu{display:none}}
.one .dot3{width:56px;height:57px;flex:none;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);filter:drop-shadow(0 6px 14px #00C2AA55)}
/* about: registered business band */
.legal{padding-top:clamp(56px,7vw,96px)}
.lg2{grid-template-columns:1.1fr 1fr;align-items:center;gap:20px clamp(32px,5vw,72px)}
.lg2>.k{grid-column:1/-1}
.lg2>p{font-size:clamp(18px,1.6vw,22px);line-height:1.5}
.lg2 dl{display:block;margin:0}
.lg2 dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.lg2 dl>div:first-child{padding-top:0}.lg2 dl>div:last-child{border-bottom:0;padding-bottom:0}
/* contact: map + socials */
.map{background:var(--bg2);min-height:280px;overflow:hidden}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}.map{min-height:320px}
.map .sea{fill:color-mix(in srgb,#00C2AA 18%,var(--bg2))}
.map .coast{fill:none;stroke:color-mix(in srgb,#00C2AA 55%,transparent);stroke-width:2}
.map .st{stroke:color-mix(in srgb,var(--fg) 9%,transparent);stroke-width:2;fill:none}
.map .rd{stroke:color-mix(in srgb,var(--fg) 18%,transparent);stroke-width:7;fill:none;stroke-linecap:round}
.map .dist{fill:color-mix(in srgb,#5200AE 14%,transparent);stroke:color-mix(in srgb,#5200AE 45%,transparent);stroke-dasharray:6 6}
.map .lbl,.map .sealbl{font:600 12px var(--f);letter-spacing:.18em;fill:var(--muted)}
.map .sealbl{fill:color-mix(in srgb,#00C2AA 70%,var(--fg))}
.map .pn{fill:#00C2AA}.map .rng{fill:none;stroke:#00C2AA;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:ring2 2.4s ease-out infinite}@keyframes ring2{from{transform:scale(.4);opacity:1}to{transform:scale(3);opacity:0}}
.socs .fl2,.socs .fl2 span{border:0!important;background:none!important;padding:0!important}
.socs{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:20px 28px;border-top:1px solid var(--line);margin-top:auto}
.socs .fl2{font-size:13px;color:var(--muted)}
.si{display:flex;gap:8px}
.si a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);background:var(--card);color:var(--fg);transition:background .25s,color .25s,border-color .25s}
.si a:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.si svg{width:18px;height:18px}
.ob{padding:28px 28px 24px}.ob .ghost{padding:12px 22px}
/* projects: bordered cards, even rows */
.pg{grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
.pg .pj{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:24px;padding:12px 12px 22px;background:var(--card);transition:border-color .3s,transform .4s,box-shadow .4s}
.pg .pj:hover{border-color:color-mix(in srgb,var(--t) 70%,transparent);transform:translateY(-4px);box-shadow:0 22px 40px -28px #1a043866}
.pg .pj .im,.pg .pj.wide .im{aspect-ratio:auto;height:260px;min-height:0;border-radius:16px}
.pg .pm{margin:18px 10px 0}
.pg .pj>p{display:block;margin:8px 10px 0;font-size:14.5px;color:var(--muted)}
.pg .pj.wide{grid-column:span 2}
@media (max-width:900px){.pg{grid-template-columns:1fr 1fr}.lg2{grid-template-columns:1fr}}
@media (max-width:560px){.pg{grid-template-columns:1fr}.pg .pj.wide{grid-column:auto}.pg .pj .im,.pg .pj.wide .im{height:220px}.socs{justify-content:flex-start}}

@media (max-width:560px){.tg6,.pg,.f2,.gal{grid-template-columns:1fr}.pj.wide{grid-column:auto}.pj.wide .im{height:auto;aspect-ratio:16/10;min-height:0}.gal .g1{grid-column:auto}.hero.ph{padding-top:90px}.pv2 span{display:none}}

/* real logo */
.logo img{display:block;height:52px;width:auto}.mini .logo img{height:36px}
.logo .lgd{display:none}
:root[data-theme="dark"] .logo .lgl{display:none}:root[data-theme="dark"] .logo .lgd{display:block}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo .lgl{display:none}:root:not([data-theme="light"]) .logo .lgd{display:block}}

/* ===== batch 2 ===== */
.shd{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:44px}
.nar{max-width:900px}
/* services hub */
.grp .in{display:grid;gap:clamp(56px,7vw,96px)}
.gr{display:grid;grid-template-columns:.8fr 1.4fr;gap:clamp(28px,5vw,72px);align-items:start}
.gh{position:sticky;top:100px}
.gn{display:block;font-size:clamp(56px,6vw,88px);font-weight:300;line-height:1;color:var(--t);margin-bottom:14px}
.gh p{margin:10px 0 0}
.gl{border-top:1px solid var(--fg)}
.sr{position:relative;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;border-bottom:1px solid var(--line);transition:padding .35s}
.sr h3{font-size:clamp(20px,1.8vw,24px);font-weight:600;letter-spacing:-.015em}
.sr p{margin:6px 0 0;color:var(--muted);font-size:15.5px;max-width:52ch}
.sr .go{position:static;flex:none}
.sr:hover{padding-inline-start:14px}.sr:hover .go{opacity:1;transform:rotate(45deg);background:var(--fg);color:var(--bg)}
[dir="rtl"] .sr:hover .go{transform:rotate(-45deg)}
.sit{padding-top:clamp(24px,3vw,40px)}
.s4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.sc{border:1px solid var(--line);border-radius:22px;padding:26px;background:var(--card);display:flex;flex-direction:column;gap:12px}
.sn{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--t);font-weight:700}
.sc h3{font-size:20px;font-weight:600;line-height:1.3}.sc p{margin:0;color:var(--muted);font-size:15px}
/* service page */
.p3b{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pl{border-radius:24px;background:var(--card);border:1px solid var(--line);padding:30px}
.pl svg{width:46px;height:46px;color:var(--t);margin-bottom:28px}
.pl h3{font-size:22px;font-weight:600;margin-bottom:8px}.pl p{margin:0;color:var(--muted)}
.tlw{padding-top:0}
.tlc{display:grid;grid-template-columns:.8fr 1.6fr;gap:clamp(28px,5vw,72px);align-items:center;border-radius:28px;padding:clamp(28px,4vw,56px);background:linear-gradient(150deg,#1a0438,#3b0a7a 60%,#0d5f58);color:#f3ecff}
.tlc .k{color:#5eead4}
.tl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative}
.tl::before{content:"";position:absolute;top:7px;left:0;right:0;height:2px;background:linear-gradient(90deg,#5eead4,#b48cff)}
.tl li{position:relative;padding-top:34px;padding-inline-end:20px}
.tl li::before{content:"";position:absolute;top:0;inset-inline-start:0;width:16px;height:16px;border-radius:50%;background:#00C2AA;box-shadow:0 0 0 5px #00C2AA33}
.tl b{display:block;font-size:20px;margin-bottom:6px}.tl p{margin:0;color:#d8ccf0;font-size:15px}
.cov{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:24px;overflow:hidden}
.cv2{background:var(--bg);padding:30px 28px}
.n2{display:block;color:var(--t);font-size:14px;font-weight:600;margin-bottom:22px}
.cv2 h3{font-size:20px;font-weight:600;margin-bottom:8px}.cv2 p{margin:0;color:var(--muted);font-size:15.5px}
.pband{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;border-radius:28px;background:var(--bg2);padding:clamp(26px,3.4vw,44px)}
.pband>div:first-child{max-width:560px}
.pf2{font-size:18px;margin:10px 0 8px}.pf2 b{font-size:clamp(36px,4vw,54px);font-weight:300;letter-spacing:-.03em;margin:0 6px}
.pband p{margin:0;color:var(--muted)}
.pbtn{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.rel{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:22px}
.rel>span{color:var(--muted);font-size:14px;margin-inline-end:6px}
.rel a{border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-size:14px;transition:background .25s,color .25s}
.rel a:hover{background:var(--fg);color:var(--bg)}
/* pricing */
.ptabs{display:inline-flex;background:var(--bg2);border-radius:999px;padding:5px;margin-bottom:28px}
.ptabs button{all:unset;cursor:pointer;height:44px;display:inline-flex;align-items:center;padding:0 22px;border-radius:999px;font-weight:500;font-size:15px;transition:background .25s,color .25s}
.ptabs button.on{background:var(--fg);color:var(--bg)}.ptabs button:focus-visible{outline:2px solid var(--t)}
.pgd{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pc2{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:24px;padding:28px;background:var(--card);transition:border-color .3s,transform .4s}
.pc2:hover{border-color:var(--t);transform:translateY(-4px)}
.pc2 h3{font-size:20px;font-weight:600;min-height:2.6em}
.pp{margin:18px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pp small{display:block;color:var(--muted);font-size:13px}
.pp b{display:inline-block;font-size:clamp(40px,4vw,56px);font-weight:300;letter-spacing:-.03em;line-height:1.1;margin-inline-end:8px}
.pp span{color:var(--muted);font-size:14px}
.pc2 p{margin:0;color:var(--muted);font-size:15px}
.fac{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.fc2{display:flex;gap:18px;padding:24px;border-radius:22px;background:var(--bg2)}
.fc2 .n2{margin:3px 0 0}.fc2 h3{font-size:19px;font-weight:600;margin-bottom:6px}.fc2 p{margin:0;color:var(--muted);font-size:15px}
/* full-content prose */
.lead2{padding-block:clamp(48px,6vw,80px)}
.big3{font-size:clamp(21px,2.1vw,28px);line-height:1.5;letter-spacing:-.01em;margin:0;max-width:62ch}
.cols2{columns:2;column-gap:clamp(28px,4vw,56px);margin-top:28px;color:var(--muted)}.cols2 p{margin:0 0 16px;break-inside:avoid}
.prose2 a,.qb a,.cv2 a,.pc2 a,.fc2 a,.sr p a,.big3 a,.gh a{color:var(--t);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.qb p{margin:0 0 14px;color:var(--muted);max-width:72ch}.qb{padding-bottom:12px}
.cv2 p{margin:0 0 10px}
.pc2 p{margin:0 0 8px}
.pc2 h3 a,.cv2 h3 a{color:inherit;text-decoration:none}
@media (max-width:800px){.cols2{columns:1}}
/* accordion */
.pgd[hidden]{display:none}
.qa summary::after,.qa summary::before{content:none!important;display:none!important}
.qa summary>span{flex:1}
.faql{border-top:1px solid var(--fg)}
.qa{border-bottom:1px solid var(--line)}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-size:clamp(18px,1.6vw,21px);font-weight:600}
.qa summary::-webkit-details-marker{display:none}
.qa summary i{flex:none;width:36px;height:36px;border-radius:50%;border:1px solid var(--fg);position:relative;transition:background .25s,transform .3s}
.qa summary i::before,.qa summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:currentColor;transform:translate(-50%,-50%)}
.qa summary i::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .3s}
.qa[open] summary i{background:var(--fg);color:var(--bg)}.qa[open] summary i::after{transform:translate(-50%,-50%) rotate(0)}
.qa p{margin:0 0 24px;color:var(--muted);max-width:70ch}
/* faq page */
.fqg{display:grid;grid-template-columns:280px 1fr;gap:clamp(32px,5vw,72px);align-items:start}
.fqn{position:sticky;top:100px;display:flex;flex-direction:column;gap:4px}
.fqn a{display:flex;justify-content:space-between;align-items:center;height:48px;padding:0 18px;border-radius:14px;font-weight:500;transition:background .25s,color .25s}
.fqn a small{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.fqn a:hover{background:var(--bg2)}.fqn a.on{background:var(--fg);color:var(--bg)}.fqn a.on small{color:inherit;opacity:.7}
.fqs{scroll-margin-top:100px;margin-bottom:56px}.fqs h2{margin-bottom:18px}
@media (max-width:1000px){.s4{grid-template-columns:1fr 1fr}.cov,.pgd,.fac{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.gr,.tlc,.fqg{grid-template-columns:1fr}.gh,.fqn{position:static}.p3b{grid-template-columns:1fr}.fqn{flex-direction:row;overflow-x:auto;gap:6px;padding-bottom:4px}.fqn a{flex:none;gap:10px}}
@media (max-width:640px){.s4,.cov,.pgd,.fac{grid-template-columns:1fr}.tl{grid-template-columns:1fr;gap:22px}.tl::before{top:0;bottom:0;left:7px;right:auto;width:2px;height:auto}[dir="rtl"] .tl::before{left:auto;right:7px}.tl li{padding-top:0;padding-inline-start:34px}.pc2 h3{min-height:0}}

/* ===== batch 3 ===== */
html,body{overflow-x:clip}.pv2 .tabs{flex-wrap:wrap;justify-content:center;border-radius:18px}
.hwrap+section{padding-top:clamp(48px,6vw,80px)!important}
.nolang{background:var(--bg2);border-radius:14px;padding:12px 18px;margin:16px auto 0;max-width:1240px;font-size:14px;color:var(--muted);text-align:center}
section h2.rv{margin-bottom:20px}
.lead4 p{color:var(--muted);max-width:70ch;margin:0 0 14px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.cd3{border:1px solid var(--line);border-radius:22px;padding:26px;background:var(--card)}
.cd3 h3{font-size:20px;font-weight:600;margin-bottom:10px;line-height:1.3}.cd3 h3 a{color:inherit;text-decoration:none}
.cd3 p{margin:0 0 10px;color:var(--muted);font-size:15.5px}.cd3 a,.prose3 a,.artb a,.lead4 a{color:var(--t);text-decoration:underline;text-underline-offset:3px}
.split2{display:grid;grid-template-columns:.8fr 1.4fr;gap:clamp(28px,5vw,72px);align-items:start;border-top:1px solid var(--line);padding-top:clamp(36px,4vw,56px)}
.split2 h2{font-size:clamp(28px,3vw,40px)}.prose3 p{margin:0 0 16px;color:var(--muted)}.prose3 p:first-child{color:var(--fg);font-size:18px}
.ul2{margin:0 0 18px;padding-inline-start:20px;color:var(--muted)}.ul2 li{margin-bottom:8px}.ul2 li::marker{color:var(--t)}
.cities{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.city{position:relative;display:flex;align-items:flex-end;min-height:180px;padding:26px;border-radius:24px;background:linear-gradient(150deg,#1a0438,#3b0a7a 60%,#0d5f58);color:#fff;font-size:clamp(24px,2.4vw,34px);letter-spacing:-.02em;transition:transform .4s}
.city:hover{transform:translateY(-4px)}.city .go{color:#fff}
.dash{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.dash figure{margin:0;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--card)}
.dash img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:top;display:block}
.dash figcaption{padding:10px 14px;font-size:13px;font-weight:600}
.feat{display:grid;grid-template-columns:1fr 1.2fr;gap:0;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:var(--card);margin-bottom:28px}
.fim{background:var(--bg2);aspect-ratio:4/3}.fim img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.ftx{padding:clamp(26px,4vw,56px);display:flex;flex-direction:column;justify-content:center;gap:18px}.ftx h2{font-size:clamp(26px,3vw,40px)}.ftx .ghost{align-self:flex-start}
.bg3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.bc{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:24px;padding:12px 12px 22px;background:var(--card);transition:border-color .3s,transform .4s}
.bc:hover{border-color:var(--t);transform:translateY(-4px)}
.bim{border-radius:16px;overflow:hidden;aspect-ratio:4/3;background:var(--bg2)}.bim img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.bc h3{font-size:19px;font-weight:600;line-height:1.35;margin:16px 60px 0 8px}[dir="rtl"] .bc h3{margin:16px 8px 0 60px}
.bc .go{top:auto;bottom:18px}
.artg{display:grid;grid-template-columns:280px 1fr;gap:clamp(32px,5vw,80px);align-items:start}
.toc{position:sticky;top:100px;display:flex;flex-direction:column;gap:14px}
.tcv{width:100%;border-radius:18px;display:block}
.toc nav{display:flex;flex-direction:column;border-inline-start:1px solid var(--line)}
.toc nav a{padding:8px 16px;font-size:14px;color:var(--muted);line-height:1.4}.toc nav a:hover{color:var(--fg);box-shadow:inset 2px 0 0 var(--t)}
[dir="rtl"] .toc nav a:hover{box-shadow:inset -2px 0 0 var(--t)}
.artb{max-width:72ch;font-size:18px}
.artb h2{font-size:clamp(26px,2.6vw,34px);margin:48px 0 14px;scroll-margin-top:100px}.artb h2:first-child{margin-top:0}
.artb h3{font-size:21px;font-weight:600;margin:28px 0 8px}.artb p{margin:0 0 16px;color:color-mix(in srgb,var(--fg) 82%,var(--muted))}
.legalb h2{display:flex;gap:14px;align-items:baseline}.legalb h2 span{font-size:14px;color:var(--t);font-weight:600}
.nf{text-align:center;align-items:center;justify-content:center}.nf .pt{margin-inline:auto}.nf .sub{margin-inline:auto}
.nfn{font-size:clamp(120px,20vw,260px);font-weight:300;line-height:.9;letter-spacing:-.05em;display:flex;align-items:center;gap:.06em;color:var(--fg)}
.nfn i{width:.62em;height:.62em;background:#00C2AA;transform:rotate(45deg) scale(.7);border-radius:.06em;box-shadow:0 20px 50px -10px #00C2AA88}
.nfl{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:28px}.nfl a{height:48px;display:inline-flex;align-items:center;padding:0 22px;border-radius:999px;border:1px solid var(--line);background:var(--card);font-weight:500}.nfl a:hover{background:var(--fg);color:var(--bg)}

/* locations map */
.kmap{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(28px,4vw,64px);align-items:center}
.kv{position:relative;border-radius:32px;background:linear-gradient(160deg,#120230,#2a0668 55%,#08403c);padding:clamp(18px,3vw,40px);overflow:hidden}
.ksa{width:100%;height:auto;display:block}
.ksa .dts circle{fill:#b48cff55;transition:fill .5s}
.kv.all .ksa .dts circle{fill:#5eead4aa}
.ksa .route{fill:none;stroke:#5eead4;stroke-width:2;stroke-dasharray:6 8;opacity:.55;animation:dash 18s linear infinite}
@keyframes dash{to{stroke-dashoffset:-400}}
.pin2 .pc{fill:#00C2AA;stroke:#fff;stroke-width:3;transition:r .3s}
.pin2 .pr{fill:none;stroke:#00C2AA;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:ring2 2.6s ease-out infinite}
.pin2{cursor:pointer}.pin2 .hit{fill:transparent}.pin2 .lb{opacity:0;transform-box:fill-box;transition:opacity .3s,transform .3s}.pin2 .lb rect{fill:#fff}.pin2 .lb text{font:600 13px var(--f);fill:#1a0438}.pin2.on .lb,.pin2:hover .lb{opacity:1}
.pin2.on .pc{r:11}.pin2.on .pr{stroke-width:3}
.hq{position:absolute;inset-inline-start:24px;bottom:22px;color:#fff;display:flex;flex-direction:column;font-size:13px;opacity:.85}.hq b{color:#5eead4;letter-spacing:.14em;font-size:11px}
.clist .k{margin-bottom:14px}
.crow{position:relative;display:flex;align-items:center;gap:18px;min-height:84px;padding-block:14px;border-bottom:1px solid var(--line);transition:padding .35s}
.crow:first-of-type{border-top:1px solid var(--fg)}
.cn{color:var(--t);font-size:14px;font-weight:600;width:28px}
.ct{flex:1;font-size:clamp(20px,2vw,27px);letter-spacing:-.02em;line-height:1.25}
.crow .go{position:static}
.crow:hover,.crow.on{padding-inline-start:14px}.crow:hover .go,.crow.on .go{opacity:1;transform:rotate(45deg);background:var(--fg);color:var(--bg)}
[dir="rtl"] .crow:hover .go,[dir="rtl"] .crow.on .go{transform:rotate(-45deg)}
/* industries panels */
.xp{display:flex;gap:12px;height:520px}
.xpn{position:relative;flex:1;min-width:0;border-radius:26px;padding:26px;overflow:hidden;color:#f3ecff;background:linear-gradient(170deg,#2a0668,#120230);transition:flex .7s cubic-bezier(.2,.8,.2,1),background .5s;display:flex;flex-direction:column}
.xpn:nth-child(2){background:linear-gradient(170deg,#3b0a7a,#150530)}.xpn:nth-child(3){background:linear-gradient(170deg,#0d5f58,#08262a)}.xpn:nth-child(4){background:linear-gradient(170deg,#5200AE,#1a0438)}.xpn:nth-child(5){background:linear-gradient(170deg,#00897a,#06302c)}
.xpn:hover,.xpn:focus-within,.xpn.on{flex:3.2}
.xn{font-size:14px;font-weight:600;color:#5eead4}
.xpn svg{width:44px;height:44px;margin:auto 0 18px;color:#5eead4;flex:none}
.xpn h3{font-size:clamp(20px,1.8vw,26px);font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xd{max-height:0;opacity:0;overflow:hidden;transition:max-height .7s,opacity .4s,margin .5s;color:#d8ccf0;font-size:15.5px}
.xd p{margin:0 0 10px}.xd a{color:#5eead4}
.xpn:hover .xd,.xpn:focus-within .xd,.xpn.on .xd{max-height:240px;opacity:1;margin-top:12px}
.xpn:hover h3,.xpn.on h3{white-space:normal}
.xpn .go svg{width:16px;height:16px;margin:0;color:inherit}
.xpn .go{top:22px;color:#fff}.xpn:hover .go,.xpn.on .go{opacity:1;transform:rotate(45deg)}
[dir="rtl"] .xpn:hover .go,[dir="rtl"] .xpn.on .go{transform:rotate(-45deg)}
/* blog arrows + 404 dot */
.bc:hover .go{opacity:1;transform:rotate(45deg);background:var(--fg);color:var(--bg)}[dir="rtl"] .bc:hover .go{transform:rotate(-45deg)}
.feat:hover .ghost{background:var(--fg);color:var(--bg)}
.nfn i{animation:spin 14s linear infinite}
@keyframes spin{from{transform:rotate(45deg) scale(.7)}to{transform:rotate(405deg) scale(.7)}}
@media (prefers-reduced-motion:reduce){.nfn i,.ksa .route,.pin2 .pr{animation:none}}
@media (max-width:900px){.kmap{grid-template-columns:1fr}.xp{flex-direction:column;height:auto}.xpn{flex:none;min-height:110px}.xpn svg{margin:14px 0 10px}.xd{max-height:none;opacity:1;margin-top:10px}.xpn h3{white-space:normal}}

@media (max-width:1000px){.g3,.bg3,.cities{grid-template-columns:1fr 1fr}.dash{grid-template-columns:repeat(3,1fr)}}
@media (max-width:900px){.split2,.artg,.feat{grid-template-columns:1fr}.toc{position:static}.tcv{display:none}}
@media (max-width:600px){.g3,.bg3,.cities{grid-template-columns:1fr}.dash{grid-template-columns:1fr 1fr}}
