@font-face{font-family:"Inter Tight";font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/intertight-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:"Inter Tight";font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/intertight-greek.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:Inter;font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/inter-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:Inter;font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/inter-greek.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}

@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/jetbrainsmono-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 600;font-display:swap;src:url(/assets/fonts/jetbrainsmono-greek.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}

:root{
  --ink:#0b1220;--ink-2:#1b2433;--paper:#f7f6f2;--card:#fff;--line:#e4e1d8;
  --muted:#556070;--sun:#ff5a36;--sun-ink:#c2391a;--sun-soft:#ffe3da;
  --r:14px;--wrap:1120px;
  --display:"Inter Tight",Inter,system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--live:#22c55e;--body:Inter,system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--body);-webkit-font-smoothing:antialiased}
a{color:inherit}
img,svg{display:block}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.narrow{max-width:760px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 14px;border-radius:8px;z-index:20}
.skip:focus{left:16px}
:focus-visible{outline:2px solid var(--sun-ink);outline-offset:3px;border-radius:4px}

/* header */
.top{position:sticky;top:0;z-index:10;background:rgba(247,246,242,.88);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;gap:28px;height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:600 21px/1 var(--display);letter-spacing:-.02em;color:var(--ink)}
.brand b{font-weight:400;color:var(--muted)}
.mark{width:30px;height:30px;color:var(--ink)}
.nav{display:flex;gap:26px;margin-left:auto}
.nav a{text-decoration:none;font-size:15px;color:var(--ink-2)}
.nav a:hover{color:var(--sun-ink)}
.lang{font:500 12.5px/1 var(--mono);letter-spacing:.06em;text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:8px 12px;background:var(--card)}
.lang:hover{border-color:var(--ink)}

/* hero */
.hero{position:relative;overflow:hidden;padding:112px 0 168px;border-bottom:1px solid var(--line)}
.eyebrow{font:500 12.5px/1.6 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:22px}
h1,h2,h3{font-family:var(--display);letter-spacing:-.025em;line-height:1.08}
.hero h1{font-size:clamp(42px,6vw,76px);font-weight:600;max-width:15ch}
.hero h1 span{color:var(--sun-ink)}
.lead{font-size:clamp(18px,2vw,21px);color:var(--ink-2);max-width:58ch;margin-top:26px}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:38px}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:#fff;text-decoration:none;font:600 16px/1 var(--body);padding:16px 22px;border-radius:999px;border:1px solid var(--ink);transition:transform .2s,background .2s}
.btn svg{width:16px;height:16px;transition:transform .2s}
.btn:hover{background:var(--ink-2)}
.btn:hover svg{transform:translateX(3px)}
.btn.ghost{background:transparent;color:var(--ink);border-color:#c9c5ba}
.btn.ghost:hover{border-color:var(--ink);background:var(--card)}
.horizon{position:absolute;left:0;right:0;bottom:0;height:150px;pointer-events:none}
.horizon:before{content:"";position:absolute;right:max(24px,calc((100vw - var(--wrap))/2 + 24px));bottom:0;width:300px;height:150px;border-radius:300px 300px 0 0;background:radial-gradient(circle at 50% 100%,var(--sun) 0,#ff7a4d 55%,#ffb79c 100%);opacity:.95}
.horizon:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--ink)}

/* sections */
.sec{padding:104px 0}
.kicker{font:500 13px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--sun-ink);margin-bottom:16px;display:flex;align-items:center;gap:10px}
.kicker:before{content:"//";opacity:.7}
.sec h2{font-size:clamp(30px,4.2vw,48px);font-weight:600;max-width:22ch}
.sub{color:var(--muted);font-size:18px;max-width:60ch;margin-top:16px}
.muted{color:var(--muted);font-size:15px}

.svcs{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:52px}
.svc{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:32px}
.num{font:500 13px/1 var(--mono);color:var(--sun-ink);letter-spacing:.06em}
.svc h3{font-size:26px;font-weight:600;margin:14px 0 12px}
.svc p{color:var(--ink-2)}
.svc ul{list-style:none;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);display:grid;gap:8px}
.svc li{font-size:15px;color:var(--muted);padding-left:20px;position:relative}
.svc li:before{content:"";position:absolute;left:0;top:.72em;width:9px;height:2px;background:var(--sun)}

.dark{background:var(--ink);color:#e9ecf2}
.dark .kicker{color:#ff8a66}
.dark h2{color:#fff}
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:56px;counter-reset:s}
.steps li{border-top:2px solid #2c3647;padding-top:22px;position:relative}
.steps li:before{content:"";position:absolute;top:-2px;left:0;width:44px;height:2px;background:var(--sun)}
.step{font:500 13px/1 var(--mono);color:#ff8a66;letter-spacing:.06em}
.steps h3{font-size:23px;color:#fff;margin:12px 0 10px;font-weight:600}
.steps p{color:#b8c0cd;font-size:16px}
.std{margin-top:64px;border:1px solid #2c3647;border-radius:var(--r);padding:30px 32px;display:grid;grid-template-columns:240px 1fr;gap:28px;align-items:start}
.std h3{font-size:20px;color:#fff;font-weight:600}
.std ul{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:12px 28px}
.std li{color:#d4d9e2;font-size:16px;padding-left:28px;position:relative}
.std li:before{content:"";position:absolute;left:0;top:.38em;width:16px;height:8px;border-left:2px solid #ff8a66;border-bottom:2px solid #ff8a66;transform:rotate(-45deg)}

.works{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.work{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px;text-decoration:none;transition:border-color .2s,transform .2s,box-shadow .2s}
.work:hover{border-color:var(--ink);transform:translateY(-3px);box-shadow:0 18px 40px -24px rgba(11,18,32,.35)}
.work h3{font-size:23px;font-weight:600}
.work p{color:var(--ink-2);margin:10px 0 22px;font-size:16px}
.go{margin-top:auto;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--sun-ink)}
.go svg{width:15px;height:15px}

.contact{border-top:1px solid var(--line);background:linear-gradient(180deg,var(--paper),var(--sun-soft))}
.mail{display:inline-flex;align-items:center;gap:14px;margin:36px 0 18px;font:600 clamp(24px,4vw,44px)/1.1 var(--display);letter-spacing:-.02em;text-decoration:none;border-bottom:3px solid var(--sun);padding-bottom:6px;word-break:break-all}
.mail svg{width:.7em;height:.7em;flex:none;transition:transform .2s}
.mail:hover svg{transform:translateX(5px)}

.foot{background:var(--ink);color:#e9ecf2;padding:44px 0}
.foot .brand{color:#fff}.foot .brand b{color:#9aa4b4}.foot .mark{color:#fff}
.foot-in{display:grid;gap:12px}
.foot .muted{color:#9aa4b4}
.foot a{text-decoration:none}.foot a:hover{color:#fff;text-decoration:underline}

.page{padding:88px 0 104px}
.page h1{font-size:clamp(36px,5vw,56px);font-weight:600;margin-bottom:28px}
.page h2{font-size:22px;font-weight:600;margin:34px 0 10px}
.page p{color:var(--ink-2);margin-bottom:12px}
.page p a:not(.btn){color:var(--sun-ink)}
.page .btn{margin-top:24px}

@media (max-width:920px){
  .nav{display:none}
  .lang{margin-left:auto}
  .steps{grid-template-columns:repeat(2,1fr)}
  .std{grid-template-columns:1fr}
  .works{grid-template-columns:1fr}
}
@media (max-width:640px){
  .wrap{padding:0 16px}
  .hero{padding:72px 0 132px}
  .horizon{height:110px}
  .horizon:before{width:200px;height:100px;right:16px}
  .sec{padding:76px 0}
  .svcs,.steps,.std ul{grid-template-columns:1fr}
  .svc{padding:24px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ---- high-tech layer (v2) ---- */
.hero{isolation:isolate}
.grid-bg{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:radial-gradient(rgba(11,18,32,.16) 1px,transparent 1.3px);background-size:22px 22px;
  -webkit-mask-image:radial-gradient(ellipse 70% 80% at 70% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 80% at 70% 40%,#000 20%,transparent 75%)}
.hero-in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:56px;align-items:center}
.horizon:before{box-shadow:0 0 80px 20px rgba(255,90,54,.28);animation:rise 1.4s cubic-bezier(.2,.7,.2,1) both}
.horizon:after{background:linear-gradient(90deg,var(--ink) 0,var(--ink) 40%,var(--sun) 50%,var(--ink) 60%,var(--ink) 100%);background-size:250% 100%;animation:scan 6s linear infinite}
@keyframes rise{from{transform:translateY(60%);opacity:0}to{transform:none;opacity:.95}}
@keyframes scan{from{background-position:100% 0}to{background-position:-150% 0}}

.term{background:#0b1220;color:#d4d9e2;border-radius:14px;border:1px solid #232d3d;
  box-shadow:0 30px 60px -30px rgba(11,18,32,.55),0 0 0 1px rgba(255,255,255,.03) inset,0 0 60px -20px rgba(255,90,54,.35);
  font:400 13.5px/1.9 var(--mono);overflow:hidden;position:relative;z-index:1}
.term-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;border-bottom:1px solid #1d2635;background:#0e1626}
.term-bar i{width:10px;height:10px;border-radius:50%;background:#2a3446}
.term-bar i:first-child{background:#ff5a36}
.term-bar span{margin-left:10px;font-size:12px;color:#7d8899}
.term-body{padding:18px 20px 20px}
.term p{white-space:pre;display:flex;align-items:center;opacity:0;animation:line .35s ease-out forwards}
.term p:nth-child(1){animation-delay:.3s}.term p:nth-child(2){animation-delay:.9s}.term p:nth-child(3){animation-delay:1.3s}
.term p:nth-child(4){animation-delay:1.7s}.term p:nth-child(5){animation-delay:2.1s}.term p:nth-child(6){animation-delay:2.5s}
.term p:nth-child(7){animation-delay:3.1s}.term p:nth-child(8){animation-delay:3.5s}
@keyframes line{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.term b{color:#ff8a66;font-weight:500}.term em{font-style:normal;color:#8fb3ff}
.term s{text-decoration:none;color:#ff8a66}.term u{text-decoration:none;color:#7d8899}
.term .ok{margin-left:auto;color:var(--live);padding-left:14px}
.term .ok:before{content:"✓ "}
.term .live{color:#fff}
.term .live u{color:#8fb3ff}
.cur{display:inline-block;margin-left:9px;width:8px;height:16px;background:#d4d9e2;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.dot{width:8px;height:8px;border-radius:50%;background:var(--live);display:inline-block;margin-right:8px;box-shadow:0 0 0 0 rgba(34,197,94,.6);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}

.svc{position:relative;transition:border-color .25s,box-shadow .25s,transform .25s}
.svc:hover{border-color:#cfcabe;transform:translateY(-3px);box-shadow:0 22px 44px -28px rgba(11,18,32,.4)}
.svc:after{content:"";position:absolute;left:32px;right:32px;top:-1px;height:2px;background:linear-gradient(90deg,transparent,var(--sun),transparent);opacity:0;transition:opacity .25s}
.svc:hover:after{opacity:1}
.svc-top{display:flex;align-items:center;justify-content:space-between}
.ico{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--ink);color:#fff;box-shadow:0 8px 20px -10px rgba(11,18,32,.6)}
.ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.svc-top .num{color:#a29d90}
.svc h3{margin-top:22px}

.dark{position:relative;isolation:isolate;overflow:hidden}
.dark .grid-bg{background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:56px 56px;
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 0%,#000 30%,transparent 80%);mask-image:radial-gradient(ellipse 80% 70% at 50% 0%,#000 30%,transparent 80%)}
.dark:after{content:"";position:absolute;z-index:-1;width:520px;height:520px;right:-160px;top:-200px;border-radius:50%;background:radial-gradient(circle,rgba(255,90,54,.22),transparent 65%)}
.steps li{border-top-color:#253043}
.steps li:before{width:9px;height:9px;top:-5.5px;border-radius:50%;background:var(--sun);box-shadow:0 0 0 4px rgba(255,90,54,.18),0 0 16px rgba(255,90,54,.8)}
.std{background:rgba(255,255,255,.02);backdrop-filter:blur(2px)}

.work-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.status{display:inline-flex;align-items:center;font:500 12px/1 var(--mono);color:#15803d;background:#ecfdf3;border:1px solid #c6f0d6;padding:5px 9px;border-radius:999px}
.status .dot{width:7px;height:7px;margin-right:6px}
.tags{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:-8px 0 22px}
.tags li{font:500 12px/1 var(--mono);color:var(--ink-2);background:var(--paper);border:1px solid var(--line);padding:6px 8px;border-radius:6px}
.mail{font-family:var(--display)}

@media (max-width:1024px){.hero-in{grid-template-columns:1fr;gap:44px}.term{max-width:560px}}
@media (max-width:640px){.term{font-size:11.5px}.term-body{padding:14px 14px 16px}.term .ok{padding-left:8px}}
@media (prefers-reduced-motion:reduce){.term p{opacity:1;animation:none}.horizon:before,.horizon:after,.dot,.cur{animation:none}}
