/* self-hosted variable fonts (latin) */
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/inter.woff2) format('woff2')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 900;font-display:swap;src:url(/assets/fonts/playfair.woff2) format('woff2')}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400 900;font-display:swap;src:url(/assets/fonts/playfair-italic.woff2) format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/fonts/jakarta.woff2) format('woff2')}
/* BW Solution Tech v3. Airy editorial look (serif headings, gold line details, arches, pale pattern).
   .theme-wa switches a page to the clean green WhatsApp look. Tokens first, everything else uses them. */
:root{
  --ink:#16202B; --text:#3B4652; --muted:#6B7683;
  --gold:#B8975A; --gold-d:#8F7035; --gold-l:#E4D3AC; --honey:#F2C94C;
  --pale:#EEF4F8; --mist:#F7FAFC; --line:#E1E9F0; --white:#fff;
  --wa:#25D366; --wa-d:#0B4A3A; --wa-mint:#EAFBF1;
  --accent:var(--gold); --accent-d:var(--gold-d);
  --h:'Playfair Display',Georgia,'Times New Roman',serif; --b:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --r:22px; --shadow:0 10px 30px rgba(22,32,43,.07); --maxw:1160px;
  --pattern:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220' fill='none' stroke='%23DDE8F0' stroke-width='3' stroke-linecap='round'><path d='M20 40c30-24 52 18 80-6s24 40-4 44-34-30-6-34'/><path d='M130 30c20 6 40-8 60 8M150 120c24-18 46 14 60-4M30 150c22 10 36-12 58 2s8 36-14 30'/><path d='M120 180c18-14 30 12 50 0'/></svg>");
}
.theme-wa{
  --accent:var(--wa); --accent-d:var(--wa-d); --h:'Plus Jakarta Sans',var(--b); --ink:#0B3D31; --r:24px;
  --pattern:linear-gradient(rgba(37,211,102,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(37,211,102,.09) 1px,transparent 1px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--text);font:400 16px/1.7 var(--b);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent-d);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:var(--h);color:var(--ink);line-height:1.15;margin:0 0 .5em;font-weight:600;letter-spacing:-.01em}
h1{font-size:clamp(2.3rem,5.4vw,4rem)}
h2{font-size:clamp(1.7rem,3.4vw,2.6rem)}
h3,.h3{font-size:1.2rem;font-family:var(--h);color:var(--ink)}
.theme-wa h1,.theme-wa h2{font-weight:800;letter-spacing:-.03em}
.theme-wa h3{font-weight:700}
p{margin:0 0 1em}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.narrow{max-width:800px}
.center{text-align:center}
.muted{color:var(--muted)} .small{font-size:.875rem}
.lead{font-size:1.15rem;color:var(--text);max-width:62ch}
.center .lead,.lead.c{margin-inline:auto}
.eyebrow{font:600 .75rem/1 var(--b);letter-spacing:.22em;text-transform:uppercase;color:var(--accent-d);margin:0 0 14px}
.skip{position:absolute;top:8px;inset-inline-start:8px;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);background:var(--ink);color:#fff;padding:0;z-index:999;border-radius:8px}
.skip:focus{width:auto;height:auto;clip:auto;padding:8px 14px}
.hp{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);opacity:0;pointer-events:none}
.ic{width:1.15em;height:1.15em;vertical-align:-.18em;flex:none}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;justify-content:center;font:600 .8rem/1 var(--b);letter-spacing:.12em;text-transform:uppercase;padding:15px 24px;border-radius:999px;border:1.5px solid transparent;cursor:pointer;transition:transform .2s,background .2s,box-shadow .2s,color .2s;text-decoration:none!important;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn-honey{background:var(--ink);color:#fff;box-shadow:0 8px 22px rgba(22,32,43,.18)}
.btn-honey:hover{background:var(--gold-d);color:#fff}
.theme-wa .btn-honey{background:var(--wa-d)} .theme-wa .btn-honey:hover{background:#08382b}
.btn-ghost{background:transparent;border-color:var(--ink);color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:#fff}
.btn-wa{background:var(--wa);color:#06361f}
.btn-wa:hover{background:#1fbd5b;color:#06361f}
.btn-lg{padding:18px 30px;font-size:.84rem}
.btn-sm{padding:11px 18px;font-size:.72rem}
.row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:26px 0}
.more{display:inline-flex;gap:8px;align-items:center;font:600 .75rem/1 var(--b);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-d);margin-top:auto}
a:hover .more{gap:12px}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;gap:28px;height:76px}
.logo{display:flex;align-items:center;gap:10px;font:600 1.15rem/1 var(--h);color:var(--ink);text-decoration:none!important;margin-right:auto}
.logo b{font-weight:700;color:var(--gold-d)}
.theme-wa .logo b{color:var(--wa-d)}
.links{display:flex;gap:28px;align-items:center}
.links a{color:var(--ink);font-size:.9rem;font-weight:500;text-decoration:none}
.links a:hover,.links a[aria-current]{color:var(--gold-d)}
.dd{position:relative}
.dd-m{position:absolute;top:100%;left:-18px;min-width:260px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:10px;display:none}
.dd:hover .dd-m,.dd:focus-within .dd-m{display:block}
.dd-m a{display:block;padding:10px 14px;border-radius:10px}
.dd-m a:hover{background:var(--pale)}
.burger{display:none;background:none;border:0;width:44px;height:44px;padding:0;cursor:pointer}
.burger span{display:block;width:24px;height:2px;background:var(--ink);margin:6px auto;transition:.2s}

/* ---------- sections ---------- */
.sec{padding:96px 0}
.sec.alt{background:var(--pale) var(--pattern)}
.theme-wa .sec.alt{background-color:#F4FBF7}
.pagehead{padding:56px 0 40px;background:var(--pale) var(--pattern)}
.pagehead h1{max-width:20ch}
.crumbs{font-size:.8rem;color:var(--muted);margin-bottom:22px}
.crumbs a{color:var(--muted)}
.rung.big{font:600 .75rem/1 var(--b);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-d);margin-bottom:14px}
.answer{font-size:1.2rem;max-width:68ch;color:var(--ink)}
.grid3,.grid4,.grid5{display:grid;gap:22px;margin-top:40px}
.grid3{grid-template-columns:repeat(3,1fr)} .grid4{grid-template-columns:repeat(4,1fr)} .grid5{grid-template-columns:repeat(3,1fr)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px;box-shadow:var(--shadow);display:flex;flex-direction:column;color:inherit;text-decoration:none!important;transition:transform .25s,box-shadow .25s}
a.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(22,32,43,.1)}
.card p{color:var(--text)}
.theme-wa .card{box-shadow:0 6px 24px rgba(11,74,58,.06)}
.ticks{list-style:none;padding:0;margin:18px 0}
.ticks li{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}
.ticks .ic{color:var(--accent);background:rgba(184,151,90,.14);border-radius:50%;padding:4px;width:26px;height:26px;margin-top:2px}
.theme-wa .ticks .ic{background:rgba(37,211,102,.16);color:var(--wa-d)}
.gold-ic{width:44px;height:44px;color:var(--gold);stroke-width:1.2}

/* ---------- hero ---------- */
.hero{background:var(--pale) var(--pattern);padding:72px 0 88px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.pill{display:inline-flex;align-items:center;gap:10px;font:600 .72rem/1 var(--b);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-d);background:#fff;border:1px solid var(--gold-l);border-radius:999px;padding:9px 16px;margin:0 0 26px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--honey);box-shadow:0 0 0 4px rgba(242,201,76,.3)}
.hl{font-style:italic;font-weight:500;color:var(--gold-d)}
.trust{list-style:none;padding:0;margin:24px 0 0;display:flex;flex-wrap:wrap;gap:10px 26px;font-size:.88rem;color:var(--text)}
.trust li{display:flex;gap:8px;align-items:center}
.trust .ic{color:var(--gold-d)}
.hero-art{position:relative;display:flex;justify-content:center;padding:10px 0 40px}
.arch{width:min(100%,380px);aspect-ratio:3/4;border-radius:190px 190px 26px 26px;overflow:hidden;background:var(--gold-l);box-shadow:0 30px 60px rgba(22,32,43,.18);position:relative;border:8px solid #fff}
.arch img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.arch-cap{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(22,32,43,.82));color:#fff;padding:60px 22px 20px;font-size:.85rem}
.arch-cap b{display:block;font:600 1.05rem var(--h)}
.float{position:absolute;background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 16px;font-size:.82rem;font-weight:500;color:var(--ink);box-shadow:var(--shadow);display:flex;gap:8px;align-items:center;animation:bob 5s ease-in-out infinite}
.float .ic{color:var(--gold-d)}
.f1{top:6%;left:-4%} .f2{top:42%;right:-6%;animation-delay:-1.5s} .f3{bottom:30%;left:-9%;animation-delay:-3s}
@keyframes bob{50%{transform:translateY(-8px)}}
.laptop-sm{position:absolute;right:-20%;bottom:-30px;width:54%;z-index:2}

.marquee{background:var(--ink);color:#fff;overflow:hidden;white-space:nowrap;padding:14px 0}
.marq-in{display:inline-flex;gap:34px;animation:marq 28s linear infinite;font:500 .78rem/1 var(--b);letter-spacing:.34em}
.marq-in i{color:var(--honey);font-style:normal;font-size:.6rem;align-self:center}
@keyframes marq{to{transform:translateX(-50%)}}

/* ---------- journey: arch cards on a dotted gold path ---------- */
.chips{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;margin:34px 0 10px}
.chips-l{font:600 .72rem/1 var(--b);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);width:100%;text-align:center;margin-bottom:6px}
.chip{font:500 .88rem/1.3 var(--b);background:#fff;border:1.5px solid var(--line);color:var(--ink);border-radius:999px;padding:12px 18px;cursor:pointer;transition:.2s}
.chip:hover{border-color:var(--gold)}
.chip[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.road{list-style:none;margin:60px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;position:relative}
.road::before{content:"";position:absolute;left:6%;right:6%;top:-34px;border-top:3px dotted var(--gold);opacity:.8}
.road::after{content:"";position:absolute;left:6%;top:-34px;height:3px;width:calc(88% * var(--p,0));background:var(--gold);transition:width .8s cubic-bezier(.2,.7,.2,1)}
.flag{display:none}
.stop{background:#fff;border:1px solid var(--line);border-radius:190px 190px var(--r) var(--r);padding:56px 28px 28px;text-align:center;position:relative;box-shadow:var(--shadow);transition:.3s;display:flex;flex-direction:column;align-items:center}
.stop .pin{position:absolute;top:-52px;left:50%;transform:translateX(-50%);width:36px;height:36px;border-radius:50%;background:var(--honey);color:var(--ink);font:700 .95rem/36px var(--b);box-shadow:0 0 0 6px #fff,0 0 0 7px var(--gold-l);text-align:center}
.stop .gold-ic{margin-bottom:10px}
.stop h3{font-size:1.4rem}
.stop ul{list-style:none;padding:0;margin:8px 0 18px;text-align:left;font-size:.9rem;color:var(--text)}
.stop li{padding:7px 0 7px 22px;position:relative;border-top:1px solid var(--line)}
.stop li::before{content:"";position:absolute;left:2px;top:15px;width:8px;height:8px;border-radius:50%;background:var(--gold)}
.stop.here,.stop.on{border-color:var(--gold);box-shadow:0 22px 48px rgba(143,112,53,.22);transform:translateY(-6px)}
.stop.dim{opacity:.55}
.next{margin-top:34px;border-color:var(--gold);text-align:center;align-items:center}
.next[hidden]{display:none}
.next-t{font:500 1.25rem/1.5 var(--h);color:var(--ink);max-width:60ch}

/* ---------- services ---------- */
.svc{position:relative;overflow:hidden}
.svc-ic{width:58px;height:58px;border-radius:50%;background:var(--pale);display:grid;place-items:center;color:var(--gold-d);margin-bottom:16px}
.svc-ic .ic{width:28px;height:28px;stroke-width:1.4}
.rung{font:600 .7rem/1 var(--b);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-d);margin-bottom:8px;display:block}
.why h3{font-size:1.25rem}
.ind h3{font-size:1.15rem}
.steps3,.steps4{list-style:none;padding:0;margin:44px 0 0;display:grid;gap:22px}
.steps3{grid-template-columns:repeat(3,1fr)} .steps4{grid-template-columns:repeat(4,1fr)}
.steps3 li,.steps4 li{background:#fff;border-radius:130px 130px var(--r) var(--r);padding:48px 26px 28px;text-align:center;border:1px solid var(--line);box-shadow:var(--shadow);position:relative}
.n{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--honey);color:var(--ink);font:700 .85rem var(--b);margin-bottom:14px}
.steps3 h3,.steps4 h3{font-size:1.3rem}

/* ---------- project cards + device mockups ---------- */
.pcard{padding:0;overflow:hidden}
.pcard .shot{background:var(--pale);padding:22px 22px 0}
.pcard .body{padding:24px 26px 28px;display:flex;flex-direction:column;flex:1}
.tag{display:inline-block;font:600 .68rem/1 var(--b);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-d);margin-bottom:10px}
.browser{background:#fff;border-radius:12px 12px 0 0;box-shadow:0 12px 30px rgba(22,32,43,.18);overflow:hidden;border:1px solid var(--line);border-bottom:0}
.browser::before{content:"";display:block;height:22px;background:#E9EEF3 radial-gradient(circle at 12px 11px,#f26b5e 4px,transparent 5px),radial-gradient(circle at 28px 11px,#f5bd4f 4px,transparent 5px),radial-gradient(circle at 44px 11px,#5fc868 4px,transparent 5px)}
.browser img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top}
.laptop{position:relative;width:100%;max-width:640px;margin-inline:auto}
.laptop .scr{background:#0e1319;border-radius:16px 16px 0 0;padding:12px 12px 0;box-shadow:0 20px 40px rgba(22,32,43,.2)}
.laptop .scr img{border-radius:6px 6px 0 0;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top}
.laptop .base{height:14px;background:linear-gradient(#cfd6de,#aeb7c1);border-radius:0 0 18px 18px;margin:0 -4%;position:relative}
.laptop .base::after{content:"";position:absolute;left:50%;top:0;width:90px;height:5px;transform:translateX(-50%);background:#9aa4af;border-radius:0 0 8px 8px}
.phone{width:min(210px,44vw);background:#0e1319;border-radius:34px;padding:9px;box-shadow:0 20px 40px rgba(22,32,43,.25);position:relative;flex:none}
.phone::before{content:"";position:absolute;top:14px;left:50%;transform:translateX(-50%);width:62px;height:16px;background:#0e1319;border-radius:10px;z-index:2}
.phone img{border-radius:26px;width:100%;aspect-ratio:500/1080;object-fit:cover;object-position:top}
.social{width:min(330px,90vw);background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);font-size:.8rem}
.social .sh{display:flex;gap:10px;align-items:center;padding:12px 14px}
.social .av{width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--gold-l);display:grid;place-items:center;font:700 .7rem var(--b)}
.social img{width:100%;aspect-ratio:1.91/1;object-fit:cover;object-position:top}
.social .lp{background:var(--mist);padding:10px 14px;border-top:1px solid var(--line)}
.social .lp b{display:block;color:var(--ink);font-size:.82rem}
.social .lp span{color:var(--muted);font-size:.72rem}
.devices{display:flex;gap:28px;align-items:flex-end;justify-content:center;flex-wrap:wrap;margin-top:40px}
.devices .laptop{max-width:560px;flex:1 1 360px}
.cap{font:600 .7rem/1 var(--b);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);text-align:center;margin-top:14px}
.demo-row{display:grid;grid-template-columns:1fr 1.4fr;gap:26px;margin-top:40px;align-items:center}
.demo-row figure{margin:0}
.demo-row img{border-radius:var(--r);box-shadow:var(--shadow)}
.demo-row figcaption{font-size:.82rem;color:var(--muted);margin-top:10px;text-align:center}
.story{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:84px}
.story .stop{padding-top:44px;text-align:left;align-items:flex-start}
.story .stop p{font-size:.95rem}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:34px 0 0;padding:22px 0;border-block:1px solid var(--gold-l)}
.facts dt{font:600 .68rem/1 var(--b);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-d);margin-bottom:6px}
.facts dd{margin:0;color:var(--ink);font-weight:500}
.pn{display:flex;justify-content:space-between;gap:16px;margin-top:50px;flex-wrap:wrap}

/* ---------- founder, faq, cta, form ---------- */
.founder{display:grid;grid-template-columns:300px 1fr;gap:56px;align-items:center}
.founder img{border-radius:150px 150px 24px 24px;border:8px solid #fff;box-shadow:var(--shadow);aspect-ratio:3/4;object-fit:cover;object-position:50% 20%}
.faq details{background:#fff;border:1px solid var(--line);border-radius:18px;padding:0 24px;margin-bottom:12px;transition:.2s}
.faq details[open]{border-color:var(--gold);box-shadow:var(--shadow)}
.faq summary{cursor:pointer;list-style:none;padding:20px 28px 20px 0;font:600 1.05rem/1.4 var(--h);color:var(--ink);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font:300 1.6rem/1 var(--b);color:var(--gold-d)}
.faq details[open] summary::after{content:"−"}
.faq p{padding-bottom:20px;color:var(--text)}
.theme-wa .faq summary{font-family:var(--b);font-weight:700}
.jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.jump a{font-size:.82rem;font-weight:500;border:1px solid var(--gold-l);background:#fff;border-radius:999px;padding:8px 14px;color:var(--ink)}
.cta-sec{background:var(--pale) var(--pattern)}
.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.form{gap:16px;box-shadow:0 24px 60px rgba(22,32,43,.1)}
.form label{display:flex;flex-direction:column;gap:6px;font:600 .82rem/1.3 var(--b);color:var(--ink)}
.opt{font-weight:400;color:var(--muted)}
.form input,.form select,.form textarea{font:400 1rem var(--b);padding:14px 16px;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);width:100%}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(184,151,90,.18)}
.theme-wa .form input:focus,.theme-wa .form select:focus,.theme-wa .form textarea:focus{border-color:var(--wa);box-shadow:0 0 0 4px rgba(37,211,102,.18)}
.form .check{flex-direction:row;gap:12px;font-weight:400;font-size:.82rem;color:var(--text);align-items:flex-start}
.form .check input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--ink)}
.form-msg{margin:0;font-weight:600;min-height:1.4em}
.form-msg.ok{color:#17803d} .form-msg.err{color:#b42318}
.contact-cards h3{display:flex;gap:10px;align-items:center}

/* ---------- footer, floats ---------- */
.foot{background:var(--ink);color:#C9D2DC;padding:72px 0 0}
.foot .logo,.foot .logo b{color:#fff}
.foot .logo b{color:var(--gold-l)}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1.2fr;gap:34px}
.foot h4{font:600 .72rem/1 var(--b);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-l);margin-bottom:18px}
.foot a{display:block;color:#C9D2DC;font-size:.9rem;padding:5px 0}
.foot a:hover{color:#fff}
.foot-tag{margin:16px 0}
.foot-legal{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;border-top:1px solid rgba(255,255,255,.12);margin-top:48px;padding:22px 24px;font-size:.8rem}
.foot-legal a{display:inline}
.wa-float{position:fixed;right:20px;bottom:22px;width:58px;height:58px;border-radius:50%;background:var(--wa);color:#06361f;display:grid;place-items:center;box-shadow:0 10px 28px rgba(37,211,102,.45);z-index:60}
.wa-float .ic{width:30px;height:30px;stroke-width:1.9}
.stickybar{display:none}

/* ---------- WhatsApp landing (theme-wa) ---------- */
.announce{background:#0a0f0d;color:#fff;text-align:center;font-size:.85rem;font-weight:600;padding:10px 16px}
.announce b{color:var(--wa)}
.wa-hero{background:#fff var(--pattern);background-size:44px 44px;padding:96px 0 90px;position:relative;overflow:hidden;text-align:center}
.wa-hero::after{content:"";position:absolute;inset:auto 0 0 0;height:120px;background:linear-gradient(transparent,#fff)}
.wa-hero .wrap{position:relative;z-index:2}
.wa-hero h1{max-width:16ch;margin-inline:auto;color:var(--wa-d)}
.wa-hero h1 u{text-decoration-color:var(--wa);text-decoration-thickness:5px;text-underline-offset:8px;color:var(--wa)}
.wa-hero .lead{margin-inline:auto;color:#5b6b66}
.wa-hero .row{justify-content:center}
.pill-g{display:inline-block;font:700 .72rem/1 var(--b);letter-spacing:.16em;text-transform:uppercase;color:var(--wa-d);background:var(--wa-mint);border:1px solid rgba(37,211,102,.35);border-radius:999px;padding:9px 16px;margin-bottom:26px}
.bub{position:absolute;display:flex;align-items:center;gap:10px;z-index:1}
.bub .wi{width:46px;height:46px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:var(--shadow);color:var(--wa)}
.bub .wi .ic{width:26px;height:26px;stroke-width:1.8}
.bub .bt{background:#fff;border-radius:14px;padding:12px 18px;box-shadow:var(--shadow);text-align:left;font-size:.78rem;color:#6b7a75}
.bub .bt b{display:block;color:var(--ink);font-size:.82rem}
.b1{left:4%;top:90px} .b2{right:4%;top:110px;flex-direction:row-reverse} .b3{right:8%;bottom:130px;flex-direction:row-reverse} .b4{left:8%;bottom:110px}
.tstrip{background:#F4F8F7;border-block:1px solid #E6EFEC}
.tstrip .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-block:20px}
.tstrip div{display:flex;gap:10px;align-items:center;font-size:.88rem;font-weight:600;color:var(--wa-d);justify-content:center}
.tstrip .ic{color:var(--wa);width:20px;height:20px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.mock{background:#fff;border:1px solid #E3ECE8;border-radius:var(--r);box-shadow:0 24px 60px rgba(11,74,58,.1);overflow:hidden}
.mock .mh{display:flex;gap:7px;align-items:center;padding:14px 18px;border-bottom:1px solid #EEF3F1;font:500 .72rem/1 ui-monospace,Menlo,monospace;color:#6b7a75}
.mock .mh i{width:11px;height:11px;border-radius:50%;display:inline-block}
.mock .mb{padding:20px;background:#fff}
.msg{max-width:82%;padding:11px 14px;border-radius:14px;font-size:.84rem;line-height:1.5;margin-bottom:10px;color:#1b2b26}
.msg.in{background:#F1F5F4;border-top-left-radius:4px}
.msg.out{background:#DCF8C6;margin-left:auto;border-top-right-radius:4px}
.msg small{display:block;color:#7a8a85;font-size:.68rem;margin-top:4px}
.typing{display:inline-flex;gap:4px;background:#DCF8C6;padding:10px 14px;border-radius:14px}
.typing i{width:7px;height:7px;border-radius:50%;background:#6aa684;animation:ty 1.2s infinite}
.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
@keyframes ty{50%{transform:translateY(-4px);opacity:.5}}
.feat-wide{background:var(--wa-mint);border-radius:32px;padding:44px;display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center;margin-top:44px}
.feat-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}
.feat{background:var(--wa-mint);border-radius:28px;padding:36px;text-align:center;display:flex;flex-direction:column;gap:14px}
.feat p{color:#506560}
.aud{display:grid;grid-template-columns:1fr 1.1fr;background:#fff;border-radius:20px;border:1px solid #DDEBE5;overflow:hidden;text-align:left}
.aud .l{padding:22px;border-right:1px solid #EEF3F1;font-size:.75rem;font-weight:700;letter-spacing:.1em;color:#5b6b66}
.aud .opt-r{margin-top:14px;display:flex;justify-content:space-between;align-items:center;border:1.5px solid var(--wa);background:var(--wa-mint);border-radius:12px;padding:12px 14px;font-size:.82rem;font-weight:700;color:var(--wa-d);letter-spacing:0}
.aud .opt-r.off{border-color:#E3ECE8;background:#fff;color:#7a8a85}
.aud .r{padding:22px;background:#F6F1EA}
.aud .tpl{background:#DCF8C6;border-radius:12px;padding:14px;font-size:.8rem;color:#1b2b26;text-align:left}
.aud .send{margin-top:12px;background:var(--wa-d);color:#fff;border-radius:10px;padding:11px;font-size:.78rem;font-weight:700;text-align:center}
.costs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.costs .card{border-top:4px solid var(--wa)}
.costs .big{font:800 .72rem/1 var(--b);letter-spacing:.18em;text-transform:uppercase;color:var(--wa-d);margin-bottom:10px}
.usecase{background:#fff;border:1px solid #E3ECE8;border-radius:24px;padding:26px}
.usecase h3{display:flex;gap:10px;align-items:center}
.usecase .msg{max-width:100%;margin:12px 0 0}
.ibox{display:flex;gap:14px;background:#FFF8E6;border:1px solid #F3E2B3;border-radius:16px;padding:16px 20px;font-size:.88rem;color:#5b4a14;margin-top:28px}

/* ---------- motion ---------- */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}html{scroll-behavior:auto}}

/* ---------- responsive ---------- */
@media (max-width:1020px){
  .hero-grid,.cta-grid,.two,.split,.feat-wide,.founder{grid-template-columns:1fr}
  .founder img{max-width:260px}
  .grid3,.grid5,.story,.costs{grid-template-columns:1fr 1fr}
  .grid4,.steps4,.facts{grid-template-columns:1fr 1fr}
  .road{grid-template-columns:1fr 1fr;row-gap:80px}
  .road::before,.road::after{display:none}
  .foot-grid{grid-template-columns:1fr 1fr}
  .bub{display:none}
  .tstrip .wrap{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .burger{display:block}
  .links{position:fixed;inset:76px 0 auto 0;background:#fff;flex-direction:column;align-items:flex-start;gap:0;padding:12px 24px 24px;border-bottom:1px solid var(--line);display:none;max-height:calc(100vh - 76px);overflow:auto}
  .links.open{display:flex}
  .links>a,.dd>a{padding:14px 0;width:100%;font-size:1.05rem;border-bottom:1px solid var(--line)}
  .dd{width:100%}.dd-m{position:static;display:block;box-shadow:none;border:0;padding:0 0 6px 14px}
  .nav .btn-sm{display:none}
  .sec{padding:64px 0}
  .grid3,.grid4,.grid5,.story,.costs,.steps3,.steps4,.facts,.feat-grid{grid-template-columns:1fr}
  .road{grid-template-columns:1fr}
  .demo-row{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .float{display:none}
  .laptop-sm{display:none}
  .stickybar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:70;gap:10px;padding:10px 12px;background:rgba(255,255,255,.96);border-top:1px solid var(--line);backdrop-filter:blur(8px)}
  .stickybar .btn{flex:1;padding:14px 10px;font-size:.7rem;letter-spacing:.08em}
  .wa-float{display:none}
  body{padding-bottom:70px}
  .btn-lg{padding:16px 22px}
  .row .btn{flex:1 1 100%}
  .aud{grid-template-columns:1fr}.aud .l{border-right:0;border-bottom:1px solid #EEF3F1}
}

/* accessibility: links in running text are underlined, footer contrast */
main p a,.faq a,.check a,.foot-legal a,.small a{text-decoration:underline;text-underline-offset:3px}
.foot .muted,.foot .small{color:#B4BEC9}
.fh{font:600 .72rem/1 var(--b);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-l);margin:0 0 18px}

/* =====================================================================
   v3.1 additions: Arabic-script languages (RTL), numbered marquee, project cards with phone,
   orbit visuals, chat widget, booking embed, articles
   ===================================================================== */
@font-face{font-family:'Noto Naskh Arabic';font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/naskh.woff2) format('woff2')}
body.lang-ar,body.lang-ur{--h:'Noto Naskh Arabic',Tahoma,serif;--b:'Noto Naskh Arabic',Inter,Tahoma,sans-serif;line-height:1.95}
body.lang-ar h1,body.lang-ur h1,body.lang-ar h2,body.lang-ur h2,body.lang-ar h3,body.lang-ur h3{letter-spacing:0;line-height:1.5}
body.lang-ar .eyebrow,body.lang-ur .eyebrow,body.lang-ar .btn,body.lang-ur .btn,body.lang-ar .pill,body.lang-ur .pill,body.lang-ar .tag,body.lang-ur .tag,body.lang-ar .more,body.lang-ur .more,body.lang-ar .rung,body.lang-ur .rung,body.lang-ar .fh,body.lang-ur .fh,body.lang-ar .cap,body.lang-ur .cap,body.lang-ar .chips-l,body.lang-ur .chips-l,body.lang-ar .facts dt,body.lang-ur .facts dt,body.lang-ar .marq-in,body.lang-ur .marq-in{letter-spacing:0;text-transform:none}
body.lang-ar .hl,body.lang-ur .hl{font-style:normal}
[dir=rtl] .flip{transform:scaleX(-1)}
[dir=rtl] .flip.back{transform:none}
.langs{display:inline-flex;gap:4px;align-items:center;margin-inline-start:6px}
.langs a{font:600 .72rem/1 var(--b);padding:7px 9px;border-radius:999px;color:var(--muted)!important;border:1px solid transparent}
.langs a:hover,.langs a[aria-current]{color:var(--ink)!important;border-color:var(--gold-l);background:var(--mist);text-decoration:none}

/* marquee: 1 > 2 > 3 > 4 | promise */
.form input.hp,.card.form input.hp{position:absolute;inset-inline-start:0;top:0;width:1px;height:1px;padding:0;border:0;margin:0;opacity:0;overflow:hidden;clip:rect(0 0 0 0);pointer-events:none}
.form{position:relative}
.marquee{padding:16px 0;overflow:hidden;overflow:clip;contain:paint}
body{overflow-x:hidden;overflow-x:clip}
.marq-in{display:inline-flex;align-items:center;gap:26px;width:max-content;animation:marq3 46s linear infinite;font:500 .78rem/1 var(--b);letter-spacing:.26em}
.mq{display:inline-flex;align-items:center;gap:12px}
.mq b{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--honey);color:var(--ink);font:700 .78rem/1 var(--b);letter-spacing:0}
.mq-ar{display:inline-flex;color:var(--gold-l)}
.mq-ar .ic{width:22px;height:22px;stroke-width:2}
.mq-pipe{width:2px;height:24px;background:var(--gold);margin:0 10px}
.mq-goal{color:var(--gold-l)}
.mq-gap{width:110px}
@keyframes marq3{to{transform:translateX(-33.3333%)}}
[dir=rtl] .marq-in{animation-name:marq3r}
@keyframes marq3r{to{transform:translateX(33.3333%)}}

/* project cards */
.pcard .shot{position:relative}
.mini-phone{position:absolute;inset-inline-end:34px;bottom:0;width:19%;background:#0e1319;border-radius:14px 14px 0 0;padding:4px 4px 0;box-shadow:0 10px 24px rgba(22,32,43,.3)}
.mini-phone img{border-radius:10px 10px 0 0;aspect-ratio:500/760;object-fit:cover;object-position:top;width:100%}
.status{display:inline-block;font:600 .66rem/1 var(--b);letter-spacing:.06em;color:var(--text);background:var(--pale);border:1px solid var(--line);border-radius:999px;padding:5px 10px;margin-inline-start:8px;vertical-align:1px}
body.lang-ar .status,body.lang-ur .status{letter-spacing:0}

/* service hero with orbit visual */
.svc-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
.svc-hero h1{max-width:18ch}
.orbit{position:relative;aspect-ratio:1;width:min(100%,520px);margin-inline:auto}
.orbit .o{position:absolute;border-radius:50%}
.o1{inset:0;border:1.5px dashed var(--gold)}
.o2{inset:10%;background:radial-gradient(circle at 30% 28%,#fff,#E3ECF4 72%);box-shadow:inset 0 0 0 10px rgba(255,255,255,.7)}
.o3{inset:23%;border:1.5px solid var(--gold-l);background:rgba(255,255,255,.55)}
.od{position:absolute;border-radius:50%;background:var(--honey);box-shadow:0 0 0 5px rgba(242,201,76,.28);width:14px;height:14px}
.d1{top:11%;inset-inline-start:15%}.d2{bottom:15%;inset-inline-end:11%;width:10px;height:10px}.d3{top:48%;inset-inline-end:-1%;width:18px;height:18px;background:var(--gold);box-shadow:none}
.orbit-in{position:absolute;inset:0;display:grid;place-items:center}
.tilt{width:80%;transform:perspective(1100px) rotateY(-16deg) rotateX(7deg) rotate(-3deg);filter:drop-shadow(0 28px 26px rgba(22,32,43,.28))}
[dir=rtl] .tilt{transform:perspective(1100px) rotateY(16deg) rotateX(7deg) rotate(3deg)}
.orbit-in .ph-r{position:absolute;inset-inline-end:3%;bottom:7%;width:27%}
.orbit-in .ph-l{position:absolute;inset-inline-start:11%;top:15%;width:33%;transform:rotate(-8deg)}
.orbit-in .ph-c{position:absolute;inset-inline-end:9%;top:23%;width:33%;transform:rotate(7deg)}
.orbit-in .phone{padding:5px;border-radius:22px}
.orbit-in .phone::before{display:none}
.orbit-in .phone img{border-radius:17px}
.orbit .float{z-index:3}
.circ{width:64%;aspect-ratio:1;object-fit:cover;object-position:50% 22%;border-radius:50%;border:9px solid #fff;box-shadow:0 26px 50px rgba(22,32,43,.25)}
.infra-wrap{width:80%}
.infra{width:100%;height:auto}
.swatch{position:absolute;width:46px;height:46px;border-radius:50%;border:4px solid #fff;box-shadow:var(--shadow)}
.s1{background:var(--gold);inset-inline-start:7%;bottom:33%}.s2{background:var(--ink);inset-inline-start:15%;bottom:22%}.s3{background:var(--honey);inset-inline-start:24%;bottom:12%}
.aa{position:absolute;top:9%;inset-inline-end:9%;width:84px;height:84px;border-radius:50%;background:#fff;display:grid;place-items:center;font:600 2.2rem/1 var(--h);color:var(--gold-d);box-shadow:var(--shadow)}
.orbit.apps .o3{inset:20%}

/* chat widget */
.chat-fab{position:fixed;inset-inline-end:20px;bottom:94px;z-index:61;display:flex;gap:8px;align-items:center;background:var(--ink);color:#fff;border:0;border-radius:999px;padding:14px 20px;font:600 .78rem/1 var(--b);letter-spacing:.1em;text-transform:uppercase;box-shadow:0 12px 30px rgba(22,32,43,.3);cursor:pointer}
body.lang-ar .chat-fab,body.lang-ur .chat-fab{letter-spacing:0;text-transform:none;font-size:.9rem}
.chat-fab:hover{background:var(--gold-d)}
.wa-float{inset-inline-end:20px}
[dir=rtl] .wa-float{right:auto}
.chat{position:fixed;inset-inline-end:20px;bottom:94px;z-index:80;width:min(390px,calc(100vw - 24px));height:min(580px,calc(100vh - 120px));background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 80px rgba(22,32,43,.3);display:flex;flex-direction:column;overflow:hidden}
.chat[hidden]{display:none}
.chat header{display:flex;gap:12px;align-items:center;padding:14px 16px;background:var(--ink);color:#fff}
.chat header img{border-radius:9px}
.chat header div{flex:1;line-height:1.3}
.chat header b{display:block;font:600 1rem var(--h)}
.chat header span{font-size:.76rem;color:#B4BEC9}
.chat-x{background:none;border:0;color:#fff;cursor:pointer;width:36px;height:36px;display:grid;place-items:center;border-radius:50%}
.chat-x:hover{background:rgba(255,255,255,.12)}
.chat-log{flex:1;overflow:auto;padding:16px;background:var(--mist);display:flex;flex-direction:column;gap:10px}
.cm{max-width:86%;padding:10px 14px;border-radius:16px;font-size:.9rem;line-height:1.55}
.cm.b{background:#fff;border:1px solid var(--line);border-end-start-radius:4px;align-self:flex-start;color:var(--ink)}
.cm.u{background:var(--ink);color:#fff;border-end-end-radius:4px;align-self:flex-end}
.cm a{color:inherit;text-decoration:underline}
.chat-chips{display:flex;flex-wrap:wrap;gap:8px;padding:10px 14px 4px;background:var(--mist)}
.chat-chips button{font:500 .8rem/1.3 var(--b);background:#fff;border:1.5px solid var(--gold-l);color:var(--ink);border-radius:999px;padding:8px 12px;cursor:pointer;text-align:start}
.chat-chips button:hover{border-color:var(--gold);background:var(--pale)}
.chat-in{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line);background:#fff}
.chat-in input{flex:1;font:400 .95rem var(--b);padding:12px 14px;border:1.5px solid var(--line);border-radius:999px;min-width:0}
.chat-in input:focus{outline:none;border-color:var(--gold)}
.chat-in button{width:44px;height:44px;border-radius:50%;border:0;background:var(--ink);color:#fff;cursor:pointer;display:grid;place-items:center;flex:none}
[dir=rtl] .chat-in button .ic{transform:scaleX(-1)}
.chat-wa{display:flex;gap:8px;align-items:center;justify-content:center;padding:11px;background:var(--wa);color:#06361f!important;font:600 .8rem/1 var(--b);text-decoration:none!important}
.cf{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;align-self:stretch}
.cf input{font:400 .9rem var(--b);padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;width:100%}
.cf button{font:600 .8rem var(--b);padding:11px;border:0;border-radius:999px;background:var(--ink);color:#fff;cursor:pointer}
.cf small{color:var(--muted);font-size:.72rem;line-height:1.4}

/* booking embed, articles */
.cal{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
.article{font-size:1.08rem}
.article h2{margin-top:1.6em}.article h3{margin-top:1.3em}.article ul,.article ol{padding-inline-start:1.3em}.article img{border-radius:16px;margin:1em 0}
.article blockquote{border-inline-start:4px solid var(--gold);margin:1.2em 0;padding:.2em 1.2em;color:var(--ink);background:var(--mist);border-radius:0 12px 12px 0}

/* =========================== RTL overrides =========================== */
[dir=rtl] .f1{left:auto;right:-4%}[dir=rtl] .f2{right:auto;left:-6%}[dir=rtl] .f3{left:auto;right:-9%}
[dir=rtl] .laptop-sm{right:auto;left:-20%}
[dir=rtl] .dd-m{left:auto;right:-18px}
[dir=rtl] .stop li{padding:7px 22px 7px 0}[dir=rtl] .stop li::before{left:auto;right:2px}
[dir=rtl] .stop ul{text-align:right}
[dir=rtl] .faq summary{padding:20px 0 20px 28px}[dir=rtl] .faq summary::after{right:auto;left:0}
[dir=rtl] .b1{left:auto;right:4%}[dir=rtl] .b2{right:auto;left:4%}[dir=rtl] .b3{right:auto;left:8%}[dir=rtl] .b4{left:auto;right:8%}
[dir=rtl] .pn{flex-direction:row-reverse}
@media (max-width:1020px){.svc-hero-grid{grid-template-columns:1fr}.orbit{max-width:420px}}
@media (max-width:760px){
  .chat-fab{inset-inline-end:12px;bottom:80px;padding:12px 16px}
  .chat{inset-inline-end:8px;bottom:78px;height:min(560px,calc(100vh - 100px))}
  .langs{margin:10px 0 0}
  .mini-phone{width:24%;inset-inline-end:22px}
  .orbit .float{display:none}
}

/* Bengali */
@font-face{font-family:'Noto Sans Bengali';font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/bengali.woff2) format('woff2')}
body.lang-bn{--h:'Noto Sans Bengali',Inter,sans-serif;--b:'Noto Sans Bengali',Inter,sans-serif;line-height:1.85}
body.lang-bn h1,body.lang-bn h2,body.lang-bn h3{letter-spacing:0;line-height:1.4;font-weight:700}
body.lang-bn .eyebrow,body.lang-bn .btn,body.lang-bn .pill,body.lang-bn .tag,body.lang-bn .more,body.lang-bn .rung,body.lang-bn .fh,body.lang-bn .cap,body.lang-bn .chips-l,body.lang-bn .facts dt,body.lang-bn .marq-in,body.lang-bn .status,body.lang-bn .chat-fab{letter-spacing:0;text-transform:none}
body.lang-bn .hl{font-style:normal}

[dir=rtl] .bub .bt b{unicode-bidi:plaintext}

/* =====================================================================
   v3.2: language dropdown, realistic device sets (phone stands outside the laptop), chat suggestion drop-up
   ===================================================================== */

/* language dropdown */
.lang{position:relative;margin-inline-start:4px}
.lang summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font:600 .78rem/1 var(--b);color:var(--ink);padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;user-select:none}
.lang summary::-webkit-details-marker{display:none}
.lang summary .ic{width:16px;height:16px}
.lang summary .ic:last-child{width:14px;height:14px;transition:transform .2s}
.lang[open] summary .ic:last-child{transform:rotate(180deg)}
.lang summary:hover{border-color:var(--gold)}
.lang-m{position:absolute;top:calc(100% + 8px);inset-inline-end:0;min-width:176px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px rgba(22,32,43,.16);padding:6px;z-index:70}
.lang-m a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;color:var(--ink)!important;font-size:.92rem;text-decoration:none!important}
.lang-m a:hover{background:var(--pale)}
.lang-m a[aria-current]{font-weight:600;background:var(--mist)}
.lang-m a .ic{width:16px;height:16px;color:var(--gold-d)}
@media (max-width:760px){.lang{margin:12px 0 0;width:100%}.lang summary{width:100%;justify-content:center}.lang-m{position:static;margin-top:8px;box-shadow:none}}

/* device set: laptop with the phone standing outside it */
.dev{position:relative;width:100%;aspect-ratio:16/10.6}
.dev .lap{position:absolute;left:0;top:3%;width:80%;filter:drop-shadow(0 22px 22px rgba(22,32,43,.22))}
.lap-scr{position:relative;background:#0b0f13;border-radius:13px 13px 3px 3px;padding:2.6% 2.6% 0;border:1px solid #20272e}
.lap-scr .cam{position:absolute;top:1%;left:50%;width:5px;height:5px;border-radius:50%;background:#2b333b;transform:translateX(-50%)}
.lap-scr img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top;border-radius:2px 2px 0 0;background:#fff}
.lap-base{position:relative;height:13px;margin:0 -4.5%;background:linear-gradient(#eef1f4,#b9c1ca 70%,#9aa4af);border-radius:0 0 16px 16px}
.lap-base::before{content:"";position:absolute;left:50%;top:0;width:15%;height:5px;transform:translateX(-50%);background:#8e98a3;border-radius:0 0 8px 8px}
.dev .mock-photo{position:absolute;left:0;top:0;width:88%;height:auto;border-radius:14px;box-shadow:0 22px 40px rgba(22,32,43,.28)}
.dev .ph{position:absolute;right:0;bottom:-2%;width:27%;background:#0b0f13;border-radius:22px;padding:4px;border:1px solid #20272e;box-shadow:0 22px 34px rgba(22,32,43,.38);z-index:3}
.dev .ph .isl{position:absolute;top:8px;left:50%;width:30%;height:6px;border-radius:6px;background:#0b0f13;transform:translateX(-50%);z-index:4}
.dev .ph img{display:block;width:100%;aspect-ratio:500/1000;object-fit:cover;object-position:top;border-radius:18px;background:#fff}
.dev.big{max-width:680px;margin-inline:auto}
.pcard .shot{background:linear-gradient(180deg,#EAF1F7,#F4F8FB);padding:26px 22px 28px;position:relative;overflow:visible}
.pcard .shot .dev{max-width:360px;margin-inline:auto}
.devices.case-dev{align-items:flex-end}
.devices.case-dev .dev-wrap{flex:1 1 520px;max-width:700px}
[dir=rtl] .dev .lap,[dir=rtl] .dev .mock-photo{left:auto;right:0}
[dir=rtl] .dev .ph{right:auto;left:0}
@media (max-width:760px){.dev .ph{width:30%}.pcard .shot{padding:20px 16px 24px}}

/* chat: suggestions collapse to one line; the list opens upwards as a drop-up */
.chat-log{min-height:120px}
.chat-sug{position:relative;background:var(--mist);border-top:1px solid var(--line)}
.sug-t{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;background:none;border:0;padding:9px 14px;font:600 .72rem/1 var(--b);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-d);cursor:pointer}
body.lang-ar .sug-t,body.lang-ur .sug-t,body.lang-bn .sug-t{letter-spacing:0;text-transform:none;font-size:.8rem}
.sug-t .ic{width:16px;height:16px;transition:transform .2s}
.chat-sug:not(.col) .sug-t .ic,.chat-sug.col.open .sug-t .ic{transform:rotate(180deg)}
.chat-sug .chat-chips{padding:2px 12px 10px;max-height:132px;overflow:auto}
.chat-sug.col .chat-chips{display:none}
.chat-sug.col.open .chat-chips{display:flex;position:absolute;left:0;right:0;bottom:100%;max-height:230px;background:#fff;border-top:1px solid var(--line);box-shadow:0 -16px 30px rgba(22,32,43,.14);padding:12px;z-index:5}
.cact{display:flex;flex-wrap:wrap;gap:8px;align-self:flex-start}
.cact button{font:600 .8rem/1 var(--b);background:#fff;border:1.5px solid var(--ink);color:var(--ink);border-radius:999px;padding:9px 14px;cursor:pointer}
.cact button:hover{background:var(--ink);color:#fff}

.cm.tp{opacity:.6;letter-spacing:.3em}
.cact .btn{text-decoration:none}
.cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:70;max-width:560px;margin:0 auto;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 50px rgba(22,32,43,.22);padding:16px 18px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.cookie[hidden]{display:none}.cookie p{margin:0;font-size:14px;flex:1 1 240px}.cookie div{display:flex;gap:8px}
.cookie .btn{padding:9px 16px;font-size:14px}#cookie-no{background:#fff;color:var(--ink);border:1.5px solid var(--ink)}
@media(max-width:700px){.cookie{bottom:74px}}
.pn{display:flex;gap:8px;align-items:stretch}.pn select{flex:0 0 auto;width:auto;max-width:122px;padding-inline:10px}.pn input{flex:1;min-width:0}
.cf .pn select{font:400 .9rem var(--b);padding:10px 8px;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}
#book-form{margin-bottom:24px}#book-form h2{margin:0 0 6px}
