/* ============================================================
   DIGITLIZER — style.css
   Palette: Navy #0B2545 · Royal #1565C0 · Sky #1E90FF
            Teal #0F766E · Coral #F7705D · Mist #F0F4F8
   Type: Poppins (display) · Inter (body)
   ============================================================ */
:root{
  --navy:#0B2545; --royal:#1565C0; --sky:#1E90FF; --teal:#0F766E;
  --coral:#F7705D; --mist:#F0F4F8; --border:#DDE6F0; --slate:#2D3E50;
  --gray:#68798F; --white:#FFFFFF;
  --ff-d:'Poppins',sans-serif; --ff-b:'Inter',system-ui,sans-serif;
  --rad:14px; --shadow:0 8px 28px rgba(11,37,69,.08);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--ff-b);color:var(--slate);background:var(--white);line-height:1.65;font-size:16.5px}
img,svg{max-width:100%;display:block}
a{color:var(--royal);text-decoration:none}
a:hover{color:var(--sky)}
h1,h2,h3,h4{font-family:var(--ff-d);color:var(--navy);line-height:1.18;letter-spacing:-.015em}
h1{font-size:clamp(2.1rem,4.6vw,3.4rem);font-weight:700}
h2{font-size:clamp(1.6rem,3vw,2.3rem);font-weight:700}
h3{font-size:1.16rem;font-weight:600}
.wrap{max-width:1440px;margin:0 auto;padding:0 24px}
section{padding:88px 0}
.alt{background:var(--mist)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--ff-d);font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--royal);margin-bottom:14px}
.eyebrow::before{content:"";width:12px;height:12px;background:var(--teal);clip-path:polygon(0 0,100% 35%,55% 100%);border-radius:2px}
.lede{max-width:620px;color:var(--gray);margin-top:14px}
.center{text-align:center}
.center .lede{margin-left:auto;margin-right:auto}

/* Buttons */
.btn{display:inline-block;font-family:var(--ff-d);font-weight:600;font-size:.95rem;padding:14px 28px;border-radius:10px;border:2px solid transparent;cursor:pointer;transition:.2s}
.btn-primary{background:var(--royal);color:#fff}
.btn-primary:hover{background:var(--sky);color:#fff;transform:translateY(-2px)}
.btn-ghost{border-color:var(--navy);color:var(--navy);background:transparent}
.btn-ghost:hover{background:var(--navy);color:#fff}
.btn-teal{background:var(--teal);color:#fff}
.btn-teal:hover{background:#0d8a80;color:#fff}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}

/* Header */
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.nav{display:flex;align-items:center;justify-content:space-between;height:104px}
.logo{display:flex;align-items:center;gap:11px}
.logo-word{font-family:var(--ff-d);font-weight:700;font-size:1.42rem;letter-spacing:-.02em;color:var(--navy)}
.logo-word span{color:var(--royal)}
.logo small{display:block;font-size:.58rem;letter-spacing:.06em;color:var(--gray);font-weight:500;margin-top:-3px}
.nav-links{display:flex;gap:30px;list-style:none;align-items:center}
.nav-links a{font-family:var(--ff-d);font-size:.92rem;font-weight:500;color:var(--navy);position:relative}
.nav-links a.active,.nav-links a:hover{color:var(--royal)}
.nav-links a.active::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2.5px;background:var(--sky);border-radius:2px}
.nav-cta{background:var(--royal);color:#fff!important;padding:10px 20px;border-radius:9px}
.nav-cta:hover{background:var(--sky)}
.burger{display:none;background:none;border:0;cursor:pointer;padding:6px}
.burger span{display:block;width:24px;height:2.5px;background:var(--navy);margin:5px 0;border-radius:2px;transition:.25s}

/* Hero */
.hero{padding:96px 0 90px;background:linear-gradient(180deg,#fff 0%,var(--mist) 100%)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero h1 em{font-style:normal;color:var(--royal)}
.hero-feats{display:flex;gap:26px;flex-wrap:wrap;margin-top:36px}
.hero-feats div{display:flex;align-items:center;gap:9px;font-family:var(--ff-d);font-size:.82rem;font-weight:600;color:var(--navy)}
.hero-feats svg{width:20px;height:20px;flex-shrink:0}

/* Dashboard visual (signature) */
.dash{background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:20px;position:relative}
.dash::before{content:"";position:absolute;top:0;left:24px;right:24px;height:4px;border-radius:0 0 6px 6px;background:linear-gradient(90deg,var(--teal),var(--sky))}
.dash-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.dash-head b{font-family:var(--ff-d);font-size:.82rem;color:var(--navy)}
.dash-head i{font-style:normal;font-size:.68rem;color:var(--gray)}
.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tile{background:var(--mist);border-radius:10px;padding:13px}
.tile b{font-family:var(--ff-d);font-size:1.35rem;color:var(--navy);font-variant-numeric:tabular-nums}
.tile em{display:block;font-style:normal;font-size:.68rem;color:var(--gray)}
.tile.full{grid-column:1/-1}

/* Cards */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:44px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:44px}
.card{background:#fff;border:1px solid var(--border);border-radius:var(--rad);padding:30px 26px;position:relative;overflow:hidden;transition:.25s}
.card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--teal),var(--sky));opacity:0;transition:.25s}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.card:hover::before{opacity:1}
.card h3{margin:16px 0 9px}
.card p{font-size:.94rem;color:var(--gray)}
.card .ic{width:48px;height:48px;border-radius:12px;background:var(--mist);display:flex;align-items:center;justify-content:center}
.card .ic svg{width:25px;height:25px}
.card .from{font-family:var(--ff-d);font-weight:600;color:var(--teal);font-size:.9rem;margin-top:12px;display:block}

/* Tool band */
.band{padding:36px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff}
.band p{text-align:center;font-family:var(--ff-d);font-size:.72rem;letter-spacing:.16em;font-weight:600;color:var(--gray);margin-bottom:18px}
.band ul{display:flex;justify-content:center;gap:42px;flex-wrap:wrap;list-style:none;font-family:var(--ff-d);font-weight:600;color:var(--navy);font-size:.95rem}
.band li{display:flex;align-items:center;gap:8px}
.band li::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--sky)}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px;counter-reset:step}
.step{background:#fff;border:1px solid var(--border);border-radius:var(--rad);padding:30px 26px;counter-increment:step;position:relative}
.step::before{content:"0" counter(step);font-family:var(--ff-d);font-weight:700;font-size:2rem;color:var(--sky);opacity:.28;position:absolute;top:14px;right:20px}

/* Quote / CTA */
.cta{background:var(--mist);border-radius:22px;padding:64px 40px;text-align:center;position:relative;overflow:hidden}
.cta::after{content:"";position:absolute;width:220px;height:220px;right:-60px;top:-60px;background:var(--sky);opacity:.08;clip-path:polygon(0 0,100% 35%,55% 100%)}
.cta h2{max-width:560px;margin:0 auto}
.cta p{color:var(--gray);margin:14px auto 0;max-width:480px}

/* Portfolio */
.case{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--border);border-radius:var(--rad);overflow:hidden;background:#fff;margin-top:30px}
.case-media{background:linear-gradient(135deg,var(--navy),var(--royal));display:flex;align-items:center;justify-content:center;padding:48px;min-height:280px}
.case-body{padding:40px 36px}
.case-tags{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 4px}
.tag{font-family:var(--ff-d);font-size:.68rem;font-weight:600;letter-spacing:.05em;padding:4px 11px;border-radius:20px;background:var(--mist);color:var(--royal)}

/* Shop */
.price{font-family:var(--ff-d);font-weight:700;font-size:1.3rem;color:var(--navy)}
.pill-coral{font-family:var(--ff-d);font-size:.68rem;font-weight:600;background:#FFEDE9;color:var(--coral);padding:4px 11px;border-radius:20px}

/* Forms */
.form-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:40px;box-shadow:var(--shadow)}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.f-group{margin-bottom:18px}
label{display:block;font-family:var(--ff-d);font-size:.83rem;font-weight:600;color:var(--navy);margin-bottom:7px}
input,select,textarea{width:100%;padding:13px 15px;border:1.5px solid var(--border);border-radius:10px;font-family:var(--ff-b);font-size:.95rem;color:var(--slate);background:#fff;transition:.2s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--sky);box-shadow:0 0 0 3px rgba(30,144,255,.14)}
textarea{min-height:130px;resize:vertical}
.file-drop{border:2px dashed var(--border);border-radius:12px;padding:26px;text-align:center;color:var(--gray);font-size:.9rem;cursor:pointer;transition:.2s}
.file-drop:hover{border-color:var(--sky);background:var(--mist)}
.file-drop b{color:var(--royal)}
.hint{font-size:.78rem;color:var(--gray);margin-top:6px}
.hp{position:absolute;left:-9999px;opacity:0}
.form-msg{display:none;padding:14px 18px;border-radius:10px;font-size:.92rem;margin-bottom:18px}
.form-msg.ok{display:block;background:#E8F8F1;color:#0F6E56;border:1px solid #9ADBC3}
.form-msg.err{display:block;background:#FDEEEC;color:#B3402F;border:1px solid #F5B9AE}

/* Footer */
footer{background:var(--navy);color:#B9C6D8;padding:64px 0 0;margin-top:0}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px}
footer h4{color:#fff;font-size:.95rem;margin-bottom:16px}
footer ul{list-style:none}
footer li{margin-bottom:9px}
footer a{color:#B9C6D8;font-size:.9rem}
footer a:hover{color:var(--sky)}
.foot-tag{font-family:var(--ff-d);font-size:.72rem;letter-spacing:.13em;color:var(--sky);margin-top:14px}
.foot-base{border-top:1px solid rgba(255,255,255,.12);padding:20px 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.82rem}

/* Reveal animation */
.rv{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.btn-primary:hover{transform:none}.card:hover{transform:none}}

/* Responsive */
@media(max-width:960px){
  .hero-grid,.grid-3,.grid-4,.steps,.case{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  section{padding:64px 0}
  .hero{padding:64px 0}
  .hero-grid,.grid-2,.grid-3,.grid-4,.steps,.case,.f-row{grid-template-columns:1fr}
  .nav-links{position:fixed;inset:104px 0 auto 0;background:#fff;flex-direction:column;padding:26px;gap:20px;border-bottom:1px solid var(--border);display:none}
  .nav-links.open{display:flex}
  .burger{display:block}
  .foot-grid{grid-template-columns:1fr}
}

/* ============================================================
   PREMIUM LAYER — enterprise upgrade (additive, preserves base)
   ============================================================ */
:root{
  --ink:#081827; --glass:rgba(255,255,255,.72);
  --grad-brand:linear-gradient(120deg,#0F766E 0%,#1565C0 55%,#1E90FF 100%);
  --grad-navy:linear-gradient(160deg,#0B2545 0%,#123A63 100%);
  --ring:0 0 0 1px rgba(11,37,69,.06);
  --lift:0 20px 50px -20px rgba(11,37,69,.35);
  --e:cubic-bezier(.22,.61,.36,1);
}

/* Section rhythm + entrance */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s var(--e),transform .7s var(--e)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* Kicker / big display */
.display{font-size:clamp(2.6rem,6vw,4.6rem);line-height:1.02;letter-spacing:-.03em;font-weight:700}
.grad-text{background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent}
.muted{color:var(--gray)}
.tight{max-width:680px}

/* Premium hero */
.phero{position:relative;overflow:hidden;background:
   radial-gradient(1200px 600px at 78% -10%,rgba(30,144,255,.14),transparent 60%),
   radial-gradient(900px 500px at 10% 10%,rgba(15,118,110,.10),transparent 55%),
   linear-gradient(180deg,#fff, #F7FAFD)}
.phero::before{content:"";position:absolute;inset:0;background-image:
   linear-gradient(rgba(11,37,69,.035) 1px,transparent 1px),
   linear-gradient(90deg,rgba(11,37,69,.035) 1px,transparent 1px);
   background-size:46px 46px;mask:radial-gradient(700px 400px at 70% 20%,#000,transparent 75%)}
.phero .wrap{position:relative}
.phero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:52px;align-items:center;padding:90px 0 80px}
.badge-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}
.badge{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--border);border-radius:100px;padding:7px 14px;font-family:var(--ff-d);font-size:.72rem;font-weight:600;color:var(--navy);box-shadow:var(--ring)}
.badge b{color:var(--teal)}
.badge .dot{width:7px;height:7px;border-radius:50%;background:#22C55E;box-shadow:0 0 0 3px rgba(34,197,94,.18)}

/* Live dashboard widget */
.ldash{background:#fff;border:1px solid var(--border);border-radius:20px;box-shadow:var(--lift);overflow:hidden}
.ldash-top{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#fff,#FAFCFE)}
.ldash-top .dots{display:flex;gap:6px}.ldash-top .dots i{width:11px;height:11px;border-radius:50%;display:block}
.ldash-title{font-family:var(--ff-d);font-weight:600;font-size:.82rem;color:var(--navy);margin-left:6px}
.ldash-live{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:.68rem;font-weight:600;color:#0F9B6E;font-family:var(--ff-d)}
.ldash-live .dot{width:7px;height:7px;border-radius:50%;background:#22C55E;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.ldash-controls{display:flex;gap:8px;padding:14px 18px;flex-wrap:wrap;border-bottom:1px solid var(--border)}
.seg{display:inline-flex;background:var(--mist);border-radius:9px;padding:3px}
.seg button{border:0;background:transparent;font-family:var(--ff-d);font-weight:600;font-size:.74rem;color:var(--gray);padding:6px 12px;border-radius:7px;cursor:pointer;transition:.2s}
.seg button.on{background:#fff;color:var(--navy);box-shadow:var(--ring)}
.ldash-body{padding:18px}
.kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.kpi{background:var(--mist);border-radius:12px;padding:14px}
.kpi em{font-style:normal;font-size:.66rem;color:var(--gray);font-family:var(--ff-d);font-weight:600;letter-spacing:.02em;text-transform:uppercase}
.kpi b{display:block;font-family:var(--ff-d);font-weight:700;font-size:1.5rem;color:var(--navy);font-variant-numeric:tabular-nums;margin-top:3px}
.kpi .delta{font-size:.68rem;font-weight:600;font-family:var(--ff-d)}
.kpi .up{color:#0F9B6E}.kpi .down{color:#DC2626}
.chart-wrap{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px}
.chart-wrap svg{width:100%;height:auto;display:block}
.bar-legend{display:flex;gap:16px;margin-top:10px;font-size:.7rem;color:var(--gray);font-family:var(--ff-d);font-weight:500}
.bar-legend span{display:flex;align-items:center;gap:6px}
.bar-legend i{width:10px;height:10px;border-radius:3px;display:block}

/* Trust marquee */
.trust{padding:40px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff;overflow:hidden}
.trust p{text-align:center;font-family:var(--ff-d);font-size:.7rem;letter-spacing:.18em;font-weight:600;color:var(--gray);margin-bottom:22px}
.marquee{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:10px;padding:10px 16px;font-family:var(--ff-d);font-weight:600;font-size:.84rem;color:var(--navy);background:#fff;transition:.2s}
.chip:hover{border-color:var(--sky);transform:translateY(-2px);box-shadow:var(--ring)}
.chip .sw{width:8px;height:8px;border-radius:2px}

/* Problem → solution */
.prob{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:44px}
.prob-card{display:grid;grid-template-columns:auto 1fr;gap:16px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:24px;transition:.25s}
.prob-card:hover{box-shadow:var(--lift);transform:translateY(-3px)}
.prob-q{font-family:var(--ff-d);font-weight:600;color:var(--navy);font-size:1.02rem;margin-bottom:6px}
.prob-a{font-size:.9rem;color:var(--gray)}
.prob-ic{width:44px;height:44px;border-radius:12px;background:var(--grad-brand);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.prob-ic svg{width:22px;height:22px;stroke:#fff}

/* Solution categories */
.sol-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}
.sol{background:#fff;border:1px solid var(--border);border-radius:18px;padding:28px;position:relative;overflow:hidden;transition:.28s}
.sol::after{content:"";position:absolute;inset:0;background:var(--grad-brand);opacity:0;transition:.28s;z-index:0}
.sol:hover{transform:translateY(-6px);box-shadow:var(--lift)}
.sol:hover::after{opacity:1}
.sol>*{position:relative;z-index:1}
.sol .ic{width:52px;height:52px;border-radius:14px;background:var(--mist);display:flex;align-items:center;justify-content:center;margin-bottom:16px;transition:.28s}
.sol .ic svg{width:26px;height:26px;stroke:var(--royal);transition:.28s}
.sol h3{transition:.28s}.sol p{color:var(--gray);font-size:.92rem;transition:.28s}
.sol .techs{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}
.sol .techs span{font-family:var(--ff-d);font-size:.66rem;font-weight:600;background:var(--mist);color:var(--royal);padding:3px 9px;border-radius:20px;transition:.28s}
.sol .go{font-family:var(--ff-d);font-weight:600;font-size:.85rem;color:var(--royal);display:inline-flex;align-items:center;gap:6px;transition:.28s}
.sol:hover .ic{background:rgba(255,255,255,.2)}
.sol:hover .ic svg{stroke:#fff}
.sol:hover h3,.sol:hover p,.sol:hover .go{color:#fff}
.sol:hover .techs span{background:rgba(255,255,255,.18);color:#fff}

/* Metric counters */
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:10px}
.metric{text-align:center;padding:20px}
.metric b{font-family:var(--ff-d);font-weight:700;font-size:clamp(2rem,4vw,2.9rem);background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums;display:block}
.metric em{font-style:normal;color:var(--gray);font-size:.86rem;font-family:var(--ff-d);font-weight:500}

/* ROI calculator */
.roi{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--border);border-radius:22px;overflow:hidden;box-shadow:var(--lift);background:#fff}
.roi-inputs{padding:38px}
.roi-out{padding:38px;background:var(--ink);color:#fff;position:relative;overflow:hidden}
.roi-out::before{content:"";position:absolute;width:280px;height:280px;right:-80px;bottom:-80px;background:var(--grad-brand);opacity:.22;border-radius:50%;filter:blur(20px)}
.roi-field{margin-bottom:20px}
.roi-field label{color:var(--navy)}
.roi-field .val{float:right;font-family:var(--ff-d);font-weight:700;color:var(--royal)}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:6px;background:var(--mist);outline:none;padding:0;margin-top:8px}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--royal);cursor:pointer;border:3px solid #fff;box-shadow:0 2px 8px rgba(21,101,192,.4)}
input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--royal);cursor:pointer;border:3px solid #fff}
.roi-out h3{color:#fff;position:relative}
.roi-big{font-family:var(--ff-d);font-weight:700;font-size:3rem;line-height:1;margin:6px 0;font-variant-numeric:tabular-nums;position:relative}
.roi-sub{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px}
.roi-sub div b{display:block;font-family:var(--ff-d);font-weight:700;font-size:1.5rem;color:var(--sky)}
.roi-sub div em{font-style:normal;font-size:.76rem;color:#9db4cf}

/* Workflow diagram */
.flow{display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap;margin-top:44px}
.flow-node{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px 20px;text-align:center;min-width:120px;box-shadow:var(--ring);position:relative}
.flow-node .ic{width:38px;height:38px;margin:0 auto 8px;border-radius:10px;background:var(--mist);display:flex;align-items:center;justify-content:center}
.flow-node .ic svg{width:20px;height:20px;stroke:var(--royal)}
.flow-node b{font-family:var(--ff-d);font-weight:600;font-size:.82rem;color:var(--navy)}
.flow-arrow{width:44px;height:2px;background:linear-gradient(90deg,var(--teal),var(--sky));position:relative;flex-shrink:0}
.flow-arrow::after{content:"";position:absolute;right:-2px;top:-4px;border-left:8px solid var(--sky);border-top:5px solid transparent;border-bottom:5px solid transparent}
.flow-arrow.pulse::before{content:"";position:absolute;top:-2px;left:0;width:8px;height:6px;border-radius:3px;background:#fff;box-shadow:0 0 8px var(--sky);animation:flow 2.4s linear infinite}
@keyframes flow{from{left:0;opacity:0}10%{opacity:1}90%{opacity:1}to{left:100%;opacity:0}}

/* Marketplace */
.market{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}
.mcard{background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden;transition:.28s;display:flex;flex-direction:column}
.mcard:hover{transform:translateY(-6px);box-shadow:var(--lift)}
.mcard-prev{height:150px;background:linear-gradient(135deg,var(--navy),var(--royal));position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.mcard-prev .tag{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.92);color:var(--royal);z-index:2}
.mcard-body{padding:22px;display:flex;flex-direction:column;flex:1}
.stars{color:#F59E0B;font-size:.8rem;letter-spacing:1px}
.mcard .meta{display:flex;justify-content:space-between;align-items:center;margin:10px 0;font-size:.74rem;color:var(--gray);font-family:var(--ff-d)}
.filters{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:34px}
.filters button{border:1px solid var(--border);background:#fff;font-family:var(--ff-d);font-weight:600;font-size:.8rem;color:var(--navy);padding:9px 18px;border-radius:100px;cursor:pointer;transition:.2s}
.filters button.on,.filters button:hover{background:var(--navy);color:#fff;border-color:var(--navy)}

/* Testimonials */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
.quote{background:#fff;border:1px solid var(--border);border-radius:18px;padding:28px;transition:.25s}
.quote:hover{box-shadow:var(--lift);transform:translateY(-4px)}
.quote .stars{margin-bottom:12px}
.quote p{color:var(--slate);font-size:.94rem;line-height:1.6}
.quote .who{display:flex;align-items:center;gap:12px;margin-top:18px}
.quote .av{width:42px;height:42px;border-radius:50%;background:var(--grad-brand);display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--ff-d);font-weight:700;font-size:.9rem}
.quote .who b{font-family:var(--ff-d);font-size:.86rem;color:var(--navy);display:block}
.quote .who em{font-style:normal;font-size:.75rem;color:var(--gray)}

/* Industries */
.ind-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:44px}
.ind{background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px 16px;text-align:center;transition:.25s;cursor:pointer}
.ind:hover{background:var(--navy);border-color:var(--navy);transform:translateY(-4px)}
.ind .ic{width:40px;height:40px;margin:0 auto 10px;display:flex;align-items:center;justify-content:center}
.ind .ic svg{width:26px;height:26px;stroke:var(--royal);transition:.25s}
.ind b{font-family:var(--ff-d);font-size:.82rem;color:var(--navy);transition:.25s}
.ind:hover .ic svg{stroke:#fff}.ind:hover b{color:#fff}

/* Big final CTA */
.mega-cta{background:var(--ink);border-radius:28px;padding:72px 48px;text-align:center;position:relative;overflow:hidden}
.mega-cta::before{content:"";position:absolute;inset:0;background:
   radial-gradient(600px 300px at 20% 0%,rgba(30,144,255,.28),transparent 60%),
   radial-gradient(600px 300px at 80% 100%,rgba(15,118,110,.26),transparent 60%)}
.mega-cta>*{position:relative;z-index:1}
.mega-cta h2{color:#fff;font-size:clamp(1.9rem,4vw,3rem)}
.mega-cta p{color:#B9C6D8;max-width:520px;margin:16px auto 0}

/* FAQ */
.faq{max-width:820px;margin:44px auto 0}
.faq-item{border:1px solid var(--border);border-radius:14px;margin-bottom:12px;background:#fff;overflow:hidden}
.faq-q{width:100%;text-align:left;background:none;border:0;padding:20px 24px;font-family:var(--ff-d);font-weight:600;color:var(--navy);font-size:1rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq-q::after{content:"+";font-size:1.4rem;color:var(--royal);transition:.25s;flex-shrink:0}
.faq-item.open .faq-q::after{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s var(--e)}
.faq-a p{padding:0 24px 20px;color:var(--gray);font-size:.92rem}

@media(max-width:960px){
  .phero-grid{grid-template-columns:1fr;gap:40px}
  .prob,.sol-grid,.market,.quotes{grid-template-columns:1fr 1fr}
  .metrics{grid-template-columns:repeat(2,1fr)}
  .ind-grid{grid-template-columns:repeat(3,1fr)}
  .roi{grid-template-columns:1fr}
  .kpi-row{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .prob,.sol-grid,.market,.quotes,.metrics{grid-template-columns:1fr}
  .ind-grid{grid-template-columns:repeat(2,1fr)}
  .flow{flex-direction:column}.flow-arrow{width:2px;height:30px}.flow-arrow::after{right:-4px;top:auto;bottom:-2px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:8px solid var(--sky);border-bottom:0}
  .mega-cta,.cta{padding:48px 24px}
}

/* Logo image sizing (swappable via /img/ files) */
.logo img{display:block;height:76px;width:auto}
.foot-grid img{margin-bottom:4px}

/* ============================================================
   PROJECT CARDS + DETAIL MODAL
   ============================================================ */
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px}
.pcard{background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden;cursor:pointer;transition:.28s;display:flex;flex-direction:column;text-align:left;padding:0;font-family:inherit}
.pcard:hover{transform:translateY(-6px);box-shadow:var(--lift);border-color:var(--sky)}
.pcard-top{height:120px;background:linear-gradient(135deg,var(--navy),var(--royal));display:flex;align-items:center;justify-content:center;position:relative}
.pcard-top.teal{background:linear-gradient(135deg,var(--teal),var(--sky))}
.pcard-top.mix{background:linear-gradient(135deg,var(--royal),var(--teal))}
.pcard-badge{position:absolute;top:10px;right:10px;background:rgba(255,255,255,.92);color:var(--royal);font-family:var(--ff-d);font-size:.62rem;font-weight:700;letter-spacing:.06em;padding:4px 9px;border-radius:20px}
.pcard-body{padding:22px;display:flex;flex-direction:column;flex:1}
.pcard-ind{font-family:var(--ff-d);font-size:.68rem;font-weight:600;color:var(--teal);letter-spacing:.03em;margin-bottom:6px}
.pcard h3{font-size:1.02rem;line-height:1.3}
.pcard p{font-size:.86rem;color:var(--gray);margin-top:8px;flex:1}
.pcard-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.pcard-open{margin-top:14px;font-family:var(--ff-d);font-weight:600;font-size:.8rem;color:var(--royal);display:inline-flex;align-items:center;gap:6px}
.pcard:hover .pcard-open{gap:10px}

.pmodal{position:fixed;inset:0;background:rgba(8,24,39,.62);backdrop-filter:blur(4px);display:none;align-items:flex-start;justify-content:center;padding:28px 16px;overflow-y:auto;z-index:200}
.pmodal.on{display:flex}
.pmodal-card{background:#fff;border-radius:22px;max-width:760px;width:100%;overflow:hidden;box-shadow:0 30px 80px rgba(8,24,39,.45);animation:mIn .3s var(--e)}
@keyframes mIn{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
.pmodal-hero{background:linear-gradient(135deg,var(--navy),var(--royal));padding:34px 34px 28px;position:relative;color:#fff}
.pmodal-hero.teal{background:linear-gradient(135deg,var(--teal),var(--sky))}
.pmodal-hero.mix{background:linear-gradient(135deg,var(--royal),var(--teal))}
.pmodal-hero h2{color:#fff;font-size:1.5rem;margin-top:6px;max-width:90%}
.pmodal-hero .ind{font-family:var(--ff-d);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.pmodal-close{position:absolute;top:18px;right:18px;width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.18);color:#fff;font-size:1.2rem;cursor:pointer;line-height:1;transition:.2s}
.pmodal-close:hover{background:rgba(255,255,255,.32);transform:rotate(90deg)}
.pmodal-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}
.pmodal-tags span{background:rgba(255,255,255,.18);color:#fff;font-family:var(--ff-d);font-size:.66rem;font-weight:600;padding:4px 11px;border-radius:20px}
.pmodal-body{padding:30px 34px 34px}
.pblock{margin-bottom:22px}
.pblock h4{font-family:var(--ff-d);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--royal);margin-bottom:7px;display:flex;align-items:center;gap:8px}
.pblock h4::before{content:"";width:11px;height:11px;background:var(--teal);clip-path:polygon(0 0,100% 35%,55% 100%);border-radius:2px;flex-shrink:0}
.pblock p{color:var(--slate);font-size:.94rem;line-height:1.65}
.pmetrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;margin-top:8px}
.pmetric{background:var(--mist);border-radius:12px;padding:16px;text-align:center}
.pmetric b{display:block;font-family:var(--ff-d);font-weight:700;font-size:1.6rem;background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent}
.pmetric em{font-style:normal;font-size:.7rem;color:var(--gray);font-family:var(--ff-d);font-weight:500}
.ptech{background:var(--mist);border-radius:12px;padding:14px 16px;font-family:var(--ff-d);font-size:.84rem;font-weight:600;color:var(--navy)}

/* ============================================================
   CV DASHBOARD (personal portfolio)
   ============================================================ */
.cvpanel{background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--ring);overflow:hidden;height:100%}
.cvpanel-top{display:flex;align-items:center;gap:9px;padding:13px 18px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#fff,#FAFCFE)}
.cvpanel-top b{font-family:var(--ff-d);font-weight:600;font-size:.78rem;color:var(--navy)}
.cvpanel-top .sq{width:9px;height:9px;border-radius:2px;background:var(--teal);flex-shrink:0}
.cvpanel-top .badge-live{margin-left:auto;font-family:var(--ff-d);font-size:.62rem;font-weight:700;color:#0F9B6E;letter-spacing:.06em}
.cvpanel-body{padding:18px}

.cvgrid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;margin-top:38px}
.cvgrid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}

/* KPI tiles */
.cvkpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.cvkpi{background:var(--mist);border-radius:12px;padding:15px}
.cvkpi em{font-style:normal;display:block;font-family:var(--ff-d);font-size:.62rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--gray)}
.cvkpi b{display:block;font-family:var(--ff-d);font-weight:700;font-size:1.7rem;color:var(--navy);font-variant-numeric:tabular-nums;line-height:1.15;margin-top:2px}
.cvkpi .tick{font-size:.64rem;font-weight:600;color:#0F9B6E;font-family:var(--ff-d)}

/* Skill bars */
.skill{margin-bottom:13px}
.skill-head{display:flex;justify-content:space-between;font-family:var(--ff-d);font-size:.8rem;font-weight:600;color:var(--navy);margin-bottom:5px}
.skill-head span{color:var(--gray);font-weight:500;font-size:.72rem}
.skill-track{height:7px;border-radius:6px;background:var(--mist);overflow:hidden}
.skill-fill{height:100%;border-radius:6px;background:var(--grad-brand);width:0;transition:width 1.1s var(--e)}
.skill-fill.teal{background:linear-gradient(90deg,var(--teal),#22c1a8)}

/* Timeline */
.tl{position:relative;padding-left:26px}
.tl::before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:linear-gradient(180deg,var(--sky),var(--teal))}
.tl-item{position:relative;padding-bottom:20px}
.tl-item:last-child{padding-bottom:0}
.tl-item::before{content:"";position:absolute;left:-23px;top:5px;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--royal)}
.tl-item.now::before{border-color:var(--teal);box-shadow:0 0 0 4px rgba(15,118,110,.16)}
.tl-when{font-family:var(--ff-d);font-size:.66rem;font-weight:700;letter-spacing:.05em;color:var(--teal);text-transform:uppercase}
.tl-role{font-family:var(--ff-d);font-size:.92rem;font-weight:600;color:var(--navy);margin:2px 0}
.tl-org{font-size:.78rem;color:var(--gray)}
.tl-note{font-size:.8rem;color:var(--slate);margin-top:5px;line-height:1.5}

/* Cert chips */
.certs{display:flex;flex-direction:column;gap:9px}
.cert{display:flex;align-items:center;gap:10px;background:var(--mist);border-radius:10px;padding:10px 13px}
.cert .st{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.cert .st.done{background:#22C55E}
.cert .st.prog{background:#F59E0B}
.cert b{font-family:var(--ff-d);font-size:.79rem;font-weight:600;color:var(--navy);flex:1;line-height:1.35}
.cert span{font-family:var(--ff-d);font-size:.6rem;font-weight:700;letter-spacing:.05em;color:var(--gray);text-transform:uppercase;flex-shrink:0}

/* Stack chips inside panels */
.stackrow{display:flex;flex-wrap:wrap;gap:7px}
.stackrow span{font-family:var(--ff-d);font-size:.71rem;font-weight:600;background:var(--mist);color:var(--royal);padding:6px 11px;border-radius:8px}

@media(max-width:960px){
  .pgrid{grid-template-columns:1fr 1fr}
  .cvgrid,.cvgrid-3{grid-template-columns:1fr}
  .cvkpis{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .pgrid{grid-template-columns:1fr}
  .pmodal-hero,.pmodal-body{padding-left:22px;padding-right:22px}
}

/* ============================================================
   DARK CV DASHBOARD — scoped to body.cv-dark
   ============================================================ */
body.cv-dark{background:#070F1C;color:#A9BAD0}
body.cv-dark h1,body.cv-dark h2,body.cv-dark h3,body.cv-dark h4{color:#EEF4FB}
body.cv-dark .muted,body.cv-dark .lede{color:#8FA3BE}
body.cv-dark header{background:rgba(7,15,28,.86);border-bottom:1px solid rgba(255,255,255,.07)}
body.cv-dark .nav-links a{color:#DCE7F4}
body.cv-dark .nav-links a.active,body.cv-dark .nav-links a:hover{color:#4FB2FF}
body.cv-dark .burger span{background:#DCE7F4}
body.cv-dark .nav-links{background:#0B1728}
body.cv-dark section.alt{background:#0B1728}
body.cv-dark .eyebrow{color:#4FB2FF}

/* dark hero */
.cvhero{position:relative;overflow:hidden;background:
  radial-gradient(1000px 520px at 80% -8%,rgba(30,144,255,.20),transparent 62%),
  radial-gradient(820px 460px at 8% 8%,rgba(15,118,110,.20),transparent 58%),
  linear-gradient(180deg,#070F1C,#0B1728)}
.cvhero::before{content:"";position:absolute;inset:0;background-image:
  linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
  linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:52px 52px;mask:radial-gradient(680px 420px at 72% 26%,#000,transparent 76%)}
.cvhero .wrap{position:relative}
.cvhero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:52px;align-items:center;padding:84px 0 76px}
.pill{display:inline-flex;align-items:center;gap:8px;background:rgba(30,144,255,.14);border:1px solid rgba(30,144,255,.32);color:#7FC7FF;font-family:var(--ff-d);font-size:.7rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;padding:8px 15px;border-radius:100px}
.cvhero h1{font-size:clamp(2.2rem,4.8vw,3.5rem);line-height:1.08;letter-spacing:-.03em;margin:20px 0 6px}
.cvhero h1 .accent{background:linear-gradient(90deg,#2FD3C0,#4FB2FF);-webkit-background-clip:text;background-clip:text;color:transparent}
.cvhero h2.sub{font-size:clamp(1.5rem,3.2vw,2.3rem);color:#DCE7F4;font-weight:700;letter-spacing:-.02em;margin-bottom:18px}
.cvhero p.intro{color:#8FA3BE;max-width:520px;font-size:1rem}
body.cv-dark .btn-ghost{border-color:rgba(255,255,255,.28);color:#EEF4FB}
body.cv-dark .btn-ghost:hover{background:#fff;color:#0B2545;border-color:#fff}

/* tech icon row */
.techrow{margin-top:34px}
.techrow > span{display:block;font-family:var(--ff-d);font-size:.66rem;font-weight:700;letter-spacing:.16em;color:#66809E;text-transform:uppercase;margin-bottom:14px}
.techicons{display:flex;gap:10px;flex-wrap:wrap}
.ticon{width:44px;height:44px;border-radius:11px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);display:flex;align-items:center;justify-content:center;font-family:var(--ff-d);font-weight:700;font-size:.66rem;color:#DCE7F4;transition:.22s;cursor:default}
.ticon:hover{transform:translateY(-4px);background:rgba(30,144,255,.16);border-color:rgba(30,144,255,.42)}

/* portrait + floating card */
.portrait{position:relative;display:flex;align-items:center;justify-content:center;min-height:420px}
.portrait::before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;background:linear-gradient(140deg,#0F766E,#1565C0);filter:blur(2px);opacity:.85;top:34px}
.portrait::after{content:"";position:absolute;top:20px;right:8px;width:88px;height:88px;background-image:radial-gradient(#4FB2FF 1.6px,transparent 1.6px);background-size:13px 13px;opacity:.5}
.portrait img{position:relative;z-index:1;max-height:430px;width:auto;border-radius:18px;box-shadow:0 26px 60px rgba(0,0,0,.5)}
.floatcard{position:absolute;right:-10px;bottom:44px;z-index:2;background:rgba(11,23,40,.94);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:14px 16px;box-shadow:0 20px 50px rgba(0,0,0,.5);min-width:186px;backdrop-filter:blur(8px);animation:bob 5s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.floatcard .fc-top{display:flex;align-items:center;gap:7px;margin-bottom:10px}
.floatcard .fc-top b{font-family:var(--ff-d);font-size:.68rem;color:#DCE7F4}
.floatcard .fc-top .lv{margin-left:auto;width:7px;height:7px;border-radius:50%;background:#22C55E;animation:pulse 2s infinite}
.fc-kpi{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.fc-kpi em{font-style:normal;font-size:.66rem;color:#7D93AF;font-family:var(--ff-d)}
.fc-kpi b{font-family:var(--ff-d);font-size:.92rem;color:#2FD3C0}
.fc-spark{margin-top:8px}

/* dark stat tiles */
.statgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.stat{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:18px}
.stat .si{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,#0F766E,#1565C0);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.stat .si svg{width:22px;height:22px;stroke:#fff}
.stat b{display:block;font-family:var(--ff-d);font-weight:700;font-size:1.55rem;color:#EEF4FB;line-height:1.1;font-variant-numeric:tabular-nums}
.stat em{font-style:normal;font-size:.76rem;color:#8FA3BE;font-family:var(--ff-d)}

/* dark skill grid */
.skillgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 34px;margin-top:38px}
body.cv-dark .skill{margin-bottom:0}
body.cv-dark .skill-head{color:#DCE7F4;align-items:center}
body.cv-dark .skill-head span{color:#7D93AF}
body.cv-dark .skill-track{background:rgba(255,255,255,.08)}
.skill-ic{width:26px;height:26px;border-radius:7px;background:rgba(255,255,255,.07);display:inline-flex;align-items:center;justify-content:center;font-family:var(--ff-d);font-size:.56rem;font-weight:700;color:#4FB2FF;margin-right:9px;flex-shrink:0}
.skill-head .nm{display:flex;align-items:center}

/* dark panels */
body.cv-dark .cvpanel{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);box-shadow:none}
body.cv-dark .cvpanel-top{background:rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.08)}
body.cv-dark .cvpanel-top b{color:#EEF4FB}
body.cv-dark .cvkpi{background:rgba(255,255,255,.05)}
body.cv-dark .cvkpi b{color:#EEF4FB}
body.cv-dark .cvkpi em{color:#7D93AF}
body.cv-dark .tl-role{color:#EEF4FB}
body.cv-dark .tl-org{color:#7D93AF}
body.cv-dark .tl-note{color:#A9BAD0}
body.cv-dark .tl-item::before{background:#0B1728}
body.cv-dark .cert{background:rgba(255,255,255,.05)}
body.cv-dark .cert b{color:#DCE7F4}
body.cv-dark .cert span{color:#7D93AF}
body.cv-dark .stackrow span{background:rgba(255,255,255,.06);color:#7FC7FF}
body.cv-dark .chart-wrap{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.08)}
body.cv-dark .bar-legend{color:#7D93AF}

/* numbered project cards (dark) */
.npgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px}
.npcard{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:18px;overflow:hidden;cursor:pointer;transition:.28s;display:flex;flex-direction:column;text-align:left;padding:0;font-family:inherit}
.npcard:hover{transform:translateY(-7px);border-color:rgba(79,178,255,.5);box-shadow:0 24px 54px rgba(0,0,0,.5)}
.npcard-thumb{position:relative;height:158px;overflow:hidden;background:#0B1728}
.npcard-thumb img{width:100%;height:100%;object-fit:cover;transition:.4s}
.npcard:hover .npcard-thumb img{transform:scale(1.06)}
.npcard-num{position:absolute;top:12px;left:12px;background:rgba(7,15,28,.82);border:1px solid rgba(255,255,255,.16);color:#7FC7FF;font-family:var(--ff-d);font-weight:700;font-size:.72rem;padding:4px 10px;border-radius:8px;backdrop-filter:blur(6px)}
.npcard-badge{position:absolute;top:12px;right:12px;background:rgba(47,211,192,.92);color:#052a26;font-family:var(--ff-d);font-weight:700;font-size:.62rem;letter-spacing:.04em;padding:4px 9px;border-radius:20px}
.npcard-body{padding:20px;display:flex;flex-direction:column;flex:1}
.npcard-ind{font-family:var(--ff-d);font-size:.66rem;font-weight:600;color:#2FD3C0;margin-bottom:5px}
.npcard h3{font-size:.98rem;color:#EEF4FB;line-height:1.32}
.npcard p{font-size:.83rem;color:#8FA3BE;margin-top:7px;flex:1}
.npcard-go{margin-top:14px;font-family:var(--ff-d);font-weight:600;font-size:.78rem;color:#4FB2FF;display:inline-flex;align-items:center;gap:6px;transition:.24s}
.npcard:hover .npcard-go{gap:11px}

/* dark modal */
body.cv-dark .pmodal-card{background:#0B1728;border:1px solid rgba(255,255,255,.1)}
body.cv-dark .pblock p{color:#A9BAD0}
body.cv-dark .pblock h4{color:#4FB2FF}
body.cv-dark .pmetric{background:rgba(255,255,255,.05)}
body.cv-dark .pmetric em{color:#7D93AF}
body.cv-dark .ptech{background:rgba(255,255,255,.05);color:#DCE7F4}

/* dark quotes */
body.cv-dark .quote{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.09)}
body.cv-dark .quote p{color:#C6D5E6}
body.cv-dark .quote .who b{color:#EEF4FB}
body.cv-dark .quote .who em{color:#7D93AF}

/* contact row */
.crow{display:grid;grid-template-columns:1.05fr 1.15fr .8fr;gap:24px;margin-top:38px;align-items:start}
.clinks{display:flex;flex-direction:column;gap:11px}
.clink{display:flex;align-items:center;gap:11px;color:#C6D5E6;font-size:.88rem;transition:.2s}
.clink:hover{color:#4FB2FF;transform:translateX(3px)}
.clink .ci{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.clink .ci svg{width:17px;height:17px;stroke:#4FB2FF}
.socials{display:flex;gap:9px;margin-bottom:16px}
.soc{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);display:flex;align-items:center;justify-content:center;transition:.22s}
.soc:hover{background:rgba(30,144,255,.2);border-color:rgba(79,178,255,.5);transform:translateY(-3px)}
.soc svg{width:17px;height:17px;stroke:#DCE7F4}
.clabel{font-family:var(--ff-d);font-size:.66rem;font-weight:700;letter-spacing:.14em;color:#66809E;text-transform:uppercase;margin-bottom:13px}

@media(max-width:960px){
  .cvhero-grid{grid-template-columns:1fr;gap:44px}
  .portrait{min-height:340px}.portrait img{max-height:340px}
  .floatcard{right:0;bottom:12px}
  .skillgrid{grid-template-columns:1fr 1fr}
  .npgrid{grid-template-columns:1fr 1fr}
  .crow{grid-template-columns:1fr}
}
@media(max-width:680px){
  .skillgrid,.npgrid,.statgrid{grid-template-columns:1fr}
  .portrait::before{width:250px;height:250px}
}
