/* =========================================================
   Greenology Engineering — main stylesheet
   ========================================================= */
:root{
  --bg:#070A14; --bg-2:#0A0E1E; --bg-3:#0D1122; --bg-4:#0B0F1E;
  --panel:#0F1428; --panel-2:#0E1429; --node:#10162C; --footer:#050712;
  --light:#FAFBFC; --ink:#0A1020;
  --blue:#2F6BFF; --cyan:#5CE1FF; --violet:#8B5CF6; --emerald:#34D399;
  --line:rgba(255,255,255,.1); --line-soft:rgba(255,255,255,.06);
  --muted:rgba(255,255,255,.6); --muted-2:rgba(255,255,255,.7);
  --logo:#22C55E; --logo-bg:#fff; --logo-glow:rgba(34,197,94,.28);
  --font:'Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --display:'Instrument Serif',Georgia,'Times New Roman',serif;
  --heading:'Sora','Inter',ui-sans-serif,system-ui,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  --header-h:68px;
}
[dir=rtl]{
  --font:'Cairo',ui-sans-serif,system-ui,sans-serif;
  --display:'Cairo',ui-sans-serif,system-ui,sans-serif;
  --heading:'Cairo',ui-sans-serif,system-ui,sans-serif;
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-h);-webkit-text-size-adjust:100%}
body{background:var(--bg);color:#fff;font-family:var(--font);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden}
::selection{background:rgba(47,107,255,.3)}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
img,svg,canvas{display:block;max-width:100%}
input,select,textarea{font:inherit;color:inherit}
ul,ol{list-style:none}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:6px}
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:10px}
.skip-link{position:absolute;inset-inline-start:12px;top:-60px;z-index:200;background:#fff;color:#000;padding:8px 14px;border-radius:999px;font-size:13px}
.skip-link:focus{top:12px}
.hp{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;border:0!important;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;opacity:0;pointer-events:none}
.rel{position:relative}
[dir=rtl] .arr{display:inline-block;transform:scaleX(-1)}

/* ---------- Layout ---------- */
.container{width:100%;max-width:1440px;margin-inline:auto;padding-inline:24px}
.container.narrow{max-width:860px}
@media(min-width:1024px){.container{padding-inline:32px}}

.grid{display:grid;gap:20px;margin-top:40px}
.grid.gap-16{gap:16px}
@media(min-width:640px){.cols-sm-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:768px){.cols-md-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-md-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1024px){.cols-lg-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-lg-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-lg-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1280px){.cols-xl-4{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* ---------- Type ---------- */
.display{font-family:var(--display);font-weight:400;letter-spacing:-.03em;line-height:.95}
[dir=rtl] .display{letter-spacing:0;line-height:1.25;font-weight:700}
.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;opacity:.6}
[dir=rtl] .eyebrow{letter-spacing:0}

/* ---------- Surfaces & buttons ---------- */
.glass{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.glow{transition:box-shadow .3s}
.glow:hover{box-shadow:0 0 0 1px rgba(47,107,255,.3),0 10px 40px rgba(47,107,255,.18)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 24px;border-radius:999px;font-size:14px;font-weight:500;white-space:nowrap;transition:transform .2s ease,box-shadow .2s,background .2s,opacity .2s}
.btn:hover{transform:translateY(-1px) scale(1.01)}
.btn:disabled{opacity:.6;cursor:progress;transform:none}
.btn-white{background:#fff;color:#000}
.btn-black{background:#000;color:#fff}
.btn-outline{border:1px solid rgba(0,0,0,.1);color:var(--ink);background:transparent}
.btn-outline:hover{border-color:rgba(0,0,0,.25)}
.btn-md{height:40px;padding:0 20px;font-size:13px}
.btn-sm{height:36px;padding:0 16px;font-size:13px}
.btn-xs{height:32px;padding:0 16px;font-size:12px}
.icon-btn{height:36px;width:36px;border-radius:50%;display:inline-grid;place-items:center;flex-shrink:0}
.icon-btn.sm{height:32px;width:32px;font-size:13px}
.icon-btn.light{background:rgba(0,0,0,.05);color:#000}

.tag{display:inline-flex;align-items:center;font-size:11px;padding:4px 10px;border-radius:999px;background:rgba(0,0,0,.05);border:1px solid rgba(0,0,0,.1);white-space:nowrap}
.tag.xs{font-size:10px;padding:2px 8px}
.tag.dark{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.1)}
.link-more{display:inline-flex;align-items:center;gap:4px;margin-top:16px;font-size:12px;color:var(--muted-2);transition:gap .2s,color .15s}
.link-more:hover{gap:8px;color:#fff}
.link-more.ink{color:var(--ink);opacity:.75}
.link-more.ink:hover{color:var(--ink);opacity:1}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line-soft);background:rgba(7,10,20,.7);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}
.header-inner{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:16px}
.header-left{display:flex;align-items:center;gap:32px;min-width:0}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}
.logo-mark{height:32px;width:32px;border-radius:10px;background:var(--logo-bg);color:var(--logo);display:grid;place-items:center;font-family:'Sora',sans-serif;font-weight:700;font-size:18px;line-height:1;box-shadow:0 6px 22px var(--logo-glow)}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-name{font-family:var(--heading);font-weight:600;font-size:15px;letter-spacing:-.02em}
.brand-sub{font-size:10px;letter-spacing:.18em;opacity:.6;margin-top:3px}
.main-nav{display:none;align-items:center;gap:16px;font-size:13px}
.main-nav a{opacity:.8;transition:opacity .15s;white-space:nowrap}
.main-nav a:hover,.main-nav a.active{opacity:1}
.main-nav a.active{text-decoration:underline;text-underline-offset:6px;text-decoration-color:var(--logo)}
.header-right{display:flex;align-items:center;gap:10px}
.lang-btn{height:36px;padding:0 12px;border-radius:999px;font-size:12px;letter-spacing:.025em;display:inline-flex;align-items:center;white-space:nowrap}
.ask-btn{display:none;height:36px;align-items:center;gap:8px;padding:0 12px 0 8px;border-radius:999px;font-size:13px;white-space:nowrap}
[dir=rtl] .ask-btn{padding:0 8px 0 12px}
.spark{height:20px;width:20px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--cyan));display:inline-grid;place-items:center;font-size:11px;color:#fff;flex-shrink:0}
.spark.lg{height:32px;width:32px;font-size:13px}
.mobile-nav{display:none;border-top:1px solid var(--line);background:var(--bg);padding:16px 24px 24px}
.mobile-nav.open{display:block}
.mobile-nav a{display:block;padding:8px 0;font-size:15px;opacity:.9}
@media(min-width:768px){.ask-btn{display:inline-flex}}
@media(min-width:1360px){.main-nav{display:flex}.menu-toggle{display:none}.mobile-nav.open{display:none}}
@media(min-width:1360px) and (max-width:1559px){.ask-btn{display:none}}
@media(max-width:420px){.header-right .btn-sm{display:none}}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;min-height:92vh;display:flex;align-items:center}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.9}
.hero-glow{pointer-events:none;position:absolute;inset:0;background:radial-gradient(1200px 600px at 20% -10%,rgba(47,107,255,.18),transparent),radial-gradient(900px 500px at 90% 20%,rgba(92,225,255,.12),transparent),radial-gradient(800px 400px at 50% 100%,rgba(139,92,246,.16),transparent)}
.hero-grid{position:relative;padding-block:64px;display:grid;gap:40px;align-items:center}
@media(min-width:1024px){.hero-grid{grid-template-columns:1.15fr .85fr;padding-block:96px}}
.pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.04);padding:4px 12px;font-size:11px;letter-spacing:.025em;text-transform:uppercase}
.dot{height:6px;width:6px;border-radius:50%;background:var(--cyan);animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;flex-shrink:0}
@keyframes pulse{50%{opacity:.5}}
.hero-title{margin-top:24px;font-size:36px;max-width:16ch;letter-spacing:-.04em}
@media(min-width:640px){.hero-title{font-size:46px}}
@media(min-width:1024px){.hero-title{font-size:64px}}
[dir=rtl] .hero-title{max-width:20ch;letter-spacing:0}
.grad-text{background:linear-gradient(90deg,#fff,#fff,#8FB4FF);-webkit-background-clip:text;background-clip:text;color:transparent;font-style:italic}
[dir=rtl] .grad-text{background-image:linear-gradient(270deg,#fff,#fff,#8FB4FF);font-style:normal}
.hero-lead{margin-top:24px;max-width:52ch;font-size:16px;line-height:1.75rem;color:var(--muted-2)}
.hero-ctas{margin-top:32px;display:flex;flex-wrap:wrap;gap:12px}
.hero-stats{margin-top:48px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;border-top:1px solid var(--line);padding-top:24px}
@media(min-width:640px){.hero-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
.stat-n{font-family:var(--display);font-size:30px;line-height:1}
.stat-l{margin-top:4px;font-size:11px;letter-spacing:.025em;text-transform:uppercase;color:var(--muted)}

@media(min-width:1024px){.live-wrap{padding-inline-start:24px}}
.live-card{margin-inline:auto;max-width:520px;border-radius:24px;padding:1px}
.live-inner{border-radius:23px;background:var(--bg-4);padding:20px;overflow:hidden;position:relative}
@media(min-width:640px){.live-inner{padding:24px}}
.live-inner::before{content:"";position:absolute;inset:0;background:radial-gradient(400px 200px at 80% 0%,rgba(47,107,255,.22),transparent);pointer-events:none}
.live-inner>*{position:relative}
.live-head{display:flex;align-items:center;justify-content:space-between}
.live-id{display:flex;align-items:center;gap:12px}
.live-title{font-size:13px;font-weight:500}
.live-sub{font-size:11px;color:var(--muted)}
.avatar{height:36px;width:36px;border-radius:50%;background:var(--logo-bg);color:var(--logo);display:grid;place-items:center;font-family:'Sora',sans-serif;font-weight:700;font-size:15px;flex-shrink:0}
.avatar.lg{height:40px;width:40px;font-size:12px;color:#000}
.live-status{height:8px;width:8px;border-radius:50%;background:var(--emerald);box-shadow:0 0 12px rgba(52,211,153,.8);animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}
.metrics{margin-top:20px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.metric{border-radius:12px;background:rgba(255,255,255,.04);border:1px solid var(--line);padding:12px}
.metric-k{font-size:10px;text-transform:uppercase;letter-spacing:.025em;color:rgba(255,255,255,.5)}
.metric-v{margin-top:4px;font-weight:500;font-size:18px}
.metric-d{font-size:11px;color:#6EE7B7}
.trace{margin-top:16px;border-radius:12px;background:var(--panel-2);border:1px solid var(--line);padding:12px}
.trace-title{font-size:11px;color:var(--muted)}
.trace pre{margin-top:8px;font-family:var(--mono);font-size:11px;line-height:1.25rem;color:rgba(255,255,255,.8);white-space:pre-wrap;word-break:break-word;direction:ltr;text-align:start}
.live-actions{margin-top:16px;display:flex;gap:8px}
.live-actions .btn{flex:1;height:36px;font-size:13px}
.trusted{margin-top:24px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:11px;color:rgba(255,255,255,.5);text-align:center}
.trusted::before,.trusted::after{content:"";height:1px;width:48px;background:rgba(255,255,255,.15);flex-shrink:0}

/* ---------- Sections ---------- */
.section{padding-block:80px;border-top:1px solid var(--line)}
@media(min-width:1024px){.section{padding-block:112px}.section.compact{padding-block:96px}}
.section.tight{padding-block:56px}
.s-dark{background:var(--bg)}
.s-darker{background:var(--bg-2);position:relative;overflow:hidden}
.s-mid{background:var(--bg-3)}
.s-light{background:var(--light);color:var(--ink);border-top-color:rgba(0,0,0,.05)}
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px}
.head-copy{max-width:60ch}
.center-head{max-width:60ch;margin-inline:auto;text-align:center}
.sec-title{font-size:40px;margin-top:12px}
.sec-head>.sec-title:first-child,.sec-head>.reveal>.sec-title:first-child{margin-top:0}
.sec-title.narrow{max-width:14ch}
.sec-title.sm{font-size:36px}
.sec-title.xl{max-width:14ch;letter-spacing:-.04em;line-height:.9}
@media(min-width:1024px){.sec-title{font-size:54px}.sec-title.sm{font-size:48px}.sec-title.xl{font-size:64px}}
[dir=rtl] .sec-title.xl{line-height:1.2}
.sec-sub{margin-top:16px;font-size:15px;line-height:1.5rem;opacity:.7;max-width:60ch}
.s-dark .sec-sub,.s-darker .sec-sub,.s-mid .sec-sub{opacity:1;color:var(--muted)}
.sec-sub.short{max-width:40ch;font-size:14px;margin-top:12px}
.side-sub{max-width:40ch;font-size:14px;line-height:1.5rem;opacity:.7;padding-top:8px}
.s-dark .side-sub{opacity:1;color:var(--muted)}

/* Chips */
.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;max-width:100%;scrollbar-width:thin}
.chips.wrap{flex-wrap:wrap;overflow:visible}
.chip{display:inline-flex;align-items:center;height:32px;padding:0 16px;border-radius:999px;font-size:13px;border:1px solid rgba(0,0,0,.1);background:#fff;color:var(--ink);white-space:nowrap;transition:border-color .15s,background .15s,color .15s}
.chip:hover{border-color:rgba(0,0,0,.2)}
.chip.active{background:#000;color:#fff;border-color:#000}

/* ---------- Systems ---------- */
.sys-card{border-radius:20px;border:1px solid rgba(0,0,0,.1);background:#fff;padding:20px;display:flex;flex-direction:column;transition:box-shadow .3s,transform .3s}
.sys-card:hover{box-shadow:0 20px 60px rgba(0,0,0,.08);transform:translateY(-4px)}
.sys-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.muted-s{font-size:11px;opacity:.5;text-align:end}
.sys-title{margin-top:16px;display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.sys-title h3{font-family:var(--heading);font-weight:600;font-size:18px;line-height:1.25}
.accent-dot{height:32px;width:32px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:12px;flex-shrink:0}
.sys-desc{margin-top:8px;font-size:13px;line-height:1.25rem;opacity:.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mock{margin-top:16px;height:148px;border-radius:14px;overflow:hidden;border:1px solid rgba(0,0,0,.1);position:relative;background:#F5F7FB}
.mock-glow{position:absolute;inset:0}
.mock-body{position:absolute;inset:0;padding:12px;display:grid;grid-template-rows:auto 1fr;gap:12px}
.mock-dots{display:flex;gap:6px}
.mock-dots span{height:8px;width:8px;border-radius:50%;background:rgba(0,0,0,.2)}
.mock-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.mock-panel{border-radius:8px;background:#fff;border:1px solid rgba(0,0,0,.05);padding:8px;display:flex;flex-direction:column;gap:8px;min-width:0}
.mock-panel.span2{grid-column:span 2}
.mock-row{display:flex;justify-content:space-between}
.bar{height:8px;border-radius:4px;background:rgba(0,0,0,.1)}
.w8{width:32px}.w12{width:48px}.w16{width:64px}.w20{width:80px}
.blk{border-radius:4px;background:rgba(0,0,0,.05)}
.blk.h6{height:24px}
.fade-blk{border-radius:4px;background:linear-gradient(135deg,rgba(0,0,0,.06),transparent)}
.mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.tagrow{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px}
.tagrow.tight{margin-top:8px}
.tg{font-size:10px;padding:4px 8px;border-radius:999px;background:#F1F4F9;border:1px solid rgba(0,0,0,.05)}
.tg-dark{background:#000;color:#fff;border-color:#000}
.card-actions{margin-top:auto;padding-top:20px;display:flex;gap:8px;flex-wrap:wrap}
.card-actions .btn{height:36px;font-size:13px;padding:0 16px}
.card-actions .grow{flex:1}

/* ---------- Services ---------- */
.bento{display:grid;gap:16px;margin-top:40px;grid-auto-rows:minmax(160px,auto)}
@media(min-width:768px){.bento{grid-template-columns:repeat(3,minmax(0,1fr))}.svc.wide{grid-column:span 2}}
@media(min-width:1024px){.bento{grid-template-columns:repeat(4,minmax(0,1fr))}}
.svc{border-radius:18px;padding:20px;display:flex;flex-direction:column;justify-content:space-between;transition:border-color .15s}
.svc:hover{border-color:rgba(255,255,255,.15)}
.svc-icon{height:32px;width:32px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid var(--line);display:grid;place-items:center;font-size:14px}
.svc h3{margin-top:16px;font-family:var(--heading);font-weight:500;font-size:15px;line-height:1.25}
.svc p{margin-top:8px;font-size:13px;line-height:1.25rem;color:var(--muted)}
.banner{margin-top:32px;border-radius:20px;background:linear-gradient(90deg,#fff,#E9EFFF);padding:1px;color:#000}
.banner-in{border-radius:19px;background:linear-gradient(90deg,#F7F8FF,#fff);padding:24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
@media(min-width:1024px){.banner-in{padding:24px 32px}}
.banner-text{font-size:22px;letter-spacing:-.02em;line-height:1.1}
@media(min-width:1024px){.banner-text{font-size:28px}}

/* ---------- Technology orbit ---------- */
.tech-glow{pointer-events:none;position:absolute;inset:0;background:radial-gradient(800px 400px at 50% 0%,rgba(47,107,255,.12),transparent)}
.orbit{margin:48px auto 0;position:relative;max-width:860px;aspect-ratio:1.2/1;border-radius:28px;overflow:hidden}
.orbit svg{position:absolute;inset:0;width:100%;height:100%}
.orbit-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:92px;width:92px;border-radius:50%;background:#fff;color:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;font-size:9px;letter-spacing:.06em;box-shadow:0 0 40px rgba(47,107,255,.4);text-align:center;z-index:2}
.core-g{font-family:'Sora',sans-serif;font-size:28px;line-height:1;color:var(--logo);letter-spacing:0;margin-bottom:2px}
.orbit-node{position:absolute;transform:translate(-50%,-50%);z-index:1}
.orbit-node .lbl{display:block;border-radius:999px;background:var(--node);border:1px solid rgba(255,255,255,.15);padding:6px 12px;font-size:11px;white-space:nowrap;transition:border-color .15s,box-shadow .15s;cursor:default}
.orbit-node:hover .lbl{border-color:rgba(92,225,255,.5);box-shadow:0 0 20px rgba(92,225,255,.3)}
@media(max-width:640px){.orbit{aspect-ratio:1/1.05}.orbit-node .lbl{font-size:9px;padding:3px 7px}.orbit-core{height:72px;width:72px;font-size:7px}.core-g{font-size:22px}}

/* ---------- Vendors ---------- */
.vendor{border-radius:16px;background:#fff;border:1px solid rgba(0,0,0,.1);padding:16px;display:flex;gap:12px;align-items:flex-start;transition:box-shadow .15s}
.vendor:hover{box-shadow:0 12px 30px rgba(0,0,0,.06)}
.v-logo{height:40px;width:40px;border-radius:10px;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:600;font-size:12px;letter-spacing:.025em;flex-shrink:0}
.v-copy{min-width:0}
.v-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.v-name{font-weight:500;font-size:13px}
.v-desc{margin-top:4px;font-size:12px;line-height:1rem;opacity:.6}

/* ---------- Partners ---------- */
.partner{border-radius:18px;padding:20px;display:flex;flex-direction:column}
.partner-top{display:flex;align-items:center;justify-content:space-between}
.partner-name{margin-top:16px;font-weight:500;font-size:15px}
.partner-desc{margin-top:4px;font-size:13px;line-height:1.25rem;color:var(--muted);flex:1}

/* ---------- Work with us ---------- */
.work-card{border-radius:22px;padding:1px;overflow:hidden}
.work-in{border-radius:21px;background:var(--panel);padding:24px;height:100%;display:flex;flex-direction:column;min-height:220px}
@media(min-width:1024px){.work-in{padding:28px}}
.work-icon{height:40px;width:40px;border-radius:50%;background:rgba(255,255,255,.05);border:1px solid var(--line);display:grid;place-items:center}
.work-in h3{margin-top:20px;font-family:var(--heading);font-size:18px;font-weight:600}
.work-in p{margin-top:8px;font-size:13px;line-height:1.25rem;color:var(--muted);max-width:36ch}
.work-cta{margin-top:auto;padding-top:24px;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;transition:gap .2s;align-self:flex-start}
.work-card:hover .work-cta{gap:12px}

/* ---------- Projects ---------- */
.proj-card{border-radius:20px;background:#fff;border:1px solid rgba(0,0,0,.1);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s}
.proj-card:hover{box-shadow:0 20px 50px rgba(0,0,0,.08)}
.proj-visual{height:200px;position:relative}
.proj-metric{position:absolute;bottom:12px;inset-inline-end:12px;font-size:11px;padding:4px 8px;border-radius:999px;background:#000;color:#fff}
.proj-body{padding:20px;flex:1;display:flex;flex-direction:column}
.proj-body h3{font-weight:500;font-size:15px;line-height:1.25}
.proj-lines{margin-top:12px;display:grid;gap:8px;font-size:12px;line-height:1.25rem}
.muted-l{opacity:.5}
.proj-result{margin-top:12px;font-size:12px}
.proj-btn{margin-top:auto;width:100%}
.proj-result+.proj-btn{margin-top:20px}

/* Shared mock art (projects, posts without cover) */
.mock-art{position:absolute;inset:0;background:#EEF2FF;padding:16px;overflow:hidden}
.mock-art::before{content:"";position:absolute;inset:0;background:radial-gradient(400px 200px at 30% 0%,var(--mock-glow,rgba(47,107,255,.18)),transparent)}
.mock-art-inner{position:relative;height:100%;border-radius:12px;background:#fff;border:1px solid rgba(0,0,0,.1);padding:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.mock-art .mock-panel{background:#F6F7FB;border:0}

/* ---------- About ---------- */
.about-grid{margin-top:48px;display:grid;gap:40px}
@media(min-width:1024px){.about-grid{grid-template-columns:1.1fr .9fr}}
.about-cards{display:grid;gap:24px;font-size:14px;line-height:1.5rem}
@media(min-width:640px){.about-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.about-card{border-radius:16px;padding:20px}
.about-k{font-size:11px;text-transform:uppercase;letter-spacing:.025em;opacity:.5}
[dir=rtl] .about-k{letter-spacing:0}
.about-v{margin-top:8px;color:rgba(255,255,255,.8)}
.about-side{display:grid;gap:16px;align-content:start}
.stat-card{border-radius:20px;background:#fff;color:#000;padding:24px}
.stat-big{font-size:48px;line-height:1}
.stat-cap{font-size:13px;opacity:.7;margin-top:4px}
.mini-stats{margin-top:24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;font-size:12px}
.mini-stats div{border-radius:12px;background:rgba(0,0,0,.05);padding:12px}
.mini-stats strong{display:block;font-weight:600;font-size:20px}
.mini-stats span{opacity:.6}
.principles{border-radius:20px;padding:24px}
.principles ul{margin-top:12px;display:grid;gap:8px;font-size:13px;color:var(--muted-2);list-style:disc;padding-inline-start:16px}

/* ---------- Insights ---------- */
.insights-grid{margin-top:40px;display:grid;gap:20px}
@media(min-width:1024px){.insights-grid{grid-template-columns:1.2fr .8fr}}
.feat-post{position:relative;border-radius:20px;background:var(--ink);color:#fff;overflow:hidden;padding:24px;min-height:360px;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate}
@media(min-width:1024px){.feat-post{padding:32px}}
.feat-post.wide{margin-top:24px;min-height:420px}
.feat-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35;z-index:-2}
.feat-glow{position:absolute;inset:0;background:radial-gradient(600px 300px at 70% 0%,rgba(47,107,255,.25),transparent);z-index:-1}
.feat-tags{display:flex;gap:8px;flex-wrap:wrap}
.feat-copy{margin-top:auto;padding-top:48px}
.feat-copy h2,.feat-copy h3{font-size:28px;line-height:.95;max-width:18ch}
@media(min-width:1024px){.feat-copy h2,.feat-copy h3{font-size:36px}.feat-post.wide .feat-copy h2{font-size:48px;max-width:20ch}}
[dir=rtl] .feat-copy h2,[dir=rtl] .feat-copy h3{line-height:1.3}
.feat-excerpt{margin-top:12px;max-width:56ch;font-size:15px;line-height:1.6;color:var(--muted-2)}
.feat-date{margin-top:12px;font-size:12px;opacity:.6}
.feat-copy .btn{margin-top:20px}
.ins-list{display:grid;gap:16px}
@media(min-width:640px) and (max-width:1023px){.ins-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ins-card{border-radius:16px;background:#fff;border:1px solid rgba(0,0,0,.1);padding:16px;display:flex;flex-direction:column;justify-content:space-between;transition:box-shadow .15s}
.ins-card:hover{box-shadow:0 10px 30px rgba(0,0,0,.06)}
.ins-meta{display:flex;justify-content:space-between;font-size:11px;opacity:.6}
.ins-title{margin-top:12px;font-weight:500;font-size:14px;line-height:1.25}
.ins-date{margin-top:8px;font-size:11px;opacity:.6}

/* ---------- News timeline ---------- */
.news-heading{font-size:28px}
.timeline{margin-top:24px;position:relative;padding-inline-start:24px;border-inline-start:1px solid rgba(0,0,0,.1);display:grid;gap:24px}
.tl-item{position:relative;display:block}
.tl-dot{position:absolute;inset-inline-start:-29px;top:6px;height:8px;width:8px;border-radius:50%;background:#000}
.tl-meta{display:flex;gap:8px;align-items:center;font-size:11px}
.tl-meta>span:first-child{opacity:.6}
.tl-title{margin-top:4px;font-size:14px;font-weight:500}
.tl-item:hover .tl-title{text-decoration:underline;text-underline-offset:4px}

/* ---------- Contact ---------- */
.contact-grid{display:grid;gap:40px}
@media(min-width:1024px){.contact-grid{grid-template-columns:1.1fr .9fr}.contact-side{padding-inline-start:32px}}
.topics{margin-top:32px}
.topics .about-k{margin-bottom:12px}
.topic-chips{display:flex;flex-wrap:wrap;gap:8px}
.topic-chip{height:32px;padding:0 16px;border-radius:999px;font-size:12px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));color:rgba(255,255,255,.8);transition:background .15s,color .15s}
.topic-chip:hover{color:#fff}
.topic-chip.active{background:#fff;color:#000;border-color:#fff}
.contact-form{margin-top:32px;display:grid;gap:16px}
@media(min-width:640px){.contact-form{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-form .full{grid-column:1/-1}}
.field{height:44px;width:100%;border-radius:999px;padding:0 16px;font-size:13px;outline:none;transition:border-color .15s}
.field::placeholder{color:rgba(255,255,255,.4)}
.field:focus{border-color:rgba(255,255,255,.25)}
select.field{appearance:none;background-image:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));cursor:pointer}
select.field option{background:var(--panel);color:#fff}
.field.area{height:auto;border-radius:16px;padding:12px 16px;resize:vertical;min-height:88px}
.form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.form-note{font-size:11px;color:rgba(255,255,255,.5)}
.success-card{margin-top:32px;border-radius:20px;background:#fff;color:#000;padding:32px}
.check{height:40px;width:40px;border-radius:50%;background:#000;color:#fff;display:grid;place-items:center}
.success-title{margin-top:16px;font-size:28px;line-height:1}
.success-card p{margin-top:8px;font-size:13px;opacity:.7;line-height:1.5rem}
.success-card .btn{margin-top:20px}
.presence{border-radius:22px;padding:24px}
.presence-title{font-size:13px;font-weight:500}
.presence-map{margin-top:16px;height:180px;border-radius:14px;background:var(--panel-2);border:1px solid var(--line);position:relative;overflow:hidden;display:grid;place-items:center;padding:16px;text-align:center}
.map-glow{position:absolute;inset:0;background:radial-gradient(300px 150px at 40% 30%,rgba(47,107,255,.2),transparent),radial-gradient(300px 150px at 70% 60%,rgba(92,225,255,.15),transparent)}
.presence-map span{position:relative;font-size:12px;color:var(--muted-2)}
.contact-list{margin-top:24px;display:grid;gap:12px;font-size:13px}
.contact-list div{display:flex;justify-content:space-between;gap:12px}
.contact-list dt{opacity:.5}
.contact-list dd{text-align:end;word-break:break-word}
.book-box{margin-top:24px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid var(--line);padding:12px;font-size:12px;line-height:1.25rem;color:var(--muted-2)}
.book-box .btn{margin-top:12px;display:flex;width:max-content}

/* ---------- Footer ---------- */
.site-footer{background:var(--footer);border-top:1px solid var(--line);padding-block:56px}
.footer-grid{display:grid;gap:32px;font-size:13px}
@media(min-width:768px){.footer-grid{grid-template-columns:2fr repeat(4,1fr)}}
.footer-brand p{margin-top:16px;color:var(--muted);line-height:1.5rem;max-width:32ch}
.socials{margin-top:24px;display:flex;gap:8px}
.socials a{height:32px;width:32px;border-radius:50%;display:grid;place-items:center;font-size:12px}
.footer-col h4{color:rgba(255,255,255,.4);font-size:11px;text-transform:uppercase;letter-spacing:.025em;font-weight:400}
.footer-col ul{margin-top:12px;display:grid;gap:8px;color:var(--muted-2)}
.footer-col a:hover{color:#fff}
.footer-bottom{margin-top:48px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:24px;font-size:11px;color:rgba(255,255,255,.5)}
.footer-links{display:flex;gap:16px;flex-wrap:wrap}
.footer-links a:hover{color:#fff}

/* ---------- Chat widget ---------- */
.chat-dock{position:fixed;bottom:20px;inset-inline-end:20px;z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.chat-panel{width:min(92vw,400px);border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.15);background:rgba(14,19,38,.92);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);box-shadow:0 20px 80px rgba(0,0,0,.5);animation:pop .22s ease-out}
@keyframes pop{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
.chat-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}
.chat-id{display:flex;align-items:center;gap:10px}
.chat-title{font-size:13px;font-weight:500}
.chat-sub{font-size:11px;color:var(--muted)}
.chat-log{max-height:340px;min-height:120px;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:12px}
.msg{display:flex}
.msg.user{justify-content:flex-end}
.bubble{max-width:78%;border-radius:14px;padding:10px 14px;font-size:13px;line-height:1.25rem;white-space:pre-wrap}
.msg.ai .bubble{background:rgba(255,255,255,.1);border:1px solid var(--line);color:rgba(255,255,255,.9)}
.msg.user .bubble{background:#fff;color:#000}
.typing .bubble{display:flex;gap:4px;align-items:center}
.typing i{height:6px;width:6px;border-radius:50%;background:rgba(255,255,255,.6);animation:blink 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes blink{50%{opacity:.2}}
.chat-foot{padding:0 12px 12px}
.chat-prompts{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.chat-prompts button{font-size:11px;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid var(--line);color:rgba(255,255,255,.8);transition:background .15s}
.chat-prompts button:hover{background:rgba(255,255,255,.1)}
.chat-input{display:flex;align-items:center;gap:8px;border-radius:999px;padding:0 6px 0 14px;height:44px}
[dir=rtl] .chat-input{padding:0 14px 0 6px}
.chat-input input{flex:1;min-width:0;background:transparent;border:0;outline:none;font-size:13px}
.chat-input input::placeholder{color:rgba(255,255,255,.4)}
.chat-input button{height:30px;padding:0 12px;border-radius:999px;background:#fff;color:#000;font-size:12px;font-weight:500}
.chat-fab{display:flex;align-items:center;gap:12px;border-radius:999px;background:#fff;color:#000;padding-inline:8px 20px;height:48px;box-shadow:0 10px 40px rgba(0,0,0,.35);transition:transform .2s}
.chat-fab:hover{transform:scale(1.02)}
.fab-icon{height:32px;width:32px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:14px}
.fab-label{font-size:13px;font-weight:500}
.fab-arrow{height:20px;width:20px;border-radius:50%;background:rgba(0,0,0,.05);display:grid;place-items:center;font-size:12px;transition:transform .2s}
.chat-fab:hover .fab-arrow{transform:translateX(2px)}
@media(max-width:480px){.fab-label,.fab-arrow{display:none}.chat-fab{padding:0 8px;width:48px;justify-content:center}}

/* ---------- Modal & toast ---------- */
.modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:16px;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.modal-card{width:100%;max-width:520px;border-radius:20px;background:var(--light);color:#000;padding:24px;animation:pop .22s ease-out}
.modal-head{display:flex;justify-content:space-between;align-items:center}
.modal-head h3{font-family:var(--heading);font-weight:600;font-size:18px}
.modal-form{margin-top:20px;display:grid;gap:12px}
.modal-form input,.modal-form select,.modal-form textarea{height:44px;border-radius:999px;border:1px solid rgba(0,0,0,.1);padding:0 16px;font-size:13px;background:#fff;color:#000;outline:none}
.modal-form textarea{height:auto;border-radius:14px;padding:12px 16px;resize:vertical}
.modal-form input:focus,.modal-form select:focus,.modal-form textarea:focus{border-color:rgba(0,0,0,.35)}
.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);z-index:100;padding:12px 20px;border-radius:999px;background:#fff;color:#000;font-size:13px;font-weight:500;box-shadow:0 10px 40px rgba(0,0,0,.25);border:1px solid rgba(0,0,0,.05);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;max-width:90vw;text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* ---------- Blog / news pages ---------- */
.page-hero{position:relative;overflow:hidden;padding-block:72px 64px}
@media(min-width:1024px){.page-hero{padding-block:104px 88px}}
.crumbs{display:flex;gap:8px;font-size:12px;color:var(--muted);margin-bottom:20px;flex-wrap:wrap}
.crumbs a:hover{color:#fff}
.page-title{font-size:44px;max-width:18ch;letter-spacing:-.04em}
@media(min-width:1024px){.page-title{font-size:72px}}
.search{margin-top:32px;display:flex;align-items:center;gap:8px;border-radius:999px;padding:0 6px 0 16px;height:48px;max-width:480px}
[dir=rtl] .search{padding:0 16px 0 6px}
.search input{flex:1;min-width:0;background:transparent;border:0;outline:none;font-size:14px}
.search input::placeholder{color:rgba(255,255,255,.45)}
.post-card{border-radius:20px;background:#fff;border:1px solid rgba(0,0,0,.1);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .3s,transform .3s}
.post-card:hover{box-shadow:0 20px 60px rgba(0,0,0,.08);transform:translateY(-4px)}
.post-cover{position:relative;height:200px;background:#EEF2FF;overflow:hidden}
.post-cover img{width:100%;height:100%;object-fit:cover}
.cover-tag{position:absolute;top:12px;inset-inline-start:12px;font-size:11px;padding:4px 10px;border-radius:999px;background:#000;color:#fff;z-index:1}
.post-body{padding:20px;display:flex;flex-direction:column;flex:1}
.post-meta{display:flex;gap:12px;font-size:11px;opacity:.6}
.post-body h3{margin-top:10px;font-family:var(--heading);font-weight:600;font-size:17px;line-height:1.3}
.post-body p{margin-top:8px;font-size:13px;line-height:1.35rem;opacity:.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.post-body .link-more{margin-top:auto;padding-top:16px}
.pagination{margin-top:40px;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.empty{margin-top:40px;padding:48px 24px;border-radius:20px;border:1px dashed rgba(0,0,0,.15);text-align:center;font-size:14px;opacity:.8}
.empty a{text-decoration:underline;text-underline-offset:4px}
.news-list{margin-top:32px;display:grid;gap:20px}
.news-row{display:grid;gap:12px}
@media(min-width:768px){.news-row{grid-template-columns:160px 1fr;gap:24px}}
.news-date{position:relative;font-size:12px;opacity:.6;padding-top:6px;display:flex;align-items:flex-start;gap:10px}
.news-date .tl-dot{position:static;margin-top:4px;flex-shrink:0}
.news-card{border-radius:20px;background:#fff;border:1px solid rgba(0,0,0,.1);overflow:hidden;display:grid;transition:box-shadow .2s}
.news-card:hover{box-shadow:0 20px 50px rgba(0,0,0,.08)}
@media(min-width:640px){.news-card{grid-template-columns:240px 1fr}}
.news-thumb{position:relative;min-height:160px;background:#EEF2FF}
.news-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.news-copy{padding:20px;display:flex;flex-direction:column;align-items:flex-start}
.news-copy h2{margin-top:10px;font-family:var(--heading);font-weight:600;font-size:18px;line-height:1.3}
.news-copy p{margin-top:8px;font-size:13px;line-height:1.4rem;opacity:.7}

/* Article */
.article-hero{position:relative;overflow:hidden;padding-block:64px 56px}
@media(min-width:1024px){.article-hero{padding-block:96px 72px}}
.article-tags{display:flex;gap:8px;flex-wrap:wrap}
.article-title{margin-top:20px;font-size:40px;letter-spacing:-.035em}
@media(min-width:1024px){.article-title{font-size:60px}}
.draft-note{display:inline-block;margin-bottom:16px;font-size:12px;padding:6px 12px;border-radius:999px;background:rgba(250,204,21,.15);border:1px solid rgba(250,204,21,.4);color:#FDE68A}
.article-body{padding-block:48px 72px}
.article-cover{width:100%;border-radius:20px;margin-top:-96px;margin-bottom:40px;border:1px solid rgba(0,0,0,.08);box-shadow:0 30px 80px rgba(0,0,0,.25);position:relative;max-height:520px;object-fit:cover}
.prose{font-size:17px;line-height:1.8;color:#1c2333;max-width:70ch}
.prose>*+*{margin-top:1.1em}
.prose h2{font-family:var(--heading);font-size:26px;line-height:1.25;margin-top:1.8em;color:var(--ink);letter-spacing:-.02em}
.prose h3{font-family:var(--heading);font-size:20px;line-height:1.3;margin-top:1.6em;color:var(--ink)}
.prose a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.prose ul,.prose ol{padding-inline-start:1.4em}
.prose ul{list-style:disc}.prose ol{list-style:decimal}
.prose li+li{margin-top:.4em}
.prose blockquote{border-inline-start:3px solid var(--logo);padding:4px 0 4px 20px;font-family:var(--display);font-size:24px;line-height:1.3;color:var(--ink)}
[dir=rtl] .prose blockquote{padding:4px 20px 4px 0}
.prose img{border-radius:16px;margin-block:1.5em}
.prose pre{background:var(--ink);color:#e6e9f2;padding:16px;border-radius:12px;overflow:auto;font-size:13px;direction:ltr;text-align:left}
.prose code{font-family:var(--mono);font-size:.9em;background:rgba(0,0,0,.05);padding:2px 6px;border-radius:6px}
.prose pre code{background:none;padding:0}
.prose table{width:100%;border-collapse:collapse;font-size:14px;display:block;overflow-x:auto}
.prose th,.prose td{border:1px solid rgba(0,0,0,.1);padding:8px 12px;text-align:start}
.prose iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:16px}
.share{margin-top:48px;padding-top:24px;border-top:1px solid rgba(0,0,0,.08);display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px}
.share>span{opacity:.6;margin-inline-end:4px}
.related{border-top:1px solid rgba(0,0,0,.06)}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.reveal.in-view{opacity:1;transform:none}
.no-js .reveal{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
}

/* Hover lift must beat .reveal.in-view */
.sys-card.in-view:hover,.post-card.in-view:hover{transform:translateY(-4px)}
.sys-card.reveal,.post-card.reveal{transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .35s ease,box-shadow .3s}

/* =========================================================
   v2 — images, newsroom, site search
   ========================================================= */

/* ---------- Uploaded images & logos ---------- */
.sys-media{margin-top:16px;height:148px;border-radius:14px;overflow:hidden;border:1px solid rgba(0,0,0,.08);background:#F5F7FB}
.sys-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.sys-card:hover .sys-media img{transform:scale(1.04)}
.proj-visual{overflow:hidden}
.proj-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.proj-card:hover .proj-img{transform:scale(1.04)}
.v-logo.has-img{background:#fff;border:1px solid rgba(0,0,0,.08);padding:6px}
.v-logo.has-img img{width:100%;height:100%;object-fit:contain;display:block}
.p-logo{height:44px;min-width:44px;max-width:120px;padding:6px 10px;border-radius:12px;background:#fff;display:inline-grid;place-items:center}
.p-logo img{max-height:32px;max-width:100px;width:auto;object-fit:contain;display:block}
.flash-hit{animation:flashHit 1.8s ease}
@keyframes flashHit{0%,100%{box-shadow:0 0 0 0 rgba(47,107,255,0)}20%{box-shadow:0 0 0 4px rgba(47,107,255,.45)}}
.eyebrow.ink{color:var(--ink);opacity:.55}

/* ---------- Newsroom ---------- */
.newsroom .sec-head{margin-bottom:28px}
.nr-grid{display:grid;gap:20px}
@media(min-width:1024px){.nr-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px}.nr-grid.single{grid-template-columns:1fr}}
.nr-lead{position:relative;display:flex;flex-direction:column;border-radius:24px;overflow:hidden;background:var(--ink);color:#fff;isolation:isolate;min-height:100%;transition:transform .35s,box-shadow .35s}
.nr-lead:hover{transform:translateY(-3px);box-shadow:0 30px 70px rgba(10,16,32,.22)}
.nr-media{position:relative;aspect-ratio:16/8.5;overflow:hidden;background:#0D1122}
.nr-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.nr-lead:hover .nr-media img{transform:scale(1.04)}
.nr-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(10,16,32,.85))}
.nr-art{position:absolute;inset:0;overflow:hidden;background:
  radial-gradient(420px 260px at 18% 20%,rgba(47,107,255,.55),transparent 65%),
  radial-gradient(380px 240px at 85% 85%,rgba(92,225,255,.35),transparent 60%),
  radial-gradient(300px 220px at 75% 10%,rgba(139,92,246,.35),transparent 60%),#0A1020}
.nr-art::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:36px 36px;mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%)}
.nr-art-g{position:absolute;inset-inline-end:28px;top:24px;height:56px;width:56px;border-radius:16px;background:var(--logo-bg);color:var(--logo);display:grid;place-items:center;font:700 26px/1 Sora,sans-serif;box-shadow:0 0 40px var(--logo-glow)}
.nr-art.sm .nr-art-g{height:40px;width:40px;border-radius:12px;font-size:18px;top:16px;inset-inline-end:16px}
.nr-badge{position:absolute;z-index:2;top:18px;inset-inline-start:18px;display:inline-flex;align-items:center;gap:8px;height:28px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
[dir=rtl] .nr-badge{letter-spacing:0}
.nr-live{height:7px;width:7px;border-radius:50%;background:var(--emerald);box-shadow:0 0 0 0 rgba(52,211,153,.6);animation:nrPulse 2s infinite}
@keyframes nrPulse{0%{box-shadow:0 0 0 0 rgba(52,211,153,.55)}70%{box-shadow:0 0 0 8px rgba(52,211,153,0)}100%{box-shadow:0 0 0 0 rgba(52,211,153,0)}}
.nr-lead-body{position:relative;padding:26px 28px 28px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.nr-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;opacity:.75}
.nr-tag{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:500;letter-spacing:.02em;background:rgba(92,225,255,.14);color:var(--cyan);border:1px solid rgba(92,225,255,.3)}
.nr-tag.sm{height:22px;font-size:10.5px;background:rgba(47,107,255,.08);color:var(--blue);border-color:rgba(47,107,255,.2)}
.nr-lead .nr-meta{opacity:1}.nr-lead .nr-meta time{opacity:.65}
.nr-lead h3{margin-top:14px;font-family:var(--display);font-weight:400;font-size:clamp(28px,3.2vw,40px);line-height:1.04;letter-spacing:-.025em;max-width:22ch}
[dir=rtl] .nr-lead h3{line-height:1.35;letter-spacing:0}
.nr-lead p{margin-top:12px;font-size:14px;line-height:1.6;color:var(--muted-2);max-width:60ch}
.nr-read{margin-top:auto;padding-top:20px;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;transition:gap .2s}
.nr-lead:hover .nr-read,.nr-card:hover .nr-read{gap:10px}
.nr-lead.wide{margin-bottom:28px}
@media(min-width:900px){.nr-lead.wide{flex-direction:row;min-height:380px}.nr-lead.wide .nr-media{aspect-ratio:auto;flex:1.25}.nr-lead.wide .nr-media::after{background:linear-gradient(90deg,transparent 60%,rgba(10,16,32,.6))}[dir=rtl] .nr-lead.wide .nr-media::after{background:linear-gradient(-90deg,transparent 60%,rgba(10,16,32,.6))}.nr-lead.wide .nr-lead-body{flex:1;padding:40px;justify-content:center}}

.nr-list{border-radius:24px;background:#fff;border:1px solid rgba(0,0,0,.08);padding:6px 22px;display:flex;flex-direction:column}
.nr-row{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid rgba(0,0,0,.07);transition:padding .25s}
.nr-row:last-child{border-bottom:0}
.nr-row:hover{padding-inline-start:6px}
.nr-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:62px;height:62px;border-radius:14px;background:#F3F5FA;border:1px solid rgba(0,0,0,.05);transition:background .2s,color .2s}
.nr-date strong{font-family:var(--display);font-weight:400;font-size:26px;line-height:1}
.nr-date span{margin-top:3px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;opacity:.6;white-space:nowrap}
[dir=rtl] .nr-date span{letter-spacing:0}
.nr-row:hover .nr-date{background:var(--ink);color:#fff}
.nr-row-copy{min-width:0}
.nr-row-copy h4{margin-top:6px;font-family:var(--heading);font-weight:600;font-size:15px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nr-thumb{display:none}
.nr-arrow{height:34px;width:34px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(0,0,0,.1);font-size:13px;transition:background .2s,color .2s,transform .25s}
[dir=rtl] .nr-arrow{transform:scaleX(-1)}
.nr-row:hover .nr-arrow{background:var(--blue);color:#fff;border-color:var(--blue);transform:rotate(45deg)}
[dir=rtl] .nr-row:hover .nr-arrow{transform:scaleX(-1) rotate(45deg)}
@media(min-width:640px){.nr-row{grid-template-columns:auto minmax(0,1fr) auto auto}.nr-thumb{display:block;height:54px;width:78px;border-radius:10px;overflow:hidden}.nr-thumb img{width:100%;height:100%;object-fit:cover}}

.nr-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.nr-count{font-size:12px;opacity:.55}
.nr-year{margin-top:36px;display:grid;gap:16px}
@media(min-width:1024px){.nr-year{grid-template-columns:120px 1fr;gap:28px}}
.nr-year-label span{position:sticky;top:calc(var(--header-h) + 16px);display:inline-block;font-family:var(--display);font-size:44px;line-height:1;letter-spacing:-.03em;opacity:.18}
.nr-cards{display:grid;gap:20px}
@media(min-width:640px){.nr-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1180px){.nr-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
.nr-card{display:flex;flex-direction:column;border-radius:20px;background:#fff;border:1px solid rgba(0,0,0,.08);overflow:hidden;transition:box-shadow .3s,transform .3s}
.nr-card:hover{box-shadow:0 22px 55px rgba(10,16,32,.1);transform:translateY(-4px)}
.nr-card-media{position:relative;aspect-ratio:16/9;background:#0A1020;overflow:hidden}
.nr-card-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.nr-card:hover .nr-card-media img{transform:scale(1.05)}
.nr-date-chip{position:absolute;bottom:12px;inset-inline-start:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:48px;height:50px;padding:0 6px;border-radius:12px;background:#fff;color:var(--ink);box-shadow:0 8px 20px rgba(0,0,0,.18)}
.nr-date-chip strong{font-family:var(--display);font-weight:400;font-size:21px;line-height:1}
.nr-date-chip span{font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;opacity:.6;margin-top:2px}
.nr-card-body{padding:20px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.nr-card-body .nr-meta{opacity:1}.nr-card-body .nr-meta time{opacity:.55}
.nr-card-body h2{margin-top:12px;font-family:var(--heading);font-weight:600;font-size:17px;line-height:1.35;letter-spacing:-.01em}
.nr-card-body p{margin-top:8px;font-size:13px;line-height:1.6;opacity:.68;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.nr-card-body .nr-read{color:var(--blue)}

/* ---------- Header search button & mobile search ---------- */
.search-btn{color:#fff}
.search-btn:hover{background:rgba(255,255,255,.12)}
.mobile-search{display:flex;align-items:center;gap:8px;height:44px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.04);padding:0 6px 0 14px;margin-bottom:12px}
[dir=rtl] .mobile-search{padding:0 14px 0 6px}
.mobile-search input{flex:1;min-width:0;background:transparent;border:0;outline:none;color:#fff;font:inherit;font-size:14px}
.mobile-search button{height:32px;width:32px;border-radius:8px;background:#fff;color:#000;font-size:16px}
html.no-scroll{overflow:hidden}

/* ---------- Search overlay ---------- */
.search-overlay{position:fixed;inset:0;z-index:120;background:rgba(3,5,12,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:flex-start;padding:min(12vh,110px) 16px 16px;opacity:0;transition:opacity .18s}
.search-overlay.open{opacity:1}
.search-panel{width:100%;max-width:680px;border-radius:22px;background:rgba(14,19,38,.96);border:1px solid rgba(255,255,255,.12);box-shadow:0 40px 120px rgba(0,0,0,.6),0 0 0 1px rgba(47,107,255,.08);overflow:hidden;transform:translateY(-8px) scale(.985);transition:transform .2s}
.search-overlay.open .search-panel{transform:none}
.search-bar{display:flex;align-items:center;gap:12px;padding:0 16px 0 20px;height:64px;border-bottom:1px solid rgba(255,255,255,.08)}
[dir=rtl] .search-bar{padding:0 20px 0 16px}
.search-bar svg{opacity:.55;flex-shrink:0}
.search-bar input{flex:1;min-width:0;background:transparent;border:0;outline:none;color:#fff;font:inherit;font-size:17px}
.search-bar input::placeholder{color:rgba(255,255,255,.4)}
.kbd{height:26px;padding:0 8px;border-radius:7px;border:1px solid rgba(255,255,255,.18);font-size:11px;color:rgba(255,255,255,.6);font-family:var(--mono)}
.search-results{max-height:min(60vh,520px);overflow-y:auto;transition:opacity .15s}
.search-results.loading{opacity:.55}
.search-results:empty{display:none}
.sr-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 18px;border-bottom:1px solid rgba(255,255,255,.05);transition:background .12s}
.sr-item:hover,.sr-item.active,.sr-all.active{background:rgba(47,107,255,.14)}
.sr-media{height:44px;width:44px;border-radius:12px;overflow:hidden;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;font-weight:600;color:var(--cyan)}
.sr-media img{width:100%;height:100%;object-fit:cover}
.sr-copy{min-width:0;display:flex;flex-direction:column;gap:2px}
.sr-type{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan);opacity:.9}
[dir=rtl] .sr-type{letter-spacing:0}
.sr-title{font-size:14.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sr-snip{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sr-go{font-size:12px;opacity:0;color:var(--muted)}
.sr-item.active .sr-go,.sr-item:hover .sr-go{opacity:1}
.sr-all{display:flex;align-items:center;justify-content:center;gap:6px;padding:14px;font-size:13px;color:#fff}
.sr-all b{display:inline-grid;place-items:center;min-width:22px;height:20px;padding:0 6px;border-radius:10px;background:rgba(255,255,255,.12);font-size:11px;font-weight:600}
.sr-empty{padding:28px 20px;text-align:center;font-size:14px;color:var(--muted)}
.search-results mark,.results mark{background:rgba(92,225,255,.22);color:inherit;border-radius:3px;padding:0 1px}
.results mark{background:rgba(47,107,255,.14);color:var(--ink);font-weight:600}
.search-suggest{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:16px 20px;font-size:12px;color:var(--muted)}
.search-suggest .chip{height:28px;font-size:12px;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:#fff}
.search-suggest .chip:hover{background:rgba(255,255,255,.14)}

/* ---------- Search page ---------- */
.search.big{height:60px;max-width:720px;padding:0 8px 0 20px;gap:12px}
[dir=rtl] .search.big{padding:0 20px 0 8px}
.search.big svg{opacity:.55;flex-shrink:0}
.search.big input{font-size:16px}
.search-count{margin-top:18px;font-size:14px;color:var(--muted)}
.search-count strong{color:#fff}
.search-page{max-width:980px}
.search-filters{margin-bottom:8px}
.chip .cnt{margin-inline-start:8px;font-size:11px;opacity:.55}
.results{list-style:none;margin-top:20px;display:grid;gap:12px}
.result{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px;border-radius:18px;background:#fff;border:1px solid rgba(0,0,0,.08);transition:box-shadow .25s,border-color .25s,transform .25s}
.result:hover{border-color:rgba(47,107,255,.35);box-shadow:0 16px 40px rgba(10,16,32,.08);transform:translateY(-2px)}
.result-media{height:72px;width:96px;border-radius:12px;overflow:hidden;background:#EEF2FF}
.result-media img{width:100%;height:100%;object-fit:cover}
.result-media.ph{display:grid;place-items:center;background:linear-gradient(135deg,rgba(47,107,255,.14),rgba(139,92,246,.12));font-family:var(--display);font-size:32px;color:var(--blue)}
.result-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:11.5px;opacity:.65}
.result-type{height:22px;padding:0 9px;border-radius:999px;display:inline-flex;align-items:center;font-weight:600;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;background:rgba(47,107,255,.1);color:var(--blue);opacity:1}
[dir=rtl] .result-type{letter-spacing:0}
.result-type.t-news{background:rgba(92,225,255,.18);color:#0B7A93}
.result-type.t-blog{background:rgba(139,92,246,.12);color:#6D3FE0}
.result-type.t-system{background:rgba(34,197,94,.12);color:#15803D}
.result-meta .result-type+span,.result-meta span{opacity:1}
.result-copy h2{margin-top:6px;font-family:var(--heading);font-weight:600;font-size:17px;line-height:1.35}
.result-copy p{margin-top:4px;font-size:13.5px;line-height:1.6;opacity:.72}
.result-url{display:block;margin-top:6px;font-size:11.5px;font-family:var(--mono);opacity:.4;direction:ltr;text-align:start}
.result-arrow{font-size:18px;opacity:.3;transition:opacity .2s,transform .2s}
[dir=rtl] .result-arrow{transform:scaleX(-1)}
.result:hover .result-arrow{opacity:1;transform:translateX(4px)}
[dir=rtl] .result:hover .result-arrow{transform:scaleX(-1) translateX(4px)}
@media(max-width:560px){.result{grid-template-columns:minmax(0,1fr)}.result-media,.result-arrow{display:none}}
.search-empty{padding:40px 24px;border-radius:20px;border:1px dashed rgba(0,0,0,.15);text-align:center}
.search-empty p{font-size:15px;opacity:.75;margin-bottom:18px}
.search-empty .chips{justify-content:center}
.nr-list .nr-row{flex:1 1 auto}
.nr-date{min-width:68px}
.mobile-search button{display:grid;place-items:center}
[dir=rtl] .trace pre{font-family:var(--font);direction:rtl;text-align:right;letter-spacing:0;white-space:pre-wrap}
[dir=rtl] .metric-d,[dir=rtl] .stat-n,[dir=rtl] .metric-v{direction:ltr;unicode-bidi:isolate;text-align:right}
[dir=rtl] .metric-d{display:inline-block}


/* =========================================================
   v3 — Content brief edition: menus, hero card, inner pages
   ========================================================= */

/* ---------- Dropdown menus ---------- */
.nav-item{position:relative;display:flex;align-items:center;height:var(--header-h)}
.nav-item>a{display:inline-flex;align-items:center;gap:4px}
.caret{font-size:9px;opacity:.6;transition:transform .2s}
.nav-item:hover .caret,.nav-item:focus-within .caret{transform:rotate(180deg)}
.nav-sub{position:absolute;top:calc(100% - 8px);inset-inline-start:-16px;min-width:300px;padding-top:8px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s;z-index:70}
.nav-item:hover .nav-sub,.nav-item:focus-within .nav-sub{opacity:1;visibility:visible;transform:none}
.nav-sub-in{background:rgba(10,14,30,.97);border:1px solid var(--line);border-radius:18px;padding:8px;box-shadow:0 24px 60px rgba(0,0,0,.45);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);display:grid;gap:2px}
.nav-item.wide .nav-sub{min-width:560px}
.nav-item.wide .nav-sub-in{grid-template-columns:repeat(2,minmax(0,1fr))}
.main-nav .sub-link{display:flex;flex-direction:column;gap:2px;padding:9px 12px;border-radius:12px;opacity:1;white-space:normal;transition:background .15s}
.main-nav .sub-link:hover{background:rgba(255,255,255,.06)}
.sub-t{font-size:13px;font-weight:500;color:#fff}
.sub-d{font-size:11.5px;line-height:1.35;color:var(--muted)}
.main-nav .sub-link.lvl2{padding-inline-start:28px}
.sub-link.lvl2 .sub-t{font-weight:400;color:var(--muted-2)}
.sub-link.lvl2 .sub-t::before{content:"↳ ";opacity:.5}
[dir=rtl] .sub-link.lvl2 .sub-t::before{content:"↲ "}
.mobile-nav a.active{color:#fff;opacity:1}
.m-group summary{list-style:none;display:flex;align-items:center;justify-content:space-between;cursor:pointer}
.m-group summary::-webkit-details-marker{display:none}
.m-group[open] .caret{transform:rotate(180deg)}
.m-sub{padding:2px 0 8px;padding-inline-start:12px;border-inline-start:1px solid var(--line);margin-inline-start:4px}
.mobile-nav .m-sub a{font-size:13.5px;padding:6px 0;opacity:.75}
.mobile-nav .m-sub a.lvl2{padding-inline-start:14px;font-size:13px}
.mobile-nav{max-height:calc(100vh - var(--header-h));overflow-y:auto}

/* ---------- Hero card: steps ---------- */
.live-text{margin-top:16px;font-size:13px;line-height:1.6;color:var(--muted-2)}
.steps-list{margin-top:18px;display:grid;gap:8px;counter-reset:none}
.steps-list li{display:grid;grid-template-columns:28px auto 1fr;align-items:center;gap:10px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid var(--line);padding:9px 12px;font-size:13px}
.step-n{height:24px;width:24px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:600;background:linear-gradient(135deg,var(--logo),var(--cyan));color:#04120A}
.step-k{font-weight:600}
.step-v{color:var(--muted);font-size:12px;text-align:end}
@media(max-width:480px){.steps-list li{grid-template-columns:28px 1fr}.step-v{grid-column:2;text-align:start}}

/* ---------- Home sections ---------- */
.sec-foot{margin-top:32px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.center-foot{margin-top:32px;text-align:center}
.fine-note{font-size:12px;opacity:.6;max-width:70ch}
a.svc{color:inherit}
a.svc:hover .link-more{gap:8px;color:#fff}
a.partner{color:inherit;transition:border-color .15s,transform .2s}
a.partner:hover{border-color:rgba(255,255,255,.18);transform:translateY(-2px)}
.ind-card .proj-body h3{font-family:var(--heading);font-size:16px;font-weight:600}
.use-list{margin-top:12px;display:grid;gap:8px;font-size:12.5px;line-height:1.45;opacity:.8;margin-bottom:20px}
.use-list li{position:relative;padding-inline-start:16px}
.use-list li::before{content:"";position:absolute;inset-inline-start:0;top:.55em;height:6px;width:6px;border-radius:50%;background:var(--logo)}
.proj-visual.sm{height:150px}
.proj-visual .proj-img{width:100%;height:100%;object-fit:cover}
.box-h{display:block;color:#fff;font-weight:500;margin-bottom:4px}

/* ---------- Inner pages ---------- */
.pg-hero{border-bottom:1px solid var(--line)}
.pg-hero-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(700px 320px at 85% 10%,color-mix(in srgb,var(--acc,#2F6BFF) 22%,transparent),transparent)}
.pg-eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pg-title{margin-top:20px;max-width:20ch}
@media(min-width:1024px){.pg-title{font-size:68px}}
[dir=rtl] .pg-title{line-height:1.25}
.pg-lead{max-width:64ch}
.pg-hero-img{margin-top:40px;width:100%;max-height:440px;object-fit:cover;border-radius:24px;border:1px solid var(--line)}
.pg-children .grid{margin-top:0}
.pg-card{--acc:#2F6BFF;position:relative;display:flex;flex-direction:column;border-radius:20px;background:#fff;border:1px solid rgba(0,0,0,.1);padding:22px;overflow:hidden;transition:box-shadow .25s,transform .25s,border-color .25s}
.pg-card::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--acc);opacity:.85}
.pg-card:hover{box-shadow:0 20px 50px rgba(0,0,0,.08);transform:translateY(-3px);border-color:rgba(0,0,0,.16)}
.pg-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.pg-ic{height:38px;width:38px;border-radius:12px;display:grid;place-items:center;font-size:15px;font-weight:700;background:color-mix(in srgb,var(--acc) 12%,#fff);color:var(--acc)}
.pg-card h3{margin-top:16px;font-family:var(--heading);font-weight:600;font-size:17px;line-height:1.3}
.pg-card p{margin-top:8px;font-size:13px;line-height:1.55;opacity:.7;flex:1}
.pg-card .link-more{margin-top:18px}
.pg-blocks{display:grid;gap:18px}
@media(min-width:900px){.pg-blocks{grid-template-columns:repeat(2,minmax(0,1fr))}.pg-block.st-wide,.pg-block.st-list,.pg-block.st-flow{grid-column:1/-1}}
.pg-block{border-radius:20px;padding:24px;background:#fff;border:1px solid rgba(0,0,0,.08)}
@media(min-width:1024px){.pg-block{padding:28px 30px}}
.s-mid .pg-block{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border-color:rgba(255,255,255,.08)}
.pg-bh{font-family:var(--heading);font-size:20px;font-weight:600;letter-spacing:-.01em;line-height:1.3}
@media(min-width:1024px){.pg-bh{font-size:22px}}
.pg-bt{margin-top:10px;font-size:14.5px;line-height:1.7;opacity:.78;max-width:80ch}
.s-mid .pg-bt{opacity:1;color:var(--muted-2)}
.pg-ul{margin-top:14px;display:grid;gap:8px;font-size:14px;line-height:1.55}
.pg-ul li{position:relative;padding-inline-start:18px}
.pg-ul li::before{content:"";position:absolute;inset-inline-start:0;top:.6em;height:7px;width:7px;border-radius:50%;background:var(--logo)}
.st-wide .pg-ul{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));column-gap:24px}
.cap-list{margin-top:18px;display:grid;gap:12px}
@media(min-width:768px){.cap-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1200px){.cap-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
.cap-list>div{border-radius:14px;padding:16px;background:#F5F7FB;border:1px solid rgba(0,0,0,.05)}
.s-mid .cap-list>div{background:rgba(255,255,255,.04);border-color:var(--line)}
.cap-list dt{font-weight:600;font-size:14px;font-family:var(--heading)}
.cap-list dd{margin-top:6px;font-size:13px;line-height:1.5;opacity:.72}
.flow{margin-top:18px;display:flex;flex-wrap:wrap;gap:10px;counter-reset:none}
.flow li{position:relative;display:flex;align-items:center;gap:10px;padding:10px 16px 10px 10px;border-radius:999px;background:#F1F4F9;border:1px solid rgba(0,0,0,.06);font-size:13.5px;font-weight:500}
[dir=rtl] .flow li{padding:10px 10px 10px 16px}
.s-mid .flow li{background:rgba(255,255,255,.05);border-color:var(--line)}
.flow li:not(:last-child)::after{content:"→";position:absolute;inset-inline-end:-10px;top:50%;transform:translate(50%,-50%);font-size:12px;opacity:.4}
[dir=rtl] .flow li:not(:last-child)::after{content:"←";transform:translate(-50%,-50%)}
.flow li:not(:last-child){margin-inline-end:10px}
.flow-n{height:26px;width:26px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;background:#0A1020;color:#fff;flex-shrink:0}
.s-mid .flow-n{background:#fff;color:#000}
.flow-d{font-weight:400;opacity:.65;font-size:12.5px}
.st-card .flow li,.st-wide .flow li{font-size:13px}
.pg-note{margin-top:28px;font-size:12.5px;line-height:1.6;opacity:.6;max-width:90ch;padding-inline-start:14px;border-inline-start:2px solid var(--logo)}
.s-mid .pg-note{opacity:1;color:var(--muted)}
.pg-related .grid{margin-top:28px}
.pg-cta{padding-block:56px!important}
.banner-sub{margin-top:8px;font-size:14px;opacity:.65;max-width:56ch}
.banner-actions{display:flex;flex-wrap:wrap;gap:10px}

/* =========================================================
   Logo image + theme switch
   ========================================================= */
.logo-img{display:block;width:auto;max-width:200px;object-fit:contain;flex-shrink:0}
.logo-img.on-light{display:none}
[data-theme=light] .logo-img.on-dark{display:none}
[data-theme=light] .logo-img.on-light{display:block}
.site-footer .logo-img{max-width:180px}
.theme-btn .i-moon{display:none}
[data-theme=light] .theme-btn .i-sun{display:none}
[data-theme=light] .theme-btn .i-moon{display:block}
@media(max-width:420px){.theme-btn{display:none}}

/* =========================================================
   LIGHT THEME
   ========================================================= */
[data-theme=light]{
  --bg:#F6F8FC; --bg-2:#EDF2F9; --bg-3:#F1F4F9; --bg-4:#FFFFFF;
  --panel:#FFFFFF; --panel-2:#F3F6FB; --node:#FFFFFF; --footer:#EEF2F8; --light:#FFFFFF;
  --line:rgba(10,16,32,.1); --line-soft:rgba(10,16,32,.07);
  --muted:rgba(10,16,32,.6); --muted-2:rgba(10,16,32,.74);
  color-scheme:light;
}
[data-theme=light] body{color:var(--ink)}
[data-theme=light] .site-header{background:rgba(255,255,255,.82)}
[data-theme=light] .glass{background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.6));border-color:rgba(10,16,32,.09)}
[data-theme=light] .btn-white{background:var(--ink);color:#fff}
[data-theme=light] .grad-text{background-image:linear-gradient(90deg,#0A1020,#0A1020 40%,#2F6BFF)}
[data-theme=light] .logo-mark{box-shadow:0 0 0 1px rgba(10,16,32,.1),0 6px 18px var(--logo-glow)}
[data-theme=light] .tag.dark{background:rgba(10,16,32,.05);border-color:rgba(10,16,32,.1)}
[data-theme=light] :is(.link-more:hover,a.svc:hover .link-more,.topic-chip:hover,.footer-col a:hover,.footer-links a:hover,.crumbs a:hover,.sub-t,.mobile-nav a.active,.box-h,.search-count strong,.sr-all,.search-btn,.mobile-search input,.search-bar input){color:var(--ink)}
[data-theme=light] :is(.metric-k,.form-note,.footer-col h4){color:rgba(10,16,32,.5)}
[data-theme=light] :is(.about-v,.trace pre){color:rgba(10,16,32,.8)}
[data-theme=light] .topic-chip{border-color:rgba(10,16,32,.12);color:var(--muted-2);background:#fff}
[data-theme=light] .topic-chip.active{background:var(--ink);color:#fff;border-color:var(--ink)}
[data-theme=light] .field{background:#fff;border-color:rgba(10,16,32,.12);color:var(--ink)}
[data-theme=light] .field::placeholder,[data-theme=light] .chat-input input::placeholder,[data-theme=light] .search-bar input::placeholder,[data-theme=light] .search input::placeholder{color:rgba(10,16,32,.42)}
[data-theme=light] .field:focus{border-color:rgba(10,16,32,.35)}
[data-theme=light] select.field option{background:#fff;color:var(--ink)}
[data-theme=light] .orbit-node .lbl{border-color:rgba(10,16,32,.12);box-shadow:0 4px 14px rgba(10,16,32,.06)}
[data-theme=light] :is(.svc:hover,a.partner:hover){border-color:rgba(10,16,32,.2)}
[data-theme=light] :is(.svc,.partner,.about-card,.principles,.presence,.live-card,.orbit){box-shadow:0 10px 30px rgba(10,16,32,.05)}
[data-theme=light] :is(.stat-card,.success-card){border:1px solid rgba(10,16,32,.08)}
[data-theme=light] .work-in{box-shadow:inset 0 0 0 1px rgba(10,16,32,.06)}
[data-theme=light] .nav-sub-in{background:rgba(255,255,255,.98);box-shadow:0 24px 60px rgba(10,16,32,.14)}
[data-theme=light] .main-nav .sub-link:hover{background:rgba(10,16,32,.05)}
[data-theme=light] .s-mid .pg-block{background:#fff;border-color:rgba(10,16,32,.08)}
[data-theme=light] .s-mid .flow-n{background:var(--ink);color:#fff}
[data-theme=light] .s-mid .pg-bt{color:var(--muted-2)}
[data-theme=light] .chat-panel{background:rgba(255,255,255,.97);border-color:rgba(10,16,32,.1);box-shadow:0 20px 70px rgba(10,16,32,.18)}
[data-theme=light] .msg.ai .bubble{background:rgba(10,16,32,.05);color:var(--ink)}
[data-theme=light] .msg.user .bubble{background:var(--ink);color:#fff}
[data-theme=light] .chat-prompts button{background:#fff;color:var(--muted-2)}
[data-theme=light] .chat-prompts button:hover{background:rgba(10,16,32,.05)}
[data-theme=light] .chat-input button{background:var(--ink);color:#fff}
[data-theme=light] .chat-fab{box-shadow:0 10px 30px rgba(10,16,32,.18);border:1px solid rgba(10,16,32,.08)}
[data-theme=light] .search-overlay{background:rgba(10,16,32,.35)}
[data-theme=light] .search-panel{background:rgba(255,255,255,.98);border-color:rgba(10,16,32,.1)}
[data-theme=light] .kbd{border-color:rgba(10,16,32,.18);color:var(--muted)}
[data-theme=light] .search-suggest .chip{background:#fff;border-color:rgba(10,16,32,.12);color:var(--ink)}
[data-theme=light] .prose{color:rgba(10,16,32,.82)}
/* Dark "islands" stay dark in the light theme */
[data-theme=light] :is(.feat-post,.nr-lead){--muted:rgba(255,255,255,.6);--muted-2:rgba(255,255,255,.72);--line:rgba(255,255,255,.1);--line-soft:rgba(255,255,255,.06);color:#fff}
[data-theme=light] :is(.feat-post,.nr-lead) .btn-white{background:#fff;color:#000}
[data-theme=light] :is(.feat-post,.nr-lead) .tag.dark{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.1)}
[data-theme=light] .svc-icon{background:rgba(10,16,32,.05)}
[data-theme=light] select.field{background-image:none}
.bubble{overflow-wrap:anywhere}
.bubble a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.msg.ai .bubble a:hover{opacity:.8}
