@font-face{font-family:"Rounded";src:url(assets/fonts/mplusrounded-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Rounded";src:url(assets/fonts/mplusrounded-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Rounded";src:url(assets/fonts/mplusrounded-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Rounded";src:url(assets/fonts/mplusrounded-800.woff2) format("woff2");font-weight:800;font-display:swap}

:root{
  --ink:#3b4248; --ink-2:#6c767d; --ink-3:#98a1a7;
  --line:#c8cfd4; --frame-a:#fbfcfc; --frame-b:#e1e5e8;
  --blue:#25b2ee; --mint:#defffa; --paper:#f3f5f6;
  --ease:cubic-bezier(.22,.9,.24,1); --spring:cubic-bezier(.3,1.35,.5,1);
}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{min-height:100vh;min-height:100svh;font-family:"Rounded",ui-rounded,"SF Pro Rounded",system-ui,sans-serif;color:var(--ink);background:var(--paper);
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
body.locked{overflow:hidden}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
a{color:inherit}
:focus{outline:none}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:12px}
.ch:focus-visible,.pill:focus-visible,.round:focus-visible,.frame:focus-visible,.chipc:focus-visible{outline:none}
.bg{position:fixed;inset:0;z-index:-1;background:
  repeating-linear-gradient(0deg,rgba(60,80,95,.03) 0 1px,transparent 1px 5px),
  radial-gradient(90% 70% at 50% 25%,#ffffff 0%,#f1f3f5 60%,#e6eaed 100%)}

/* hand cursor (mouse only) */
html.hand-on,html.hand-on *{cursor:none!important}
.cursor{position:fixed;left:0;top:0;width:34px;height:40px;pointer-events:none;z-index:100;opacity:0;transition:opacity .2s;will-change:transform;
  filter:drop-shadow(0 3px 3px rgba(0,30,60,.25))}
html.hand-on .cursor.show{opacity:1}
.cursor svg{width:100%;height:100%;overflow:visible}
.cursor path{fill:#fff;stroke:#4b5d6d;stroke-width:2.6;stroke-linejoin:round;transition:transform .12s var(--ease);transform-origin:17px 6px}
.cursor.down path{transform:scale(.88)}

/* ---------- 3D WORDMARK (original: rounded 800, silver face, soft blue edge, stacked depth) ----------
   each letter = .l (holds the glyph in data-c) with three layers: ::before the extruded side,
   .f the silver face, ::after a white glint that only fades (opacity) so the sheen is composited */
.wm{display:flex;justify-content:center;margin:0;font-weight:800;line-height:1;letter-spacing:-.005em;white-space:nowrap;transform-style:preserve-3d}
.wm .l{position:relative;display:inline-block;padding:0 .01em}
.wm .l::before,.wm .l::after{content:attr(data-c);position:absolute;left:.01em;top:0;pointer-events:none}
.wm .l::before{color:#9ccbe3;text-shadow:
  0 .01em 0 #b3dbee,0 .02em 0 #a9d4ea,0 .03em 0 #9fcde5,0 .04em 0 #95c5e0,0 .05em 0 #8bbddb,
  0 .06em 0 #82b5d5,0 .07em 0 #79adcf,0 .08em 0 #71a5c9,0 .1em .03em rgba(30,90,130,.22),0 .16em .14em rgba(30,70,100,.16)}
.wm .f{position:relative;color:transparent;-webkit-text-stroke:.012em rgba(37,160,225,.55);
  background:linear-gradient(180deg,#ffffff 0%,#f3f7f9 34%,#d3dee5 58%,#e6edf1 78%,#fbfdfe 100%);-webkit-background-clip:text;background-clip:text}
.wm .l::after{color:transparent;opacity:0;will-change:opacity;
  background:linear-gradient(112deg,rgba(255,255,255,0) 28%,rgba(255,255,255,.98) 47%,rgba(220,245,255,.9) 53%,rgba(255,255,255,0) 70%);
  -webkit-background-clip:text;background-clip:text}
@keyframes glint{0%,100%{opacity:0}5%{opacity:1}12%{opacity:0}}

/* ---------- INTRO ---------- */
.intro{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center;
  background:repeating-linear-gradient(0deg,rgba(60,80,95,.03) 0 1px,transparent 1px 5px),radial-gradient(80% 70% at 50% 45%,#ffffff 0%,#eef2f5 100%);
  transition:opacity .6s var(--ease),visibility .6s}
.intro::after{content:"";position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none;transition:opacity .38s ease-out .12s}
.intro.leaving::after{opacity:1}
.intro.out{opacity:0;visibility:hidden;pointer-events:none}
.intro-stage{perspective:1000px;transition:transform .75s var(--ease),opacity .5s ease-in}
.intro.leaving .intro-stage{transform:scale(1.6);opacity:0}
.intro.leaving .intro-sub,.intro.leaving .intro-go{opacity:0!important;transition:opacity .2s}
.intro-wm{font-size:clamp(76px,13vw,190px);animation:wmIdle 6s ease-in-out 1.9s infinite}
.intro-wm .l{opacity:0;transform:translateY(.45em) rotateX(-80deg);transform-origin:50% 90%;
  animation:letterIn .85s var(--spring) forwards;animation-delay:calc(var(--i) * 75ms + .2s)}
.intro-wm .l::after{animation:glint 5.5s ease-in-out infinite;animation-delay:calc(var(--i) * 85ms + 1.5s)}
@keyframes letterIn{to{opacity:1;transform:none}}
@keyframes wmIdle{0%,100%{transform:translateY(0) rotateX(0) rotateY(0)}30%{transform:translateY(-7px) rotateX(6deg) rotateY(-4deg)}70%{transform:translateY(-3px) rotateX(3deg) rotateY(4deg)}}
.intro-sub{margin-top:18px;font-size:clamp(15px,1.5vw,20px);font-weight:700;color:var(--ink-3);letter-spacing:.06em;opacity:0;animation:fadeUp .7s var(--ease) 1.1s forwards}
.intro-go{margin-top:22px;padding:14px 30px;border-radius:40px;font-size:clamp(16px,1.4vw,19px);font-weight:800;color:#5d6970;
  background:linear-gradient(180deg,#fff 0%,#fff 50%,var(--mint) 100%);box-shadow:inset 0 0 0 2px #a9dcef,0 6px 14px rgba(60,100,120,.14);
  opacity:0;animation:fadeUp .7s var(--ease) 1.5s forwards,breathe 2.4s ease-in-out 2.3s infinite}

/* the same wordmark, big and faint behind the tiles */
.bglogo{position:fixed;inset:0 0 118px;z-index:0;display:grid;place-items:center;overflow:hidden;pointer-events:none;perspective:1400px;
  opacity:0;transition:opacity .9s var(--ease)}
body.ready .bglogo{opacity:.42}
.bglogo .wm{font-size:clamp(96px,19vw,380px);transform:rotateX(10deg);animation:bgFloat 16s ease-in-out infinite}
.bglogo .l::after{animation:glint 13s ease-in-out infinite;animation-delay:calc(var(--i) * 110ms + 4s)}
body.booting .bglogo *,body.paged .bglogo *,body.paged .bglogo .wm{animation-play-state:paused}
@keyframes bgFloat{0%,100%{transform:translateY(-12px) rotateX(12deg) rotateY(-7deg)}50%{transform:translateY(12px) rotateX(6deg) rotateY(7deg)}}

/* version switch, menu only */
.ver{position:fixed;top:18px;right:20px;z-index:12;display:flex;gap:4px;padding:5px;border-radius:30px;background:rgba(255,255,255,.8);
  box-shadow:inset 0 0 0 1.5px var(--line),0 4px 12px rgba(60,80,95,.08);transition:opacity .35s var(--ease)}
.ver a{display:grid;place-items:center;height:34px;padding:0 15px;border-radius:20px;font-weight:800;font-size:14px;color:var(--ink-2);text-decoration:none;transition:box-shadow .2s,color .2s}
.ver a[aria-current]{color:#0b6fa4;background:linear-gradient(180deg,#fff 0%,#fff 48%,var(--mint) 100%);box-shadow:inset 0 0 0 2px #a9dcef}
.ver a.on{color:#0b6fa4;box-shadow:inset 0 0 0 2px var(--blue),0 0 14px rgba(37,178,238,.35)}
body.booting .ver,body.paged .ver{opacity:0;pointer-events:none}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes breathe{0%,100%{box-shadow:inset 0 0 0 2px #a9dcef,0 6px 14px rgba(60,100,120,.14)}50%{box-shadow:inset 0 0 0 2px var(--blue),0 0 0 6px rgba(37,178,238,.14),0 6px 18px rgba(37,178,238,.25)}}

/* ---------- MENU ---------- */
.menu{position:relative;z-index:1;min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:72px 24px 170px;transition:opacity .35s var(--ease),transform .45s var(--ease)}
body.paged .menu{pointer-events:none}
.grid{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;max-width:990px}
.ch{position:relative;width:300px;height:172px;border-radius:24px;padding:7px;flex:none;
  background:linear-gradient(180deg,var(--frame-a),var(--frame-b));
  box-shadow:inset 0 0 0 1.5px #fff,0 0 0 1.5px var(--line),0 4px 10px rgba(70,90,105,.10);
  transition:box-shadow .25s var(--ease);will-change:transform;backface-visibility:hidden}
.ch .screen{position:relative;width:100%;height:100%;border-radius:18px;overflow:hidden;background:#fff;
  box-shadow:inset 0 0 0 1.5px rgba(130,145,155,.3),inset 0 2px 6px rgba(0,0,0,.06);isolation:isolate}
.ch .gloss{position:absolute;inset:0;border-radius:18px;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.5) 0%,rgba(255,255,255,0) 40%);z-index:3}
/* highlight ring: its own layer that only changes opacity, so hover never repaints the tile */
.ch::after{content:"";position:absolute;inset:-1px;border-radius:25px;pointer-events:none;opacity:0;transition:opacity .18s ease-out;
  box-shadow:0 0 0 4px var(--blue),0 0 24px 5px rgba(37,178,238,.42),0 16px 28px rgba(40,90,130,.16)}
.ch.on::after{opacity:1;animation:ringPulse 1.8s ease-in-out .2s infinite}
@keyframes ringPulse{0%,100%{opacity:1}50%{opacity:.6}}
body.booting .ch{opacity:0}
body.ready .ch{animation:tileIn .7s var(--spring) both;animation-delay:calc(var(--i) * 70ms + .1s)}
@keyframes tileIn{from{opacity:0;translate:0 26px;scale:.86}to{opacity:1;translate:0 0;scale:1}}

/* bottom bar */
.bar{position:fixed;left:0;right:0;bottom:0;height:118px;z-index:10;transition:opacity .45s var(--ease),translate .7s var(--ease)}
body.booting .bar{opacity:0;translate:0 70px}
body.paged .bar{pointer-events:none}
.bar-shape{position:absolute;inset:0;width:100%;height:100%}
.clock{position:absolute;left:50%;top:50px;transform:translateX(-50%);text-align:center;pointer-events:none}
.time{font-weight:800;font-size:40px;line-height:1;color:#8e989f;letter-spacing:2px;text-shadow:0 2px 0 #fff;font-variant-numeric:tabular-nums}
.date{margin-top:3px;font-weight:700;font-size:15px;color:#9aa4ab;letter-spacing:.5px}
.round{position:absolute;right:28px;top:22px;width:80px;height:80px;border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(120% 120% at 50% 15%,#fff 0%,#eef7fb 55%,#d4e6ee 100%);
  box-shadow:inset 0 0 0 2px #bcc8cf,0 0 0 6px #e9edf0,0 0 0 7.5px #c3cbd0,0 4px 10px rgba(60,80,95,.15);transition:transform .25s var(--spring),box-shadow .2s}
.round svg{width:40px;height:40px;fill:none;stroke:#7d8a93;stroke-width:4.5;stroke-linejoin:round;stroke-linecap:round;transition:stroke .2s}
.round.on{transform:scale(1.07);box-shadow:inset 0 0 0 2px #bcc8cf,0 0 0 6px #e9edf0,0 0 0 9px var(--blue),0 0 20px 6px rgba(37,178,238,.35)}
.round.on svg{stroke:var(--blue)}
.tool{position:absolute;left:28px;top:44px;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.7);box-shadow:inset 0 0 0 1.5px #c3cbd0;transition:box-shadow .2s}
.tool svg{width:24px;height:24px;fill:none;stroke:#7d8a93;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.tool .spk{fill:#7d8a93}
.tool.off .w1,.tool.off .w2{opacity:.15}
.tool.on{box-shadow:inset 0 0 0 2.5px var(--blue)}

/* ---------- PREVIEWS (drawn for a 286×158 screen) ---------- */
.pv{position:absolute;inset:0;overflow:hidden}
.pv .cap{position:absolute;left:0;right:0;bottom:9px;text-align:center;font-weight:800;font-size:19px;color:var(--ink);text-shadow:0 1px 0 rgba(255,255,255,.9);z-index:2}
.paused .pv *,.paused .ch::after{animation-play-state:paused!important}

.pv-about{background:linear-gradient(180deg,#dff4fd 0%,#f7fcff 75%)}
.pv-about .ring{position:absolute;left:50%;top:13px;width:102px;height:102px;margin-left:-51px;border-radius:50%;
  background:conic-gradient(from 0deg,#25b2ee,#b4faff,#008cff,#7fd6ff,#25b2ee);animation:spin 5s linear infinite}
.pv-about .face{position:absolute;left:50%;top:18px;width:92px;height:92px;margin-left:-46px;border-radius:50%;border:4px solid #fff;
  background:#fff url(assets/ovidiu.jpg) center 22%/cover;box-shadow:0 6px 12px rgba(0,60,100,.18);animation:float 3.6s ease-in-out infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}

.pv-projects{background:linear-gradient(180deg,#eef3ff 0%,#fff 80%);perspective:600px}
.pv-projects .floor{position:absolute;left:-30%;right:-30%;bottom:-20px;height:120px;transform:rotateX(70deg);transform-origin:bottom;
  background:linear-gradient(90deg,rgba(0,140,255,.12) 1.5px,transparent 1.5px) 0 0/30px 30px,linear-gradient(0deg,rgba(0,140,255,.12) 1.5px,transparent 1.5px) 0 0/30px 30px}
.cube{position:absolute;left:50%;top:24px;width:74px;height:74px;margin-left:-37px;transform-style:preserve-3d;animation:cube 14s linear infinite;will-change:transform}
.cube i{position:absolute;inset:0;display:grid;place-items:center;border-radius:12px;font-style:normal;font-weight:800;font-size:13px;color:#fff;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.5);backface-visibility:hidden}
.cube i:nth-child(1){transform:translateZ(37px);background:linear-gradient(135deg,#9bd33a,#4f9a18)}
.cube i:nth-child(2){transform:rotateY(90deg) translateZ(37px);background:linear-gradient(135deg,#4c7dff,#7f5af0)}
.cube i:nth-child(3){transform:rotateY(180deg) translateZ(37px);background:linear-gradient(135deg,#ff8a3d,#e8503a)}
.cube i:nth-child(4){transform:rotateY(270deg) translateZ(37px);background:linear-gradient(135deg,#25b2ee,#008cff)}
.cube i:nth-child(5){transform:rotateX(90deg) translateZ(37px);background:#e9eef2}
@keyframes cube{from{transform:rotateX(-16deg) rotateY(0)}to{transform:rotateX(-16deg) rotateY(-360deg)}}

.pv-work{background:linear-gradient(180deg,#fff5e6 0%,#fffdf8 80%)}
.fan{position:absolute;left:50%;top:22px;width:0;height:0}
.fan b{position:absolute;left:-72px;top:0;width:144px;height:82px;border-radius:12px;background:#fff;box-shadow:0 0 0 1.5px #e6d6bd,0 6px 12px rgba(120,80,20,.12);
  display:flex;flex-direction:column;justify-content:center;padding:10px 14px 0;font-size:15px;font-weight:800;line-height:1.2;transform-origin:50% 150%;animation:sway 4.4s ease-in-out infinite}
.fan b small{font-size:11px;font-weight:700;color:var(--ink-2)}
.fan b::before{content:"";position:absolute;left:14px;top:12px;width:24px;height:6px;border-radius:3px;background:var(--c)}
.fan b:nth-child(1){--r:-13deg;--x:-48px;--c:#7f5af0;animation-delay:-1.5s}
.fan b:nth-child(2){--r:13deg;--x:48px;--c:#25b2ee;animation-delay:-.75s}
.fan b:nth-child(3){--r:0deg;--x:0px;--c:#7cc22b}
@keyframes sway{0%,100%{transform:translateX(var(--x)) rotate(var(--r))}50%{transform:translateX(var(--x)) translateY(-3px) rotate(calc(var(--r) * .75))}}

.pv-revenue{background:linear-gradient(180deg,#e7f9ee 0%,#fbfffc 80%)}
.live{display:inline-flex;align-items:center;gap:7px;font-weight:800;color:#1b8e3a}
.live::before{content:"";width:9px;height:9px;border-radius:50%;background:#20c04a;animation:ping 1.6s infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(32,192,74,.5)}70%{box-shadow:0 0 0 8px rgba(32,192,74,0)}100%{box-shadow:0 0 0 0 rgba(32,192,74,0)}}
.pv-revenue .live{position:absolute;left:12px;top:9px;font-size:12px}
.pv-revenue .ytd{position:absolute;right:12px;top:8px;font-weight:800;font-size:14px;color:#1b6e33}
.mini{position:absolute;left:50%;top:116px;width:208px;height:0;margin-left:-104px;transform-style:preserve-3d;transform:perspective(500px) rotateX(-12deg) rotateY(-22deg)}
.b3{position:absolute;bottom:0;transform-style:preserve-3d;transform-origin:bottom;animation:grow .9s var(--ease) both}
.b3 .f,.b3 .s,.b3 .t{position:absolute;left:0;bottom:0}
.b3 .f{width:var(--w);height:var(--h);background:linear-gradient(180deg,#3fd56a,#169a3a);border-radius:2px 2px 0 0;transform:translateZ(calc(var(--w)/2))}
.b3 .s{width:var(--w);height:var(--h);background:linear-gradient(180deg,#22a94a,#0e7a2c);transform:rotateY(90deg) translateZ(calc(var(--w)/2))}
.b3 .t{width:var(--w);height:var(--w);bottom:var(--h);background:#7fe89c;transform-origin:bottom;transform:rotateX(90deg) translateY(calc(var(--w)/2))}
@keyframes grow{from{transform:scaleY(.02)}to{transform:scaleY(1)}}

.pv-contact{background:linear-gradient(180deg,#f3ecff 0%,#fffdff 80%)}
.envl{position:absolute;left:50%;top:30px;width:96px;height:64px;margin-left:-48px;animation:float 3s ease-in-out infinite;z-index:1}
.envl .body{position:absolute;inset:0;border-radius:10px;background:linear-gradient(180deg,#fff,#f0e9ff);box-shadow:0 0 0 2px #cdbcf3,0 8px 14px rgba(90,60,160,.16)}
.envl .flap{position:absolute;left:2px;right:2px;top:2px;height:40px;background:#e6dafe;clip-path:polygon(0 0,100% 0,50% 100%);border-radius:8px 8px 0 0}
.orbit{position:absolute;left:50%;top:62px;width:0;height:0;transform:scaleY(.36)}
.orbit .arm{position:absolute;left:0;top:0;width:0;height:0;animation:spin 7s linear infinite}
.orbit .arm:nth-child(2),.orbit .arm:nth-child(2) .chip{animation-delay:-2.333s}
.orbit .arm:nth-child(3),.orbit .arm:nth-child(3) .chip{animation-delay:-4.666s}
.orbit .chip{position:absolute;left:-15px;top:-15px;width:30px;height:30px;transform:translateX(96px);animation:counter 7s linear infinite}
.orbit .chip span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;transform:scaleY(2.778);box-shadow:0 3px 6px rgba(0,0,0,.15)}
.orbit .chip svg{width:16px;height:16px;fill:#fff}
@keyframes counter{from{transform:translateX(96px) rotate(0)}to{transform:translateX(96px) rotate(-360deg)}}

/* ---------- CHANNEL PANEL: pops up over the dimmed menu ---------- */
.page{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:32px}
/* the live menu stays visible behind the pop-up, blurred under a light white tint; the tiles pause so the blur stays cheap */
.scrim{position:absolute;inset:0;background:rgba(240,244,247,.62);opacity:0;transition:opacity .34s var(--ease)}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .scrim{background:rgba(240,244,247,.35);-webkit-backdrop-filter:blur(12px) saturate(1.1);backdrop-filter:blur(12px) saturate(1.1)}
}
.page.open .scrim{opacity:1}
.panel{position:relative;width:min(980px,100%);height:min(86vh,860px);height:min(86svh,860px);border-radius:34px;padding:9px;transform-origin:0 0;
  background:linear-gradient(180deg,var(--frame-a),var(--frame-b));
  box-shadow:inset 0 0 0 1.5px #fff,0 0 0 1.5px var(--line),0 30px 70px rgba(40,60,80,.2),0 8px 20px rgba(40,60,80,.1)}
.pscreen{display:flex;flex-direction:column;height:100%;border-radius:26px;overflow:hidden;
  background:repeating-linear-gradient(0deg,rgba(60,80,95,.022) 0 1px,transparent 1px 5px),linear-gradient(180deg,#ffffff 0%,#f3f6f8 100%);
  box-shadow:inset 0 0 0 1.5px rgba(130,145,155,.3),inset 0 2px 6px rgba(0,0,0,.06)}
.page-in{flex:1;min-height:0;display:flex;flex-direction:column}
.pscroll{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:26px 30px 30px}
.page.zooming .page-in,.page.zooming .pf{opacity:0}
.page.in .ph,.page.in .pbody,.page.in .pf{animation:rise .5s var(--ease) both}
.page.in .pbody{animation-delay:.06s}.page.in .pf{animation-delay:.1s}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.ph{flex:none;display:flex;align-items:center;gap:22px;padding:22px 30px 18px;border-bottom:1.5px solid #e9edf0}
.ph-icon{position:relative;width:150px;height:83px;border-radius:15px;overflow:hidden;flex:none;
  box-shadow:inset 0 0 0 1.5px rgba(130,145,155,.3),0 0 0 5px #eef1f3,0 0 0 6.5px var(--line),0 6px 14px rgba(60,80,95,.1)}
.ph-icon .pv{inset:auto;left:0;top:0;width:286px;height:158px;transform:scale(.525);transform-origin:0 0}
.ph-icon .cap{display:none}
.ph h1{font-weight:800;font-size:38px;line-height:1.05;letter-spacing:-.3px}
.ph-sub{margin-top:5px;font-size:17px;font-weight:500;color:var(--ink-2)}
.pf{flex:none;height:86px;display:flex;justify-content:center;align-items:center;gap:22px;padding:0 16px;
  border-top:1.5px solid #e6eaed;background:linear-gradient(180deg,#f7f9fa 0%,#e9eef1 100%)}
.pill{min-width:190px;height:54px;padding:0 28px;border-radius:30px;font-weight:800;font-size:19px;color:var(--ink);
  background:linear-gradient(180deg,#ffffff 0%,#ffffff 48%,var(--mint) 100%);
  box-shadow:inset 0 0 0 2px #a9dcef,inset 0 -4px 0 rgba(120,200,220,.22),0 4px 10px rgba(60,100,120,.15);
  transition:transform .25s var(--spring),box-shadow .2s}
.pill.on{transform:scale(1.05);box-shadow:inset 0 0 0 3px var(--blue),0 0 0 3px rgba(37,178,238,.22),0 0 22px 4px rgba(37,178,238,.3)}
.pill.primary{color:#0b6fa4}

.lead{font-size:26px;line-height:1.35;font-weight:700;max-width:760px}
.frame{display:block;border-radius:24px;padding:8px;text-decoration:none;background:linear-gradient(180deg,var(--frame-a),var(--frame-b));
  box-shadow:inset 0 0 0 1.5px #fff,0 0 0 1.5px var(--line),0 6px 14px rgba(60,80,95,.08);transition:box-shadow .25s var(--ease)}
.frame>.in{border-radius:17px;background:#fff;box-shadow:inset 0 0 0 1.5px rgba(130,145,155,.18)}
.tilt{will-change:transform;backface-visibility:hidden}
.frame.on,.chipc.on{box-shadow:inset 0 0 0 1.5px #fff,0 0 0 4px var(--blue),0 0 20px 4px rgba(37,178,238,.3),0 14px 24px rgba(40,90,130,.16)}

/* about */
.about{display:grid;grid-template-columns:300px 1fr;gap:48px;align-items:start}
.photo-wrap{width:100%;max-width:300px}
.photo{height:360px;border-radius:30px;padding:9px}
.photo .in{height:100%;border-radius:22px;background:url(assets/ovidiu.jpg) center 30%/cover}
.photo-tag{display:block;width:max-content;margin:-20px auto 0;position:relative;padding:8px 18px;border-radius:20px;background:#fff;
  box-shadow:0 0 0 2px #a9dcef,0 6px 12px rgba(60,100,120,.14);font-weight:800;font-size:16px}
/* facts: plain text you read and scroll, no icons */
.facts{margin-top:26px;padding:4px 28px;list-style:none;border-radius:22px;background:#fff;box-shadow:0 0 0 1.5px #e1e6e9,0 6px 14px rgba(60,80,95,.05)}
.facts li{position:relative;padding:17px 0 17px 24px;font-size:19px;font-weight:600;line-height:1.45;border-top:1.5px solid #edf0f2}
.facts li:first-child{border-top:0}
.facts li::before{content:"";position:absolute;left:0;top:29px;width:11px;height:4px;border-radius:2px;background:var(--blue)}

/* projects */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.pcard .in{padding:20px 22px;min-height:190px;display:flex;flex-direction:column}
.pcard .top{display:flex;align-items:center;gap:14px}
.logo{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-weight:800;font-size:21px;color:#fff;background:var(--c);flex:none;box-shadow:0 4px 10px rgba(0,0,0,.12)}
.logo svg{width:24px;height:24px;fill:#fff}
.pcard h3{font-size:21px;font-weight:800;line-height:1.15}
.pcard .role{font-size:13px;font-weight:700;color:var(--ink-2);margin-top:3px}
.pcard p{margin-top:12px;font-size:16px;line-height:1.4;font-weight:500}
.go{margin-top:auto;padding-top:12px;font-size:14px;font-weight:800;color:#0b6fa4}

/* work */
.timeline{position:relative;display:grid;gap:14px;padding-left:44px}
.timeline::before{content:"";position:absolute;left:14px;top:18px;bottom:18px;width:4px;border-radius:2px;background:linear-gradient(180deg,#7cc22b,#25b2ee,#7f5af0,#f5a524)}
.job{position:relative;display:grid;grid-template-columns:150px 1fr auto;gap:20px;align-items:center;padding:16px 22px;border-radius:20px;background:#fff;
  box-shadow:0 0 0 1.5px #e1e6e9,0 4px 10px rgba(60,80,95,.05)}
.job::before{content:"";position:absolute;left:-37px;top:50%;width:16px;height:16px;margin-top:-8px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px var(--c)}
.when{font-size:15px;font-weight:800;color:var(--ink-2)}
.job h3{font-size:21px;font-weight:800}
.job h3 small{font-size:15px;font-weight:700;color:var(--ink-2);margin-left:8px}
.job p{margin-top:4px;font-size:16px;line-height:1.4;font-weight:500}
.job a{font-size:14px;font-weight:800;color:#0b6fa4;text-decoration:none;white-space:nowrap}

/* revenue */
.rev{display:grid;gap:20px}
.rev-main{padding:22px 26px 10px;border-radius:24px;background:#fff;box-shadow:0 0 0 1.5px #e1e6e9,0 6px 14px rgba(60,80,95,.06)}
.rev-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.rev-head .live{font-size:14px;margin-top:6px}
.big{font-size:52px;font-weight:800;line-height:1;letter-spacing:-1px;color:#13421f}
.big small{font-size:22px;color:#1b8e3a;margin-left:6px}
.sub{font-size:15px;font-weight:600;color:var(--ink-2);margin-top:6px}
.chart{position:relative;height:270px;margin-top:6px}
.chart .stagec{position:absolute;left:12px;right:12px;bottom:46px;height:0;transform-style:preserve-3d;transform:perspective(1400px) rotateX(-10deg) rotateY(-8deg)}
.chart .floorc{position:absolute;left:-10px;right:-10px;bottom:-26px;height:52px;background:#eef3f0;border-radius:5px;transform:rotateX(90deg);transform-origin:bottom;box-shadow:inset 0 0 0 1.5px #dbe6de}
.chart .col{position:absolute;bottom:0;height:0;transform-style:preserve-3d}
.chart .col .lab{position:absolute;left:50%;top:12px;transform:translateX(-50%);font-size:11px;font-weight:800;color:var(--ink-3);white-space:nowrap}
.chart .col .val{position:absolute;left:50%;bottom:calc(var(--h) + 14px);transform:translateX(-50%) translateY(4px);padding:5px 9px;border-radius:9px;background:#13421f;color:#fff;
  font-size:13px;font-weight:800;white-space:nowrap;opacity:0;transition:opacity .18s,transform .18s var(--ease);pointer-events:none;z-index:5}
.chart .col.on .val{opacity:1;transform:translateX(-50%) translateZ(60px)}
.chart .col .val{transform:translateX(-50%) translateY(4px) translateZ(60px)}
.chart .col.l .val{left:-4px;transform:translateY(4px) translateZ(60px)}.chart .col.l.on .val{transform:translateZ(60px)}
.chart .col.r .val{left:auto;right:-4px;transform:translateY(4px) translateZ(60px)}.chart .col.r.on .val{transform:translateZ(60px)}
.chart .col.on .f{background:linear-gradient(180deg,#5ef08a,#1fb34a)}
.chart .col.y25 .f{background:linear-gradient(180deg,#9fdcb2,#5cb57a)}
.chart .col.y25 .s{background:#4f9c69}
.chart .col.y25 .t{background:#c6efd3}
.chart .hit{position:absolute;left:-6px;right:-6px;bottom:0;height:calc(var(--h) + 8px);min-height:30px}
.side{display:grid;grid-template-columns:1fr 1.25fr 1.15fr;gap:16px;align-items:stretch}
.stat{padding:16px 20px;border-radius:20px;background:#fff;box-shadow:0 0 0 1.5px #e1e6e9,0 4px 10px rgba(60,80,95,.05)}
.stat .k{font-size:14px;font-weight:700;color:var(--ink-2)}
.stat .v{font-size:32px;font-weight:800;line-height:1.1;margin-top:4px}
.stat .v small{font-size:15px;color:var(--ink-2);margin-left:4px}
.stat .k2{font-size:13px;font-weight:600;color:var(--ink-3);margin-top:4px}
.stat.official{background:linear-gradient(180deg,#fff,#f6fbff);box-shadow:0 0 0 1.5px #cfe6f3}
.stat .row{display:flex;justify-content:space-between;gap:12px;font-size:16px;font-weight:700;margin-top:7px}
.stat .row span:last-child{font-weight:800;white-space:nowrap}
.note{font-size:13px;line-height:1.5;font-weight:500;color:var(--ink-2)}
.note a{color:#0b6fa4;font-weight:700}

/* contact */
.socials{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.soc{border-radius:28px;padding:9px}
.soc .in{height:180px;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:var(--bg);color:#fff;box-shadow:none}
.soc .in svg{width:56px;height:56px;fill:#fff;margin-bottom:6px;filter:drop-shadow(0 5px 8px rgba(0,0,0,.18))}
.soc .nm{font-size:24px;font-weight:800}
.soc .hd{font-size:15px;font-weight:700;opacity:.9}
.h2{margin:34px 0 14px;font-size:18px;font-weight:800;color:var(--ink-2);letter-spacing:.02em}
.also{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.chipc{display:block;text-decoration:none;border-radius:20px;padding:6px;background:linear-gradient(180deg,var(--frame-a),var(--frame-b));
  box-shadow:inset 0 0 0 1.5px #fff,0 0 0 1.5px var(--line),0 4px 10px rgba(60,80,95,.07);transition:box-shadow .25s var(--ease)}
.chipc .in{position:relative;height:150px;border-radius:15px;overflow:hidden;background:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:14px 16px}
.chipc .vis{position:absolute;inset:0 0 44px;display:grid;place-items:center;z-index:1}
.chipc .t1{position:relative;z-index:1;font-size:17px;font-weight:800}
.chipc .t2{position:relative;z-index:1;font-size:13px;font-weight:700;color:var(--ink-2)}
.chipc .vis svg{width:44px;height:44px;fill:#fff}
.chipc .vis img{width:56px;height:56px;border-radius:16px;box-shadow:0 6px 14px rgba(40,40,140,.2)}
.chipc.dark .in{background:#0d1117;color:#e6edf3}
.chipc.dark .t2{color:#9aa4ab}
.chipc.hopa .in{background:linear-gradient(180deg,#f1edff,#fff)}
.chipc.yt .in{background:#111 url(assets/yt-thumb.jpg) center/cover;color:#fff}
.chipc.yt .in::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1) 20%,rgba(0,0,0,.72))}
.chipc.yt .t2{color:#e5e5e5}
.ytplay{width:56px;height:40px;border-radius:12px;background:#ff0033;display:grid;place-items:center;box-shadow:0 6px 14px rgba(255,0,50,.3)}
.ytplay::after{content:"";border-left:16px solid #fff;border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:4px}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .about{grid-template-columns:1fr;gap:28px}.photo{height:320px}
  .side{grid-template-columns:1fr 1fr}.side .notebox{grid-column:1 / -1}
  .also{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:680px){
  .menu{padding:78px 16px 150px;place-items:start center}
  .ver{top:14px;right:50%;translate:50% 0}.ver a{height:32px;padding:0 13px;font-size:13px}
  .grid{gap:14px;width:100%}
  .ch{width:100%;max-width:400px;height:auto;aspect-ratio:300 / 172}
  .page{padding:14px}
  .panel{height:calc(100vh - 28px);height:calc(100dvh - 28px);border-radius:28px;padding:7px}.pscreen{border-radius:22px}
  .pscroll{padding:18px 16px 22px}
  .ph{gap:14px;padding:14px 16px 12px}.ph-icon{width:96px;height:53px;border-radius:11px}.ph-icon .pv{transform:scale(.336)}
  .ph h1{font-size:26px}.ph-sub{font-size:14px}
  .lead{font-size:21px}
  .facts{padding:2px 18px}.facts li{font-size:16px;padding:14px 0 14px 20px}.facts li::before{top:25px;width:9px}
  .cards{grid-template-columns:1fr}
  .timeline{padding-left:34px}.timeline::before{left:9px}.job::before{left:-32px}
  .job{grid-template-columns:1fr;gap:6px;padding:14px 16px}
  .socials{grid-template-columns:1fr;gap:14px}.soc .in{height:120px}
  .rev-main{padding:18px 16px 8px}
  .big{font-size:38px}
  .chart{height:230px}
  .side{grid-template-columns:1fr}
  .pill{min-width:0;flex:1;max-width:220px;height:50px;font-size:16px;padding:0 12px;white-space:nowrap}
  .pf{gap:10px;height:74px;padding:0 12px}
  .time{font-size:30px}.date{font-size:13px}.clock{top:54px}
  .round{width:62px;height:62px;right:16px;top:36px}.round svg{width:30px;height:30px}
  .tool{left:16px;top:52px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important}
}
