/* Planarm landing page: static conversion of the delivered React design.
   Palette, type scale, spacing and effects are taken from the design as it
   actually rendered. No Tailwind, no CDN, no build step. */

/* ---------- fonts (self-hosted) ---------- */
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:300;font-display:swap;src:url('fonts/ipsa-300-arabic.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:300;font-display:swap;src:url('fonts/ipsa-300-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:300;font-display:swap;src:url('fonts/ipsa-300-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/ipsa-400-arabic.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/ipsa-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/ipsa-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/ipsa-500-arabic.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/ipsa-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/ipsa-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/ipsa-600-arabic.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/ipsa-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/ipsa-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/ipsa-700-arabic.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/ipsa-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/ipsa-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/jetbrains-mono-latin-400.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/jetbrains-mono-latin-500.woff2') format('woff2')}

/* ---------- tokens ---------- */
:root{
  --bg:#0c0e1d; --surface:#15192b; --primary:#ffc409; --secondary:#96c7c3; --accent:#cc5f73;
  --deep:#030712; --canvas:#0a0c12; --ink:#f8fafc;
  --s200:#e2e8f0; --s300:#cbd5e1; --s400:#94a3b8; --s500:#64748b; --s600:#475569;
  --s700:#334155; --s800:#1e293b; --s900:#0f172a;
  --blue400:#60a5fa; --blue500:#3b82f6; --emerald:#10b981; --indigo:#6366f1;
  /* one family across the whole page, per his instruction: everything is IBM Plex Sans Arabic.
     The token name stays --mono so every technical label keeps its spacing and uppercase
     treatment; only the family changed. Restoring JetBrains Mono = restore this one line. */
  --mono:'IBM Plex Sans Arabic',sans-serif;
  --riyal:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1124.14 1256.39'%3E%3Cpath fill='black' d='M699.62,1113.02h0c-20.06,44.48-33.32,92.75-38.4,143.37l424.51-90.24c20.06-44.47,33.31-92.75,38.4-143.37l-424.51,90.24Z'/%3E%3Cpath fill='black' d='M1085.73,895.8c20.06-44.47,33.32-92.75,38.4-143.37l-330.68,70.33v-135.2l292.27-62.11c20.06-44.47,33.32-92.75,38.4-143.37l-330.68,70.27V66.13c-50.67,28.45-95.67,66.32-132.25,110.99v403.35l-132.25,28.11V0c-50.67,28.44-95.67,66.32-132.25,110.99v525.69l-295.91,62.88c-20.06,44.47-33.33,92.75-38.42,143.37l334.33-71.05v170.26l-358.3,76.14c-20.06,44.47-33.32,92.75-38.4,143.37l375.04-79.7c30.53-6.35,56.77-24.4,73.83-49.24l68.78-101.97v-.02c7.14-10.55,11.3-23.27,11.3-36.97v-149.98l132.25-28.11v270.4l424.53-90.28Z'/%3E%3C/svg%3E");
}

/* ---------- reset / base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);overflow-x:hidden;
  font-family:'IBM Plex Sans Arabic',sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,p,ul,figure{margin:0}
ul{padding:0;list-style:none}
img,svg{display:block;max-width:100%}
button,input,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
a{color:inherit;text-decoration:none}
body.font-arabic,body.font-arabic *{letter-spacing:0 !important}

.bg-noise{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:10;opacity:.03;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E")}

.main{position:relative;z-index:10}

.container{width:100%;margin:0 auto;padding-inline:1rem}
@media(min-width:640px){.container{max-width:640px}}
@media(min-width:768px){.container{max-width:768px}}
@media(min-width:1024px){.container{max-width:1024px}}
@media(min-width:1280px){.container{max-width:1280px}}
@media(min-width:1536px){.container{max-width:1536px}}

/* ---------- icons ---------- */
.ic{display:inline-block;flex:none;width:1rem;height:1rem}
.ic svg{width:100%;height:100%;display:block}
.ic-2{width:.5rem;height:.5rem}.ic-2h{width:.625rem;height:.625rem}
.ic-3{width:.75rem;height:.75rem}.ic-3h{width:.875rem;height:.875rem}
.ic-4{width:1rem;height:1rem}.ic-5{width:1.25rem;height:1.25rem}
.ic-6{width:1.5rem;height:1.5rem}.ic-10{width:2.5rem;height:2.5rem}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:.5rem;
  font-weight:600;transition:all .3s;white-space:nowrap}
.btn-sm{height:2.25rem;padding-inline:1rem;font-size:.75rem}
.btn-md{height:2.75rem;padding-inline:1.5rem;font-size:.875rem}
.btn-lg{height:3.5rem;padding-inline:2rem;font-size:1rem}
.btn:active{transform:scale(.98)}
.btn-primary{background:var(--primary);color:var(--bg)}
.btn-primary:hover{background:#fff;box-shadow:0 0 20px rgba(255,196,9,.4)}
.btn-glow{background:var(--primary);color:var(--bg);
  box-shadow:0 0 20px rgba(255,196,9,.3)}
.btn-glow:hover{transform:scale(1.02)}

/* ---------- navbar ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:all .3s;
  padding-block:1.5rem;background:transparent;border-bottom:1px solid transparent}
.nav.scrolled{padding-block:.75rem;background:rgba(12,14,29,.8);
  -webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);
  border-bottom-color:rgba(255,255,255,.05)}
.nav-in{display:flex;align-items:center;justify-content:space-between;padding-inline:1.5rem}
.wordmark{display:inline-flex;align-items:flex-start;color:#fff;font-size:1.5rem;
  letter-spacing:-.025em;cursor:pointer;user-select:none;z-index:50}
.wm-light{font-weight:300}.wm-bold{font-weight:700}
.wm-r{font-size:.625rem;margin-left:.125rem;margin-top:.25rem;opacity:.7}
.nav-right{display:none;align-items:center;gap:1rem;margin-inline-start:auto}
.lang-btn{display:inline-flex;align-items:center;gap:.5rem;color:var(--s400);
  font-size:.875rem;font-weight:500;padding:.5rem .75rem;border-radius:.375rem;transition:.2s}
.lang-btn:hover{color:#fff;background:rgba(255,255,255,.05)}
.nav-cta{box-shadow:0 0 20px rgba(255,196,9,.3)}
.nav-cta:hover{transform:scale(1.05)}
.nav-mobile{display:flex;align-items:center;gap:1rem;z-index:50;color:#fff}
.lang-mini{font-size:.875rem;color:#fff}
@media(min-width:768px){
  .nav-right{display:flex}
  .nav-mobile{display:none}
}
.mobile-menu{position:fixed;inset:0;z-index:40;background:var(--bg);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem}
.mobile-menu[hidden]{display:none}
.mm-cta{width:16rem}
@media(min-width:768px){.mobile-menu{display:none}}

/* ---------- shared bits ---------- */
.section{position:relative;background:var(--bg);overflow:hidden}
.bordered{border-top:1px solid rgba(255,255,255,.05)}
.mono{font-family:var(--mono)}

/* Saudi riyal symbol, the brand SVG painted through a mask so it inherits colour and
   font-size exactly like the app's own .rsym. It must stay a SEPARATE element: the
   language switcher rewrites textContent on every [data-en] node. */
.rsym{display:inline-block;width:.62em;height:.7em;vertical-align:-.03em;flex:none;
  background:currentColor;
  -webkit-mask:var(--riyal) center/contain no-repeat;mask:var(--riyal) center/contain no-repeat}
.badge-pill{display:inline-flex;align-items:center;gap:.5rem;border-radius:9999px;
  padding:.25rem .75rem;font-family:var(--mono);text-transform:uppercase}
.glass-panel{background:rgba(12,14,29,.6);-webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08)}

/* ---------- reveal + keyframes ---------- */
.rv{opacity:0;transition:opacity .7s ease-out,transform .7s ease-out}
.rv-up{transform:translateY(20px)}
.rv-up-lg{transform:translateY(30px)}
.rv-x{transform:translateX(20px)}
.rv-x-neg{transform:translateX(-20px)}
.rv-scale{transform:scale(0)}
.rv.in{opacity:1;transform:none}
[dir=rtl] .rv-x{transform:translateX(-20px)}
[dir=rtl] .rv-x-neg{transform:translateX(20px)}

@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}
.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}
@keyframes ping{75%,100%{transform:scale(2);opacity:0}}
.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.animate-spin{animation:spin 1s linear infinite}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv{transition:none;opacity:1;transform:none}
  .animate-pulse,.animate-ping,.animate-spin{animation:none}
}
/* ---------- hero ---------- */
.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;
  justify-content:center;padding-top:6rem;padding-bottom:4rem;overflow:hidden;background:var(--bg)}
.hero-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hero-glow-1{position:absolute;top:-10%;left:50%;transform:translateX(-50%);width:140%;height:600px;
  background:rgba(150,199,195,.1);filter:blur(120px);border-radius:9999px;mix-blend-mode:screen}
.hero-glow-2{position:absolute;bottom:-10%;right:-20%;width:120%;height:800px;
  background:rgba(204,95,115,.1);filter:blur(100px);border-radius:9999px;mix-blend-mode:screen}
.hero-floor{position:absolute;bottom:0;left:0;right:0;height:40vh;
  background-image:linear-gradient(rgba(150,199,195,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(150,199,195,.03) 1px,transparent 1px);
  background-size:40px 40px;
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 80%);
  mask-image:linear-gradient(to bottom,transparent,#000 80%)}
.hero-in{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;z-index:10}
.hud-corner{position:absolute;top:0;width:1rem;height:1rem;border-top:1px solid rgba(255,196,9,.3)}
.hud-l{left:1rem;border-left:1px solid rgba(255,196,9,.3)}
.hud-r{right:1rem;border-right:1px solid rgba(255,196,9,.3)}
.hero-head{margin-bottom:2.5rem;max-width:64rem;position:relative;z-index:20;
  opacity:0;transform:translateY(30px);transition:opacity .8s ease-out,transform .8s ease-out}
.hero-head.in{opacity:1;transform:none}
.hero-badge{display:inline-flex;align-items:center;gap:.75rem;background:rgba(21,25,43,.8);
  border:1px solid rgba(255,196,9,.2);border-radius:9999px;padding:.375rem 1rem;font-size:9px;
  font-family:var(--mono);letter-spacing:.2em;color:var(--primary);margin-bottom:1rem;
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-transform:uppercase;
  box-shadow:0 0 20px rgba(255,196,9,.1),0 0 0 1px rgba(255,196,9,.1)}
.hero-badge i{width:.25rem;height:.25rem;background:var(--primary);border-radius:9999px;flex:none}
.hero-title{font-size:2.25rem;font-weight:700;letter-spacing:-.05em;color:#fff;
  margin-bottom:1.5rem;line-height:.95;position:relative}
.hero-title-grad{background:linear-gradient(to bottom,#fff,var(--secondary),rgba(150,199,195,.4));
  -webkit-background-clip:text;background-clip:text;color:transparent}
[dir=rtl] .hero-title{line-height:1.5}
.hero-sub{max-width:42rem;margin:0 auto 2rem;font-size:.875rem;color:var(--s400);
  line-height:1.625;font-weight:300;padding-inline:1rem}
[dir=rtl] .hero-sub{line-height:2}
.hero-cta-row{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}
.hero-cta{padding-inline:2rem;min-width:180px;box-shadow:0 0 30px rgba(255,196,9,.2)}
.hero-cta .lbl{margin-inline-end:.5rem}
[dir=rtl] .hero-cta .ic{transform:rotate(180deg)}
@media(min-width:640px){
  .hero-title{font-size:3.75rem}
  .hero-cta-row{flex-direction:row}
}
@media(min-width:768px){
  .hero{padding-top:8rem;padding-bottom:5rem}
  .hero-glow-1{width:1200px}
  .hero-glow-2{width:1000px}
  .hero-floor{height:50vh}
  .hud-corner{display:none}
  .hero-head{margin-bottom:6rem}
  .hero-badge{font-size:10px;margin-bottom:2rem}
  .hero-badge i{width:.375rem;height:.375rem}
  .hero-title{font-size:6rem;margin-bottom:2rem;line-height:.9}
  .hero-sub{font-size:1.25rem;margin-bottom:3rem}
  .hero-cta-row{gap:1.5rem}
  .hero-cta{height:3.5rem;padding-inline:2.5rem;font-size:1rem;min-width:220px}
}
@media(min-width:1024px){.hero-title{font-size:8rem}}

/* ---------- hero board ---------- */
.board-wrap{position:relative;width:100%;max-width:80rem;height:600px;z-index:10;margin-bottom:2.5rem}
.board-anim{position:relative;width:100%;height:100%;opacity:0;transform:translateY(100px);
  transition:opacity 1.2s ease-out .2s,transform 1.2s ease-out .2s}
.board-anim.in{opacity:1;transform:none}
.board-3d{position:absolute;inset:0;transform:rotateX(var(--rx,20deg)) scale(var(--sc,.95))}
.board{position:absolute;inset:0;background:rgba(12,14,29,.9);border:1px solid rgba(255,255,255,.1);
  border-radius:.75rem;box-shadow:0 0 50px rgba(0,0,0,.8);-webkit-backdrop-filter:blur(24px);
  backdrop-filter:blur(24px);overflow:hidden;display:flex;flex-direction:column}
@media(min-width:640px){.board-wrap{height:650px}}
@media(min-width:768px){.board{border-radius:1rem;box-shadow:0 0 100px rgba(0,0,0,.8)}}

.bhud{height:3rem;border-bottom:1px solid rgba(255,255,255,.05);background:rgba(21,25,43,.5);
  display:flex;align-items:center;justify-content:space-between;padding-inline:.75rem;
  position:relative;z-index:30}
.bhud-l,.bhud-r{display:flex;align-items:center;gap:.75rem}
.live-chip{display:flex;align-items:center;gap:.5rem;background:rgba(0,0,0,.2);
  padding:.25rem .5rem;border-radius:.25rem;border:1px solid rgba(255,255,255,.05)}
.live-dot{width:.25rem;height:.25rem;background:var(--primary);border-radius:9999px;
  box-shadow:0 0 10px var(--primary);flex:none}
.live-txt{font-size:7px;color:var(--s300);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase}
.ro{display:none;align-items:center;gap:.5rem;opacity:.5}
.ro span{font-size:10px;color:var(--s500);font-family:var(--mono);text-transform:uppercase}
.ro .ic{color:var(--s500)}
.capex{display:flex;flex-direction:column;align-items:flex-end}
.capex-txt{text-align:right}
[dir=rtl] .capex-txt{text-align:left}
.capex-lbl{font-size:6px;color:var(--s500);text-transform:uppercase;letter-spacing:.05em}
.capex-val{font-size:9px;font-family:var(--mono);font-weight:700;color:#fff}
.trend{display:inline-flex;align-items:center;color:var(--secondary);font-size:8px;font-weight:700;
  background:rgba(150,199,195,.1);padding:.125rem .375rem;border-radius:.25rem;
  border:1px solid rgba(150,199,195,.2);margin-top:.25rem}
.trend .ic{margin-inline-end:.25rem}
.divider-v{width:1px;height:1.5rem;background:rgba(255,255,255,.1);display:none}
.ver{display:flex;align-items:center;gap:.5rem;color:var(--secondary);font-size:8px;font-family:var(--mono)}
@media(min-width:768px){
  .bhud{height:3.5rem;padding-inline:1.5rem}
  .bhud-l,.bhud-r{gap:1.5rem}
  .live-chip{padding:.375rem .75rem}
  .live-dot{width:.375rem;height:.375rem}
  .live-txt{font-size:10px}
  .capex{flex-direction:row;align-items:center;gap:1rem}
  .capex-lbl{font-size:9px}
  .capex-val{font-size:.75rem}
  .trend{font-size:10px;margin-top:0}
  .divider-v{display:block}
  .ver{font-size:10px}
}
@media(min-width:1024px){.ro{display:flex}}

.barea{flex:1;position:relative;display:flex}
.rail{width:3rem;border-inline-end:1px solid rgba(255,255,255,.05);background:rgba(12,14,29,.5);
  display:flex;flex-direction:column;z-index:20}
.rail-h{height:2rem;border-bottom:1px solid rgba(255,255,255,.05);background:rgba(21,25,43,.3);
  display:flex;align-items:center;padding-inline:.5rem}
.rail-h span{font-size:5px;font-weight:700;color:var(--s600);letter-spacing:.1em;
  text-transform:uppercase;opacity:.5}
.rail-drv{height:2.5rem;border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;
  justify-content:center;padding-inline:.25rem;background:rgba(255,196,9,.05);position:relative}
.rail-drv .ic{color:var(--primary)}
.rail-drv span{display:none}
.rail-drv::after{content:'';position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--primary)}
.rail-list{flex:1;display:flex;flex-direction:column;padding-block:1rem}
.rail-item{flex:1;display:flex;flex-direction:column;align-items:center;padding-inline:.25rem;
  position:relative;cursor:pointer;border-left:2px solid transparent;padding-block:.5rem;transition:.2s}
.rail-item:hover{background:rgba(255,255,255,.05);border-left-color:var(--primary)}
.rail-ico{width:1.75rem;height:1.75rem;border-radius:.25rem;display:flex;align-items:center;
  justify-content:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  color:var(--s500);transition:.2s;flex:none}
.rail-item:hover .rail-ico{border-color:rgba(255,196,9,.3);color:var(--primary)}
.rail-item.active .rail-ico{color:var(--primary);border-color:rgba(255,196,9,.2);
  box-shadow:0 0 15px rgba(255,196,9,.1)}
.rail-meta{display:none}
.rail-name{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.025em;color:var(--s500)}
.rail-item:hover .rail-name{color:var(--s300)}
.rail-item.active .rail-name{color:#fff}
.rail-roi{font-size:8px;color:var(--s600);font-family:var(--mono);margin-top:.125rem;
  display:flex;align-items:center}
.rail-roi i{width:.25rem;height:.25rem;border-radius:9999px;margin-right:.25rem;background:var(--s700)}
.rail-item.active .rail-roi i{background:var(--primary)}
@media(min-width:768px){
  .rail{width:15rem}
  .rail-h{padding-inline:1.5rem}
  .rail-h span{font-size:8px}
  .rail-drv{justify-content:flex-start;padding-inline:1.5rem}
  .rail-drv .ic{margin-inline-end:.75rem}
  .rail-drv span{display:block;font-size:9px;font-weight:700;color:var(--primary);
    text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}
  .rail-drv::after{width:2px}
  .rail-list{padding-block:1.5rem}
  .rail-item{flex-direction:row;padding-inline:1.5rem;padding-block:0}
  .rail-ico{width:2rem;height:2rem;border-radius:.5rem;margin-inline-end:1rem}
  .rail-meta{display:block}
}

.cv{flex:1;position:relative;background:var(--canvas);overflow:hidden;display:flex;flex-direction:column}
.cv-months{height:2rem;border-bottom:1px solid rgba(255,255,255,.05);display:flex;font-size:7px;
  font-family:var(--mono);color:var(--s600);align-items:center;position:relative;z-index:10;background:var(--canvas)}
/* "JAN '26" is one LTR unit: without this it reads "26' JAN" in the Arabic version.
   The direction belongs on the content, never on the flex row that lays the months out. */
.cv-months>div{direction:ltr;flex:1;text-align:center;border-right:1px solid rgba(255,255,255,.05);height:100%;
  display:flex;align-items:center;justify-content:center;gap:.15em}
.cv-months .yr{display:none}
.cv-drivers{height:2.5rem;border-bottom:1px solid rgba(255,255,255,.05);position:relative;
  background:rgba(255,255,255,.02);display:flex;align-items:center;z-index:10}
.cv-drv-grid{position:absolute;inset:0;display:flex;pointer-events:none}
.cv-drv-grid>div{flex:1;border-right:1px solid rgba(255,255,255,.05);height:100%}
.drv{position:absolute;height:1.25rem;top:.5rem;border-radius:.25rem;display:flex;
  align-items:center;justify-content:center}
.drv span{font-weight:700;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drv-gold{border:1px solid rgba(255,196,9,.3);background:rgba(255,196,9,.1)}
.drv-gold span{color:var(--primary);font-size:6px}
.drv-teal{border:1px solid rgba(150,199,195,.3);background:rgba(150,199,195,.1)}
.drv-teal span{color:var(--secondary);font-size:5px}
.drv-rose{border:1px solid rgba(204,95,115,.3);background:rgba(204,95,115,.1)}
.drv-rose span{color:var(--accent);font-size:5px}
.drv-1{left:2%;width:15%}.drv-2{left:28%;width:10%}.drv-3{left:61%;width:10%}.drv-4{left:45%;width:12%}
@media(min-width:640px){.cv-months .yr{display:inline}}
@media(min-width:768px){
  .cv-months{font-size:9px}
  .drv{height:1.5rem}
  .drv-gold span{font-size:8px}
  .drv-teal span,.drv-rose span{font-size:7px}
  .drv-1{width:12%}.drv-2{width:8%}.drv-3{width:8%}.drv-4{width:10%}
}

.cv-area{flex:1;position:relative;display:flex;flex-direction:column;padding-top:1rem;overflow:hidden}
.cv-vlines{position:absolute;inset:0;opacity:.1;
  background-image:linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:40px 100%}
.cv-zones{position:absolute;inset:0;pointer-events:none}
.zone{position:absolute;top:0;bottom:0;display:flex;align-items:flex-start;justify-content:center;padding-top:.5rem}
.zone span{font-size:6px;font-weight:700;text-transform:uppercase;transform:rotate(90deg);white-space:nowrap}
.zone-1{left:20%;width:15%;background:rgba(59,130,246,.05);border-left:1px solid rgba(59,130,246,.1)}
.zone-1 span{color:rgba(96,165,250,.3)}
.zone-2{left:45%;width:10%;background:rgba(255,196,9,.05);border-left:1px solid rgba(255,196,9,.1)}
.zone-2 span{color:rgba(255,196,9,.3)}
.track{height:25%;position:relative;display:flex;align-items:center;padding-inline:.75rem;z-index:10}
.track-2{z-index:20}
.cbar{height:2.25rem;border-radius:9999px;display:flex;align-items:center;padding-inline:.75rem;
  width:0;transition:width 1.2s ease-out;overflow:hidden}
.cbar-1{margin-left:5%;background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.3);
  box-shadow:0 0 20px rgba(59,130,246,.1)}
.cbar-2{margin-left:15%;height:2.5rem;background:rgba(255,196,9,.1);border:1px solid rgba(255,196,9,.4);
  box-shadow:0 0 30px rgba(255,196,9,.15)}
.cbar-3{margin-left:35%;background:rgba(150,199,195,.1);border:1px solid rgba(150,199,195,.3);
  box-shadow:0 0 20px rgba(150,199,195,.1)}
.cbar-1.in{width:55%}.cbar-2.in{width:65%}.cbar-3.in{width:40%}
.cbar-dot{width:.375rem;height:.375rem;border-radius:9999px;background:var(--blue400);
  margin-right:.5rem;box-shadow:0 0 8px var(--blue400);flex:none}
.cbar .ic{margin-right:.5rem}
.cbar-2 .ic{color:var(--primary);fill:var(--primary)}
.cbar-3 .ic{color:var(--secondary)}
.cbar-txt{min-width:0}
.cbar-t{font-size:8px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.05em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cbar-3 .cbar-t{font-size:7px;color:var(--s200)}
.cbar-s{font-size:6px;font-family:var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cbar-1 .cbar-s{color:#93c5fd}.cbar-2 .cbar-s{color:var(--primary)}.cbar-3 .cbar-s{color:var(--secondary)}
.cv-chart{position:absolute;bottom:0;left:0;right:0;height:33.333%;opacity:.2;pointer-events:none}
.cv-chart svg{width:100%;height:100%}
.today{position:absolute;top:0;bottom:0;width:1px;background:var(--accent);z-index:40;left:32%;
  box-shadow:0 0 15px var(--accent)}
.today-lbl{position:absolute;top:0;transform:translateX(-50%);background:var(--accent);font-size:7px;
  font-weight:700;color:#fff;padding:.125rem .375rem;border-radius:.125rem;white-space:nowrap;z-index:50}
.today-halo{position:absolute;top:0;width:15px;height:100%;transform:translateX(-50%);pointer-events:none;
  background:linear-gradient(to right,rgba(204,95,115,0),rgba(204,95,115,.1),rgba(204,95,115,0))}
.aipop{position:absolute;bottom:10%;right:5%;width:140px;background:rgba(12,14,29,.95);
  border:1px solid rgba(255,196,9,.5);padding:.75rem;border-radius:.5rem;z-index:50;
  box-shadow:0 20px 60px rgba(0,0,0,.8),0 0 0 1px rgba(255,196,9,.2);
  -webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);
  opacity:0;transform:scale(.9) translateY(20px);transition:opacity .8s ease-out 1.5s,transform .8s ease-out 1.5s}
.aipop.in{opacity:1;transform:none}
.aipop-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;
  border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.5rem}
.aipop-h span{font-size:7px;color:var(--primary);font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.aipop-h .ic{color:var(--primary)}
.aipop-b{font-size:8px;color:var(--s300);line-height:1.25}
.aipop-b b{color:#fff;font-weight:700}
.aipop-b i{color:var(--s500);font-style:normal}
.aipop-bar{margin-top:.5rem;height:.25rem;background:rgba(255,255,255,.05);border-radius:9999px;overflow:hidden}
.aipop-fill{height:100%;width:85%;background:var(--primary);box-shadow:0 0 10px var(--primary)}
@media(min-width:768px){
  .cv-area{padding-top:2.5rem}
  .cv-vlines{background-size:100px 100%}
  .zone span{font-size:8px}
  .cbar{height:3rem;padding-inline:1.25rem}
  .cbar-2{height:3.5rem}
  .cbar-t{font-size:11px}
  .cbar-3 .cbar-t{font-size:10px}
  .cbar-s{font-size:8px}
  .today-lbl{font-size:8px}
  .today-halo{width:30px}
  .aipop{bottom:auto;top:40%;left:55%;width:220px;padding:1rem}
  .aipop-h{margin-bottom:.75rem}
  .aipop-h span{font-size:9px}
  .aipop-b{font-size:10px;line-height:1.625}
  .aipop-bar{margin-top:1rem;height:.375rem}
}
.deco-line{position:absolute;bottom:-.5rem;left:25%;right:25%;height:2px;filter:blur(2px);
  background:linear-gradient(to right,transparent,rgba(255,196,9,.4),transparent)}
.deco-tr,.deco-bl{position:absolute;width:3rem;height:3rem;pointer-events:none}
.deco-tr{top:-.25rem;right:-.25rem;border-top:1px solid rgba(150,199,195,.3);
  border-right:1px solid rgba(150,199,195,.3);border-top-right-radius:.75rem}
.deco-bl{bottom:-.25rem;left:-.25rem;border-bottom:1px solid rgba(150,199,195,.3);
  border-left:1px solid rgba(150,199,195,.3);border-bottom-left-radius:.75rem}
@media(min-width:768px){
  .deco-tr,.deco-bl{width:6rem;height:6rem}
  .deco-tr{border-top-right-radius:1.5rem}
  .deco-bl{border-bottom-left-radius:1.5rem}
}
/* ---------- shared section heads ---------- */
.sec-pad{padding-block:6rem}
.head-center{text-align:center;max-width:48rem;margin:0 auto 4rem}
.head-wide{max-width:56rem;margin:0 auto 5rem}
.head-center h2{font-size:1.875rem;font-weight:700;color:#fff;margin-bottom:1rem;line-height:1.25}
.head-center p{color:var(--s500);font-size:1rem}
.badge-gold{color:var(--primary);background:rgba(255,196,9,.05);border:1px solid rgba(255,196,9,.1);
  margin-bottom:1rem;font-size:10px;letter-spacing:.2em}
.badge-teal{color:var(--secondary);background:rgba(150,199,195,.1);border:1px solid rgba(150,199,195,.2);
  margin-bottom:1.5rem;font-size:.75rem}
.badge-rose{color:var(--accent);background:rgba(204,95,115,.1);border:1px solid rgba(204,95,115,.2);
  margin-bottom:1.5rem;font-size:.75rem;box-shadow:0 0 15px rgba(204,95,115,.1)}
@media(min-width:768px){
  .sec-pad{padding-block:8rem}
  .head-center{margin-bottom:5rem}
  .head-center h2{font-size:3rem}
  .head-center p{font-size:1.125rem}
}

/* ---------- timeline section ---------- */
.tl-sec{padding-block:6rem}
.tl-grid{display:flex;flex-direction:column;align-items:center;gap:3rem}
.tl-text{z-index:10;order:2;width:100%}
.tl-visual{width:100%;position:relative;order:1}
.tl-badge{display:flex;align-items:center;gap:.5rem;color:var(--primary);margin-bottom:1rem}
.tl-badge span{font-size:10px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em}
.tl-text h2{font-size:1.875rem;font-weight:700;color:#fff;margin-bottom:1.5rem;line-height:1.25}
.tl-text p{color:var(--s400);font-size:.875rem;line-height:1.625;margin-bottom:2rem}
.tl-points{display:grid;gap:.75rem}
.point{display:flex;align-items:center;padding:.75rem;background:var(--surface);
  border:1px solid rgba(255,255,255,.1);border-radius:.5rem;transition:.2s}
.point:hover{border-color:rgba(255,255,255,.2)}
.point i{width:.5rem;height:.5rem;border-radius:9999px;margin-inline-end:.75rem;flex:none}
.point-gold i{background:var(--primary);box-shadow:0 0 10px var(--primary)}
.point-rose i{background:var(--accent);box-shadow:0 0 10px var(--accent)}
.point span{font-size:.75rem;color:var(--s300)}
.tl-box{position:relative;height:300px;width:100%;background:#0a0f1e;border-radius:.5rem;
  border:1px solid rgba(255,255,255,.1);overflow:hidden;transition:transform .5s;
  box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}
.tl-box:hover{transform:scale(1.01)}
.tl-lines{position:absolute;inset:0;
  background-image:linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:40px 100%}
.tl-target{position:absolute;top:0;bottom:0;left:45%;width:6rem;background:rgba(255,196,9,.05);
  border-left:1px solid rgba(255,196,9,.1);border-right:1px solid rgba(255,196,9,.1);
  display:flex;flex-direction:column;align-items:center;padding-top:2rem;z-index:0}
.tl-season{padding:.25rem .5rem;background:rgba(255,196,9,.2);border:1px solid rgba(255,196,9,.4);
  color:var(--primary);font-size:8px;font-family:var(--mono);font-weight:700;text-transform:uppercase;
  margin-bottom:.5rem;box-shadow:0 0 15px rgba(255,196,9,.2);opacity:var(--glow,0)}
.tl-season-line{width:1px;height:100%;
  background:linear-gradient(to bottom,rgba(255,196,9,0),rgba(255,196,9,.3),rgba(255,196,9,0))}
.tl-block{position:absolute;top:50%;left:5%;width:12rem;height:3.5rem;z-index:20;
  transform:translateY(-50%) translateX(var(--x,-20%));
  background:rgba(150,199,195,.1);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);
  border-radius:.25rem;border:1px solid rgba(150,199,195,.3);display:flex;align-items:center;
  padding-inline:1rem;box-shadow:0 4px 30px rgba(0,0,0,.3),0 0 0 1px rgba(255,255,255,.1)}
[dir=rtl] .tl-block{left:auto;right:5%}
.tl-block-bar{width:.25rem;height:2rem;background:var(--secondary);border-radius:9999px;
  margin-inline-end:1rem;opacity:.5;flex:none}
.tl-block-txt{display:flex;flex-direction:column;position:relative;z-index:10;text-align:start;min-width:0}
.tl-launch{color:#fff;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tl-q1{color:var(--secondary);font-size:8px;font-family:var(--mono)}
.tl-lock{position:absolute;top:-4rem;left:50%;transform:translateX(-50%);display:flex;
  flex-direction:column;align-items:center;opacity:var(--glow,0)}
.tl-lock-chip{background:var(--primary);color:#000;font-size:8px;font-weight:700;padding:.25rem .75rem;
  text-transform:uppercase;box-shadow:0 0 20px rgba(255,196,9,.6);border-radius:.125rem;letter-spacing:.1em}
.tl-lock-line{width:2px;background:var(--primary);margin-top:.25rem;height:var(--lineh,0%);
  box-shadow:0 0 10px var(--primary)}
.tl-dates{position:absolute;bottom:0;left:0;right:0;height:2rem;border-top:1px solid rgba(255,255,255,.1);
  display:flex;justify-content:space-between;align-items:center;padding-inline:1rem;background:var(--surface)}
.tl-dates span{font-size:8px;font-family:var(--mono);color:var(--s600);display:flex;align-items:center;gap:.25rem}
.tl-dates .ic{opacity:.5}
@media(min-width:768px){
  .tl-sec{padding-block:10rem}
  .tl-grid{gap:5rem}
  .tl-badge{margin-bottom:1.5rem}
  .tl-badge span{font-size:.75rem}
  .tl-text h2{font-size:3rem}
  .tl-text p{font-size:1.125rem}
  .tl-box{height:450px}
  .tl-lines{background-size:60px 100%}
  .tl-target{width:8rem}
  .tl-season{font-size:10px}
  .tl-block{width:18rem;height:5rem;padding-inline:1.5rem}
  .tl-launch{font-size:.75rem}
  .tl-q1{font-size:10px}
  .tl-lock{top:-6rem}
  .tl-lock-chip{font-size:10px}
  .tl-lock-line{margin-top:.5rem}
  .tl-dates{height:2.5rem;padding-inline:1.5rem}
  .tl-dates span{font-size:10px}
}
@media(min-width:1024px){
  .tl-grid{flex-direction:row}
  .tl-text{width:33.333%;order:1}
  .tl-visual{width:66.666%;order:2}
}

/* ---------- strategic objectives ---------- */
.strat-amb{position:absolute;top:0;right:0;width:400px;height:400px;background:rgba(255,196,9,.03);
  filter:blur(120px);border-radius:9999px;pointer-events:none}
.panel{max-width:64rem;margin:0 auto;background:rgba(21,25,43,.4);border:1px solid rgba(255,255,255,.05);
  border-radius:1rem;overflow:hidden;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);
  -webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);
  display:flex;flex-direction:column;min-height:550px}

/* ---------- the platform's real goals screen (replaces the invented settings panel) ---------- */
.pl-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  padding:.85rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.05)}
.pl-tabs{display:flex;gap:.25rem;flex-wrap:wrap}
.pl-tab{font-size:.75rem;color:var(--s500);padding:.45rem .85rem;border-radius:9999px;white-space:nowrap}
.pl-tab.on{background:rgba(255,255,255,.06);color:#fff;font-weight:500}
.pl-plan{font-size:11px;color:var(--s600)}
.pl-body{padding:1.75rem 1.5rem 2rem}
.pl-sechead{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;
  margin-bottom:1.5rem}
.pl-sectitle{font-size:1rem;font-weight:600;color:#fff}
.pl-sechint{font-size:.75rem;color:var(--s500);margin-top:.25rem}
.pl-add{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--s400);
  border:1px solid rgba(255,255,255,.08);border-radius:9999px;padding:.45rem .85rem;flex:none}
.pl-add .ic{color:var(--primary)}

.gcards{display:flex;flex-direction:column;gap:.85rem}
.gcard{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.055);
  border-radius:.85rem;padding:1.1rem 1.25rem}
.gcard-head{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem}
.gdot{width:.5rem;height:.5rem;border-radius:9999px;flex:none}
.gname{font-size:.95rem;font-weight:600;color:#fff}
.glink{margin-inline-start:auto;font-size:11px;color:var(--s600);white-space:nowrap}
.gmetrics{display:flex;flex-direction:column;gap:.85rem}
.gmetric-top{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  margin-bottom:.4rem}
.gmn{font-size:.8rem;color:var(--s300)}
.gmv{font-size:11px;color:var(--s500);white-space:nowrap}
.gbar{height:5px;border-radius:9999px;background:rgba(255,255,255,.06);overflow:hidden}
.gbar i{display:block;height:100%;border-radius:9999px}
.panel-side{width:100%;border-right:1px solid rgba(255,255,255,.05);background:rgba(0,0,0,.1);
  padding:1rem;display:flex;flex-direction:column;gap:.25rem}
.side-lbl{font-size:9px;font-family:var(--mono);color:var(--s600);text-transform:uppercase;
  letter-spacing:.1em;margin-bottom:.75rem;padding-inline:.75rem}
.side-item{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;border-radius:.5rem;
  transition:.2s;color:var(--s500);border:1px solid transparent;text-align:start;width:100%}
.side-item:hover{color:var(--s300);background:rgba(255,255,255,.02)}
.side-item.active{background:rgba(255,255,255,.05);color:#fff;border-color:rgba(255,255,255,.1)}
.side-item .ic{color:var(--s600)}
.side-item.active .ic{color:var(--primary)}
.side-item span{font-size:.75rem;font-weight:500;letter-spacing:-.025em}
.side-foot{margin-top:auto;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.05)}
.side-user{display:flex;align-items:center;gap:.75rem;padding-inline:.75rem;padding-bottom:.5rem}
.side-av{width:1.75rem;height:1.75rem;border-radius:.25rem;background:var(--s800);display:flex;
  align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--s400);flex:none}
.side-un{font-size:11px;font-weight:700;color:var(--s300)}
.side-ur{font-size:9px;color:var(--s600)}
.panel-main{flex:1;display:flex;flex-direction:column;min-width:0}
.panel-head{height:3.5rem;border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;
  justify-content:space-between;padding-inline:1.5rem;background:rgba(255,255,255,.01)}
.panel-head h3{color:var(--s400);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.panel-head-r{display:flex;align-items:center;gap:1rem}
.live-mini{font-size:9px;font-family:var(--mono);color:var(--s600);display:flex;align-items:center;gap:.5rem}
.live-mini i{width:.25rem;height:.25rem;border-radius:9999px;background:var(--emerald)}
.x-btn{color:var(--s600);transition:.2s}
.x-btn:hover{color:#fff}
.panel-body{padding:1.5rem;overflow-y:auto}
.form-wrap{max-width:42rem;margin:0 auto;display:flex;flex-direction:column;gap:2.5rem}
.form-block{display:flex;flex-direction:column;gap:1.5rem}
.field-lbl{font-size:9px;font-family:var(--mono);color:var(--s600);text-transform:uppercase;
  letter-spacing:.1em;display:block;margin-bottom:.75rem}
.goal-ta{width:100%;background:transparent;border:0;font-size:1.125rem;font-weight:600;color:#fff;
  line-height:1.625;resize:none;outline:none;min-height:60px;font-family:inherit;padding:0}
.goal-ta::placeholder{color:var(--s800)}
.tagrow{display:flex;align-items:center;gap:1rem;padding-bottom:.5rem}
.tagrow>span{font-size:9px;font-family:var(--mono);color:var(--s600);text-transform:uppercase;letter-spacing:.1em}
.swatches{display:flex;gap:.5rem}
.sw{width:1rem;height:1rem;border-radius:9999px;border:1px solid rgba(255,255,255,.05);opacity:.4;transition:.2s}
.sw:hover{opacity:1;transform:scale(1.1)}
.sw.sel{opacity:1;transform:scale(1.1);box-shadow:0 0 0 2px rgba(255,255,255,.2)}
.subgoals{padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.05)}
.sg-head{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}
.sg-head .ic{color:var(--s500)}
.sg-head h4{font-size:10px;font-weight:700;color:var(--s500);text-transform:uppercase;letter-spacing:.1em}
.sg-tag{display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.05);border-radius:.5rem;padding:.625rem 1rem;margin-bottom:1rem}
.sg-tag-l{display:flex;align-items:center;gap:.75rem}
.sg-tag-l .ic{color:var(--s700)}
.sg-name{font-size:.75rem;font-weight:600;color:var(--s300)}
.sg-val{font-size:.75rem;color:var(--primary);font-family:var(--mono);margin-inline-start:.5rem}
.sg-del{color:var(--s700);transition:.2s}
.sg-del:hover{color:#ef4444}
.sg-inputs{display:grid;grid-template-columns:1fr;gap:.75rem;margin-top:1rem}
.f-in{background:rgba(255,255,255,.01);border:1px solid rgba(255,255,255,.05);border-radius:.5rem;
  padding:.5rem .75rem;font-size:.75rem;color:var(--s400);outline:none;transition:.2s;width:100%;font-family:inherit}
.f-in::placeholder{color:var(--s600)}
.f-in:focus{border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.02)}
.add-sg{width:100%;margin-top:.75rem;padding-block:.5rem;border:1px dashed rgba(255,255,255,.05);
  border-radius:.5rem;display:flex;align-items:center;justify-content:center;gap:.5rem;
  color:var(--s600);transition:.2s}
.add-sg:hover{color:var(--s300);background:rgba(255,255,255,.01)}
.add-sg span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.secondary{display:flex;flex-direction:column;gap:.75rem}
.sec-lbl{font-size:9px;font-family:var(--mono);color:var(--s700);text-transform:uppercase;
  letter-spacing:.1em;padding-inline:.25rem}
.sec-card{background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.05);border-radius:.5rem;
  padding:1rem;display:flex;align-items:center;justify-content:space-between;transition:.2s;cursor:pointer}
.sec-card:hover{border-color:rgba(255,255,255,.1)}
.sec-card-l{display:flex;align-items:center;gap:1rem}
.sec-bar{width:.25rem;height:1rem;background:rgba(16,185,129,.4);border-radius:9999px;flex:none}
.sec-txt{font-size:11px;font-weight:500;color:var(--s500);transition:.2s}
.sec-card:hover .sec-txt{color:var(--s300)}
.sec-card .ic{color:var(--s700);transition:.2s}
.sec-card:hover .ic{color:var(--s400)}
.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:1.5rem;padding-top:1.5rem;
  border-top:1px solid rgba(255,255,255,.05)}
.cancel-btn{color:var(--s600);font-size:10px;font-weight:700;text-transform:uppercase;
  letter-spacing:.1em;transition:.2s}
.cancel-btn:hover{color:var(--s400)}
.save-btn{background:var(--s200);color:var(--bg);padding-inline:2rem;box-shadow:none}
.save-btn:hover{background:#fff;box-shadow:none}
@media(min-width:768px){
  /* the goals panel stacks: nav strip on top, cards below, exactly like the app */
  .pl-body{padding:2rem 2.5rem 2.5rem}
  .sg-inputs{grid-template-columns:1fr 1fr}
  .sg-inputs .span2{grid-column:span 2}
  .goal-ta{font-size:1.25rem}
}
/* ---------- localization ---------- */
.loc-sec{background:#0a0c15}
.loc-bg{position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:40px 40px}
.loc-grid{display:flex;flex-direction:column;align-items:center;gap:4rem}
.loc-left{width:100%;order:2}
.loc-right{width:100%;order:1}
.scanner{position:relative;background:var(--bg);border:1px solid rgba(255,255,255,.1);
  border-radius:.75rem;overflow:hidden;box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}
.scanner-h{height:2.5rem;background:var(--surface);border-bottom:1px solid rgba(255,255,255,.05);
  display:flex;align-items:center;justify-content:space-between;padding-inline:1rem}
.scanner-h .l{display:flex;align-items:center;gap:.5rem}
.scanner-h .ic{color:var(--secondary)}
.scanner-h .l span{font-size:10px;color:var(--secondary);font-family:var(--mono);
  text-transform:uppercase;letter-spacing:.1em}
.dots{display:flex;gap:.25rem}
.dots i{width:.5rem;height:.5rem;border-radius:9999px;background:var(--s700);display:block}
.dots i.gold{background:var(--primary)}
.map-vp{position:relative;height:350px;background:#05060a;overflow:hidden;
  background-image:linear-gradient(rgba(150,199,195,.1) .5px,transparent .5px),
    linear-gradient(90deg,rgba(150,199,195,.1) .5px,transparent .5px);
  background-size:20px 20px}
.map-svg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
/* the map keeps its true proportions at every breakpoint (the container runs from 0.99
   to 1.63 aspect, so filling it would stretch the continents). The plane is locked to the
   viewBox instead, and the markers live inside it so a percentage means the same point. */
.map-plane{position:relative;width:100%;aspect-ratio:1000/389}
.map-svg svg{width:100%;height:100%;color:var(--secondary);transition:filter 1s,opacity 1s}
.map-vp.switching .map-svg svg{filter:blur(2px);opacity:.6}
.map-vp.switching{animation:glitchshake .2s linear 4}
@keyframes glitchshake{0%{transform:skewX(0);filter:brightness(1)}
  33%{transform:skewX(2deg);filter:brightness(1.5)}
  66%{transform:skewX(-2deg);filter:brightness(1)}
  100%{transform:skewX(0);filter:brightness(1)}}
.vignette{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at center,transparent 40%,#0c0e1d 100%)}
.cross-h{position:absolute;top:50%;left:0;right:0;height:1px;background:rgba(150,199,195,.2)}
.cross-v{position:absolute;left:50%;top:0;bottom:0;width:1px;background:rgba(150,199,195,.2)}
/* the marker now sits exactly on its coordinate: left/top are the projected point itself */
.mpoint{position:absolute;display:flex;align-items:center;justify-content:center;z-index:20;
  transform:translate(-50%,-50%)}
.mp-core{width:.375rem;height:.375rem;border-radius:9999px;background:var(--s600);opacity:.6}
.mpoint.active .mp-core{background:var(--primary);opacity:1;box-shadow:0 0 15px var(--primary);
  animation:mppulse 2s ease-in-out infinite}
@keyframes mppulse{0%,100%{transform:scale(1)}50%{transform:scale(1.5)}}
.mpoint:not(.active) .mp-brackets{display:none}
.mp-brackets{position:absolute;width:3rem;height:3rem;pointer-events:none;transform:rotate(90deg);
  opacity:0;animation:mpbrackets .8s ease-out forwards}
@keyframes mpbrackets{from{opacity:0;transform:rotate(90deg) scale(1.2)}to{opacity:1;transform:rotate(90deg) scale(1)}}
.mp-brackets svg{width:100%;height:100%;fill:none;stroke:var(--primary);stroke-width:.5;opacity:.8}
.mp-label{position:absolute;top:1.5rem;left:50%;transform:translateX(-50%);font-size:8px;
  font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;
  padding:.125rem .5rem;border-radius:.25rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.05);color:var(--s500);background:rgba(12,14,29,.8)}
.mpoint.active .mp-label{color:var(--primary);background:rgba(255,196,9,.05);border-color:rgba(255,196,9,.2)}
.beam{position:absolute;top:0;bottom:0;width:2px;background:rgba(255,196,9,.6);
  box-shadow:0 0 30px var(--primary);z-index:20;animation:beam 4s linear infinite}
@keyframes beam{from{left:0}to{left:100%}}
.beam-halo{position:absolute;top:0;width:100px;height:100%;transform:translateX(-50%);
  background:linear-gradient(to right,rgba(255,196,9,0),rgba(255,196,9,.1),rgba(255,196,9,0))}
.glitch{position:absolute;inset:0;background:rgba(12,14,29,.9);z-index:30;display:flex;
  flex-direction:column;align-items:center;justify-content:center;
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.glitch[hidden]{display:none}
.glitch .ic{color:var(--primary);margin-bottom:1rem}
.glitch div{font-family:var(--mono);color:var(--primary);font-size:.75rem;
  letter-spacing:.3em;text-transform:uppercase}
.hud-bottom{position:absolute;bottom:0;left:0;right:0;background:rgba(21,25,43,.95);
  border-top:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);padding:1rem;z-index:20}
/* IBM Plex sets these labels wider than the mono face did, so the row must be able to
   give way instead of pushing the button past the panel edge. */
.hud-row{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap}
.hud-cells{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;min-width:0;flex:1 1 auto}
.hud-k{font-size:9px;color:var(--s500);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.25rem}
.hud-v{color:#fff;font-family:var(--mono);font-weight:700;font-size:.875rem;display:flex;
  align-items:center;gap:.5rem}
.hud-sep{width:1px;height:2rem;background:rgba(255,255,255,.1);flex:none}
.hud-sm{display:none}
.update-btn{background:var(--primary);color:var(--bg);padding:.5rem 1.25rem;border-radius:.25rem;
  font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;transition:.2s;
  box-shadow:0 0 20px rgba(255,196,9,.3);display:flex;align-items:center;gap:.5rem;flex:none}
.update-btn:hover{background:#fff;box-shadow:0 0 30px rgba(255,255,255,.4)}
.update-btn:disabled{opacity:.5;cursor:not-allowed}
.scanner-f{background:var(--bg);padding:.5rem 1rem;border-top:1px solid rgba(255,255,255,.05);
  display:flex;justify-content:space-between;align-items:center;font-size:9px;
  font-family:var(--mono);color:var(--s600)}
.scanner-f .l{display:flex;gap:.75rem}
.scanner-f span{display:flex;align-items:center;gap:.25rem}
.loc-right h2{font-size:1.875rem;font-weight:700;color:#fff;margin-bottom:1.5rem;line-height:1.25}
.loc-right p{color:var(--s400);font-size:1.125rem;line-height:1.625;margin-bottom:2rem}
.chips{display:flex;flex-wrap:wrap;gap:.75rem}
.chip{padding:.5rem 1rem;border:1px solid rgba(255,255,255,.1);border-radius:.5rem;font-size:.75rem;
  color:var(--s300);background:var(--surface);display:flex;align-items:center;gap:.5rem;transition:.2s}
.chip i{width:.375rem;height:.375rem;border-radius:9999px}
.chip-teal i{background:var(--secondary)}.chip-teal:hover{border-color:rgba(150,199,195,.5)}
.chip-gold i{background:var(--primary)}.chip-gold:hover{border-color:rgba(255,196,9,.5)}
.chip-rose i{background:var(--accent)}.chip-rose:hover{border-color:rgba(204,95,115,.5)}
@media(min-width:768px){
  .map-vp{height:450px}
  .hud-bottom{padding:1.5rem}
  .hud-sm{display:block}
  .loc-right h2{font-size:3rem}
}
@media(min-width:1024px){
  .loc-grid{flex-direction:row;gap:6rem}
  .loc-left{width:50%;order:1}
  .loc-right{width:50%;order:2}
}

/* ---------- financial ---------- */
.fin-sec{padding-block:8rem}
.fin-head{text-align:center;max-width:56rem;margin:0 auto 5rem}
.fin-head h2{font-size:2.25rem;font-weight:700;color:#fff;margin-bottom:1.5rem;line-height:1.25}
.fin-head p{color:var(--s400);font-size:1.125rem;max-width:42rem;margin:0 auto}
.stats{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}
.stat{background:var(--surface);border:1px solid rgba(255,255,255,.1);padding:1.5rem;
  position:relative;overflow:hidden;transition:.2s}
.stat:hover{border-color:rgba(255,255,255,.2)}
.stat::before{content:'';position:absolute;top:0;left:0;width:100%;height:2px;
  opacity:.5;background:var(--secondary)}
.stat.primary::before{background:var(--primary)}
.stat-h{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}
.stat-t{color:var(--s500);font-size:10px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em}
.stat-h .ic{color:var(--primary)}
.stat-v{font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:.5rem;font-family:var(--mono);
  letter-spacing:-.025em;transition:.2s}
.stat:hover .stat-v{color:var(--secondary)}
.stat-f{display:flex;align-items:center}
.stat-f i{width:.375rem;height:.375rem;border-radius:9999px;margin-inline-end:.5rem;background:var(--s600)}
.stat.primary .stat-f i{background:var(--primary)}
.stat-f span{font-size:.75rem;font-weight:500;color:var(--s500)}
.stat.primary .stat-f span{color:var(--primary)}
.chart-box{background:rgba(21,25,43,.8);border:1px solid rgba(255,255,255,.1);padding:2rem;
  position:relative;overflow:hidden;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.chart-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem;gap:1rem}
.chart-h h3{color:#fff;font-family:var(--mono);font-size:.875rem;text-transform:uppercase;
  letter-spacing:.1em;border-inline-start:2px solid var(--secondary);padding-inline-start:1rem}
.legend{display:flex;gap:1.5rem}
.lg{display:flex;align-items:center}
.lg i{width:.5rem;height:.5rem;margin-inline-end:.5rem;display:block}
.lg-actual i{background:var(--secondary);box-shadow:0 0 8px var(--secondary)}
.lg-fc i{background:var(--s700)}
.lg span{font-size:10px;color:var(--s400);text-transform:uppercase;font-family:var(--mono)}
.chart{height:350px;width:100%;position:relative;z-index:10;display:flex;align-items:stretch}
.cgroup{flex:1;display:flex;flex-direction:column;height:100%}
.cbars{flex:1;display:flex;align-items:flex-end;justify-content:center;gap:4px;padding-inline:12%}
.cb{flex:1;max-width:44px;border-radius:2px 2px 0 0;height:0;transition:height 1.5s ease-out}
.cb-val{background:var(--s700)}
.cb-val.hot{background:var(--primary);filter:drop-shadow(0 0 8px rgba(255,196,9,.5))}
.cb-fc{border:1px dashed var(--s600);background:transparent}
.cx{font-size:10px;font-family:var(--mono);color:var(--s500);text-align:center;padding-top:20px}
.chart-lines{position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px);background-size:100% 40px}
.chart-fade{position:absolute;bottom:0;left:0;width:100%;height:8rem;pointer-events:none;
  background:linear-gradient(to top,rgba(150,199,195,.05),transparent)}
@media(min-width:768px){
  .fin-head h2{font-size:3.75rem}
  .stats{grid-template-columns:repeat(3,1fr)}
  .stat-v{font-size:1.875rem}
  .chart-box{padding:3rem}
}

/* ---------- executive summary ---------- */
.exec-grid{display:flex;flex-direction:column;align-items:center;gap:5rem}
.exec-visual{width:100%;order:2;position:relative}
.exec-text{width:100%;order:1}
.exec-glow{position:absolute;inset:-2.5rem;filter:blur(48px);opacity:.6;pointer-events:none;
  background:linear-gradient(to top right,rgba(204,95,115,.1),transparent,rgba(255,196,9,.1))}
.report{background:rgba(21,25,43,.8);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);
  border:1px solid rgba(255,255,255,.1);border-radius:.75rem;padding:2rem;position:relative;
  overflow:hidden;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);transition:.5s}
.report:hover{box-shadow:0 0 50px rgba(0,0,0,.5)}
.report-sheen{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to bottom right,rgba(255,255,255,.05),transparent)}
.report-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;
  border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:1rem;position:relative;z-index:1}
.conf{color:var(--primary);font-size:10px;font-weight:700;text-transform:uppercase;
  letter-spacing:.2em;margin-bottom:.375rem;display:flex;align-items:center}
.conf i{width:.375rem;height:.375rem;background:var(--primary);border-radius:9999px;margin-inline-end:.5rem}
.report-title{color:#fff;font-size:1.5rem;letter-spacing:-.025em}
.report-h .r{text-align:right}
[dir=rtl] .report-h .r{text-align:left}
.gen{color:var(--s500);font-size:9px;font-family:var(--mono);text-transform:uppercase;
  letter-spacing:.05em;margin-bottom:.25rem}
.gen-date{color:#fff;font-size:.75rem;font-family:var(--mono);background:rgba(255,255,255,.05);
  padding:.25rem .5rem;border-radius:.25rem;display:inline-block}
.report-body{display:flex;flex-direction:column;gap:1.5rem;position:relative;z-index:1}
.skel{display:flex;flex-direction:column;gap:.75rem}
.skel i{height:.5rem;border-radius:.25rem;display:block;background:rgba(30,41,59,.5)}
.skel i.lead{width:25%;background:rgba(51,65,85,.5)}
.skel i.w66{width:66.666%}
.rcards{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.rcard{background:rgba(12,14,29,.5);padding:1rem;border-radius:.5rem;
  border:1px solid rgba(255,255,255,.05);position:relative;overflow:hidden}
.rcard-v{font-size:1.875rem;font-weight:700;margin-bottom:.25rem;letter-spacing:-.05em}
.rcard-1 .rcard-v{color:var(--secondary)}
.rcard-2 .rcard-v{color:var(--accent)}
.rcard-l{color:var(--s500);font-size:9px;text-transform:uppercase;letter-spacing:.05em}
.viz{height:6rem;width:100%;background:rgba(30,41,59,.3);border-radius:.25rem;
  border:1px dashed rgba(51,65,85,.5);display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:.5rem}
.viz .ic{color:var(--s600)}
.viz span{font-size:10px;color:var(--s600);font-family:var(--mono)}
.seal{position:absolute;bottom:1.5rem;inset-inline-end:1.5rem;opacity:.4;mix-blend-mode:screen}
.seal-o{width:5rem;height:5rem;border:2px solid var(--s500);border-radius:9999px;display:flex;
  align-items:center;justify-content:center;transform:rotate(-15deg);transition:transform .7s}
.report:hover .seal-o{transform:rotate(0)}
.seal-i{width:90%;height:90%;border:1px solid rgba(100,116,139,.5);border-radius:9999px;
  display:flex;align-items:center;justify-content:center}
.seal-i span{font-size:9px;font-weight:700;color:var(--s400);text-transform:uppercase;
  text-align:center;line-height:1.25;letter-spacing:.05em;padding:.25rem}
.exec-text h2{font-size:2.25rem;font-weight:700;color:#fff;margin-bottom:1.5rem;line-height:1.1}
.exec-text p{color:var(--s400);font-size:1.125rem;line-height:1.625;margin-bottom:2rem}
.exec-list li{display:flex;align-items:center;color:var(--s300);margin-bottom:1rem}
.exec-list .ic{color:var(--secondary);margin-inline-end:1rem;flex:none}
@media(min-width:768px){
  .exec-text h2{font-size:3rem}
}
@media(min-width:1024px){
  .exec-grid{flex-direction:row}
  .exec-visual{width:50%;order:1}
  .exec-text{width:50%;order:2}
}
/* ---------- ai terminal ---------- */
.ai-sec{padding-block:10rem}
.ai-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:800px;height:800px;
  background:rgba(150,199,195,.05);filter:blur(150px);border-radius:9999px;mix-blend-mode:screen}
.ai-grid{display:flex;flex-direction:column;gap:4rem;align-items:center}
.ai-left,.ai-right{width:100%}
.ai-left h2{font-size:2.25rem;font-weight:700;color:#fff;margin-bottom:1.5rem;line-height:1.25}
.ai-left p{color:var(--s400);font-size:1.125rem;margin-bottom:2rem;line-height:1.625}
.ai-badge{background:rgba(150,199,195,.1);border:1px solid rgba(150,199,195,.2);color:var(--secondary);
  font-size:.75rem;margin-bottom:2rem;text-transform:none}
.ai-tags{display:flex;flex-wrap:wrap;gap:1rem;font-size:.875rem;font-family:var(--mono);color:var(--s500)}
.ai-tags span{background:var(--surface);border:1px solid rgba(255,255,255,.05);
  padding:.25rem .75rem;border-radius:.25rem}
.term{border:1px solid rgba(255,255,255,.1);border-radius:.5rem;overflow:hidden;min-height:450px;
  display:flex;flex-direction:column;position:relative;font-family:var(--mono);font-size:.875rem;
  box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}
.term-h{height:2.5rem;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;
  padding-inline:1rem;background:var(--surface);justify-content:space-between}
.term-dots{display:flex;gap:.5rem}
.term-dots i{width:.75rem;height:.75rem;border-radius:9999px;background:var(--s700);display:block}
.term-t{font-size:.75rem;color:var(--s500)}
.term-h .ic{color:var(--s600)}
.term-b{flex:1;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;overflow-y:auto;background:#0a0c10}
.term-login{color:var(--s600);margin-bottom:1rem}
.term-user{display:flex;color:var(--accent)}
.term-user .arrow{margin-right:.75rem}
.term-user .cmd{color:#fff}
.term-ai{color:var(--secondary);padding-left:1.5rem;white-space:pre-wrap;line-height:1.625}
.term-proc{padding-left:1.5rem;color:var(--secondary)}
.term-cursor{display:flex;color:var(--accent);padding-top:.5rem}
.term-cursor i{width:.5rem;height:1rem;background:var(--s500);display:block}
.term-line{position:absolute;bottom:0;left:0;right:0;height:4px;opacity:.2;
  background:linear-gradient(to right,var(--accent),var(--primary))}
@media(min-width:768px){
  .ai-left h2{font-size:3.75rem}
}
@media(min-width:1024px){
  .ai-grid{flex-direction:row;gap:4rem}
  .ai-left,.ai-right{width:50%}
}

/* ---------- execution network ---------- */
.ex-sec{padding-block:6rem}
.ex-dots{position:absolute;inset:0;opacity:.1;pointer-events:none}
.ex-badge{display:inline-flex;align-items:center;gap:.5rem;color:var(--primary);margin-bottom:1rem}
.ex-badge span{font-size:10px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em}
.ex-head h2{font-size:1.875rem;font-weight:700;color:#fff;margin-bottom:1.5rem}
.ex-head p{color:var(--s400);font-size:.875rem;max-width:42rem;margin:0 auto;padding-inline:1rem}
.ex-net{position:relative;height:300px;max-width:56rem;margin:0 auto 3rem}
.ex-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:20}
.ex-core{width:6rem;height:6rem;background:var(--bg);border-radius:9999px;
  border:1px solid rgba(150,199,195,.5);display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 50px rgba(150,199,195,.1);position:relative}
.ex-core .ring{position:absolute;inset:0;border-radius:9999px;border:1px solid var(--secondary);opacity:.2}
.ex-core .ring-i{position:absolute;inset:.5rem;border-radius:9999px;border:1px solid rgba(150,199,195,.3)}
.ex-core span{color:#fff;font-size:10px;font-weight:700;letter-spacing:-.05em;position:relative;z-index:30}
.node{position:absolute;display:flex;flex-direction:column;align-items:center;z-index:10;cursor:pointer;
  opacity:0;transform:scale(0);transition:opacity .5s,transform .5s cubic-bezier(.34,1.56,.64,1)}
.node.in{opacity:1;transform:none}
.node-1{inset-inline-start:5%;top:5%}
.node-2{inset-inline-end:5%;top:5%}
.node-3{inset-inline-start:5%;bottom:5%}
.node-4{inset-inline-end:5%;bottom:5%}
.node-c{width:2.5rem;height:2.5rem;border-radius:9999px;background:var(--surface);
  border:1px solid rgba(255,196,9,.3);display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 15px rgba(255,196,9,.1);margin-bottom:.5rem;transition:.3s;position:relative;z-index:10}
.node:hover .node-c{border-color:var(--primary);transform:scale(1.1);box-shadow:0 0 20px rgba(255,196,9,.3)}
.node-c i{width:.375rem;height:.375rem;background:var(--primary);border-radius:9999px;transition:.2s;display:block}
.node:hover .node-c i{transform:scale(1.25)}
.node-txt{text-align:center;padding-inline:.5rem}
.node-n{color:#fff;font-size:9px;font-weight:700;line-height:1.25;transition:.2s}
.node:hover .node-n{color:var(--primary)}
.node-t{color:var(--s500);font-size:7px;text-transform:uppercase;letter-spacing:.05em}
.ex-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;display:none}
.ex-lines path{stroke-dasharray:var(--len);stroke-dashoffset:var(--len);
  transition:stroke-dashoffset 1.5s ease-out}
.ex-lines.in path{stroke-dashoffset:0}
.ex-lines.in path:nth-child(2){transition-delay:.2s}
.ex-lines.in path:nth-child(3){transition-delay:.4s}
.ex-lines.in path:nth-child(4){transition-delay:.6s}
[dir=rtl] .ex-lines g{transform:scaleX(-1);transform-origin:center}
.ex-actions{display:flex;align-items:center;justify-content:center;margin-top:4rem}
.partner{padding:.75rem 1.5rem;border-radius:.5rem;border:1px solid rgba(255,196,9,.3);
  color:var(--primary);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  transition:.2s;display:inline-flex;align-items:center;gap:.5rem;box-shadow:0 0 15px rgba(255,196,9,.05)}
.partner:hover{background:rgba(255,196,9,.1);border-color:rgba(255,196,9,.6);transform:scale(1.05)}
@media(min-width:640px){.ex-lines{display:block}}
@media(min-width:768px){
  .ex-sec{padding-block:8rem}
  .ex-dots{opacity:.2}
  .ex-badge{margin-bottom:1.5rem}
  .ex-badge span{font-size:.75rem}
  .ex-badge .ic{width:1.25rem;height:1.25rem}
  .ex-head h2{font-size:3.75rem}
  .ex-head p{font-size:1.125rem}
  .ex-net{height:450px}
  .ex-core{width:8rem;height:8rem}
  .ex-core span{font-size:.75rem}
  .node-1,.node-2{top:10%}
  .node-3,.node-4{bottom:10%}
  .node-1,.node-3{inset-inline-start:10%}
  .node-2,.node-4{inset-inline-end:10%}
  .node-c{width:3rem;height:3rem}
  .node-c i{width:.5rem;height:.5rem}
  .node-n{font-size:.75rem}
  .node-t{font-size:9px}
  .ex-actions{margin-top:6rem}
}

/* ---------- features ---------- */
.feat-sec{padding-block:6rem}
.feat-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}
.feat{padding:2rem;border-radius:.75rem;transition:.3s}
.feat:hover{background:#1f2438;transform:translateY(-.25rem);box-shadow:0 10px 40px rgba(0,0,0,.2)}
.feat-ic{width:3rem;height:3rem;background:var(--bg);border-radius:.25rem;display:flex;
  align-items:center;justify-content:center;margin-bottom:1.5rem;color:var(--primary);
  border:1px solid rgba(255,196,9,.2);box-shadow:0 0 15px rgba(255,196,9,.1);transition:.3s}
.feat:hover .feat-ic{background:var(--primary);color:var(--bg)}
.feat h3{font-size:1.25rem;font-weight:700;color:#fff;margin-bottom:.75rem;transition:.2s}
.feat:hover h3{color:var(--secondary)}
.feat p{color:var(--s400);font-size:.875rem;line-height:1.625;transition:.2s}
.feat:hover p{color:var(--s300)}
@media(min-width:768px){.feat-grid{grid-template-columns:repeat(3,1fr)}}

/* ---------- footer ---------- */
.foot{background:var(--deep);padding-block:6rem;border-top:1px solid var(--s900);
  position:relative;overflow:hidden;text-align:center}
.foot-glow{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:80vw;height:600px;
  background:rgba(49,46,129,.1);filter:blur(150px);border-radius:9999px;pointer-events:none;transition:1s}
.foot:hover .foot-glow{background:rgba(49,46,129,.15)}
.foot-line{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:100%;height:1px;
  background:linear-gradient(to right,transparent,rgba(99,102,241,.2),transparent)}
.foot-in{position:relative;z-index:10}
.foot h2{font-size:2.25rem;font-weight:700;color:#fff;margin-bottom:2rem;letter-spacing:-.05em}
.foot-sub{color:var(--s400);margin:0 auto 3rem;font-size:1.125rem;font-weight:300;
  max-width:42rem;line-height:1.625}
.foot-cta{margin-bottom:6rem;padding-inline:3rem;height:4rem;font-size:1.125rem;
  box-shadow:0 0 40px rgba(99,102,241,.3)}
.foot-cta:hover{box-shadow:0 0 80px rgba(99,102,241,.5)}
.foot-block{display:flex;flex-direction:column;align-items:center;justify-content:center;
  max-width:56rem;margin:0 auto;border-top:1px solid rgba(30,41,59,.5);padding-top:4rem}
.logos{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;
  margin-bottom:2rem;opacity:.9;transition:.3s}
.logos:hover{opacity:1}
.logos img{height:2rem;width:auto;object-fit:contain}
.logo-sep{display:none;width:1px;height:2rem;background:rgba(51,65,85,.5)}
.foot-desc{color:var(--s500);font-size:.875rem;line-height:1.625;max-width:42rem;
  margin:0 auto;font-weight:300}
.foot-meta{margin-top:4rem;display:flex;align-items:center;justify-content:center;gap:1rem;
  font-size:10px;color:var(--s700);font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em}
.foot-meta .sep{color:var(--s800)}
@media(min-width:768px){
  .foot h2{font-size:4.5rem}
  .foot-sub{font-size:1.25rem}
  .logos{flex-direction:row;gap:2rem}
  .logos img{height:2.5rem}
  .logo-sep{display:block}
}
/* == END == */
