:root{--ink:#17223d;--bg:#f4f6fd;--dark:#0b1022;--accent:#7c85ff;--muted:#64708b;--line:#dde3f2;--paper:#fff;--orange:#7fe5f4;--blue:#bbb8ff;--max:1280px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;color:var(--ink);background:var(--bg);font-family:Inter,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a{outline-offset:5px}::selection{background:var(--accent);color:var(--ink)}.container{width:min(calc(100% - 88px),var(--max));margin:auto}.skip-link{position:absolute;top:-90px;left:12px;background:#fff;z-index:999;padding:10px}.skip-link:focus{top:12px}.site-header{height:86px;background:var(--dark);color:#f6f7ff;position:relative;z-index:5;border-bottom:1px solid rgba(255,255,255,.105)}.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:inline-flex;align-items:center;gap:9px;font-weight:850;font-size:25px;letter-spacing:-1.3px;white-space:nowrap}.brand-symbol{width:33px;height:33px;color:#edf5ec;display:inline-flex}.brand-symbol svg{height:100%;width:100%}.brand-ab{color:var(--accent);font-size:.67em;letter-spacing:-.6px}.site-header nav{display:flex;gap:35px;align-items:center;margin-left:auto}.site-header nav a{font-size:14px;color:#cdd6ef;transition:color .2s}.site-header nav a:hover{color:#fff}.nav-action{display:flex;align-items:center;gap:35px;border:1px solid #394364;border-radius:99px;padding:14px 19px;font-size:13px;font-weight:650;transition:background .2s}.nav-action:hover{background:#202b51}.nav-action span{font-size:17px}.hero{position:relative;overflow:hidden;color:#f6f7ff;background:var(--dark)}.hero-grid{min-height:660px;display:grid;grid-template-columns:1.08fr .92fr;position:relative;z-index:1;align-items:center;gap:5%;padding-top:35px;padding-bottom:55px}.hero-ambient{position:absolute;pointer-events:none;filter:blur(5px);border-radius:50%;opacity:.85}.hero-ambient-one{width:720px;height:720px;right:-350px;top:10px;background:radial-gradient(ellipse,rgba(95,101,252,.18),transparent 68%)}.hero-ambient-two{width:660px;height:660px;left:-330px;bottom:-350px;background:radial-gradient(ellipse,rgba(95,101,252,.12),transparent 68%)}.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:750;margin:0 0 30px}.hero-eyebrow{display:flex;align-items:center;gap:12px;color:#afbbed}.eyebrow-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(125,143,255,.1)}h1,h2,h3,p{margin-top:0}.hero h1{font-size:clamp(58px,6.05vw,101px);line-height:1.01;letter-spacing:-.079em;font-weight:790;margin:0 0 30px}.hero h1 em{font-weight:350;font-family:Georgia,serif;letter-spacing:-.084em}.hero-period,.accent-dot{color:var(--accent)}.hero-lead{max-width:565px;font-size:19px;line-height:1.74;color:#b9c6e5;letter-spacing:-.012em;margin-bottom:38px}.hero-actions{display:flex;gap:30px;align-items:center;flex-wrap:wrap}.btn{min-height:55px;display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:0 22px;border-radius:7px;font-size:14px;font-weight:700;transition:transform .2s,filter .2s}.btn:hover{transform:translateY(-2px);filter:brightness(1.05)}.btn-accent{color:#0c1130;background:var(--accent)}.text-link{font-size:14px;font-weight:650;display:flex;gap:13px;align-items:center}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.hero-visual{width:100%;aspect-ratio:1/1;position:relative;max-width:560px;margin-left:auto;display:grid;place-items:center}.visual-outline{position:absolute;border-radius:50%;border:1px solid rgba(148,177,255,.17);aspect-ratio:1}.outline-a{width:97%}.outline-b{width:75%;border-style:dashed;transform:rotate(15deg)}.outline-c{width:53%;border-color:rgba(148,177,255,.25)}.visual-core{width:41%;height:41%;border-radius:50%;background:radial-gradient(circle at 32% 25%,#374c91,#16254a 75%);box-shadow:0 18px 80px rgba(0,0,0,.26),inset 0 0 0 1px rgba(213,224,255,.19);display:flex;align-items:center;justify-content:center;position:relative}.visual-core-letter{font-weight:850;font-size:clamp(100px,12vw,190px);line-height:1;color:#f5f7ff;transform:translateY(-5%);letter-spacing:-.1em}.visual-core-line{position:absolute;width:31%;height:4px;border-radius:5px;background:var(--accent);transform:rotate(-50deg);right:28%;top:55%}.visual-tag{position:absolute;display:flex;gap:10px;align-items:center;color:#edf5ec;background:#192441;border:1px solid #39476b;padding:13px 17px;border-radius:8px;font-size:12px;white-space:nowrap;box-shadow:0 10px 30px rgba(0,0,0,.21)}.tag-dot{width:9px;height:9px;border-radius:50%}.dot-cyan{background:var(--accent)}.dot-orange{background:var(--orange)}.dot-blue{background:var(--blue)}.tag-one{top:13%;left:0;transform:rotate(-5deg)}.tag-two{top:43%;right:-2%;transform:rotate(5deg)}.tag-three{bottom:10%;left:4%;transform:rotate(4deg)}.hero-bottom{position:relative;z-index:1;display:flex;justify-content:space-between;padding:23px 0 27px;border-top:1px solid rgba(255,255,255,.12);color:#a0a9c7;font-size:10px;letter-spacing:.17em;font-weight:700}.intro-strip{background:#e8edff;padding:42px 0}.intro-grid{display:grid;grid-template-columns:.48fr .52fr;gap:70px;align-items:center}.intro-grid strong{font-size:clamp(24px,2.3vw,37px);letter-spacing:-.055em;line-height:1.19}.intro-grid strong span{color:#5968b1}.intro-grid p{font-size:15px;line-height:1.75;max-width:610px;color:#495879;margin:0}.section{padding:115px 0 125px}.section-top{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:48px}.dark-eyebrow{color:#5665ad;margin-bottom:22px}.section-top h2,.contact h2{font-size:clamp(42px,4.5vw,67px);letter-spacing:-.073em;line-height:1.1;margin:0}.section-aside{font-size:15px;line-height:1.7;color:#61708d;max-width:345px;margin:0 0 5px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.service-card{border-radius:11px;overflow:hidden;background:var(--paper);border:1px solid #e4e8f3;display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(18,33,82,.025);transition:transform .25s,box-shadow .25s}.service-card:hover{transform:translateY(-5px);box-shadow:0 20px 45px rgba(18,33,82,.095)}.service-art{height:262px;position:relative;overflow:hidden;display:grid;place-items:center}.software-art{background:#dde6ff}.software-art:after,.web-art:after,.consult-art:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent,rgba(0,0,0,.025));pointer-events:none}.software-window{width:70%;height:190px;background:#fff;border-radius:11px 11px 0 0;box-shadow:0 15px 35px rgba(32,65,35,.13);overflow:hidden;transform:translate(12%,33px) rotate(-8deg);border:1px solid #cad6f0}.software-top{display:flex;gap:5px;height:30px;padding:11px;background:#1d2c59;align-items:center}.software-top i{width:5px;height:5px;background:#9ea7d0;border-radius:50%}.software-top span{color:#dbe2ff;font-weight:800;font-size:9px;letter-spacing:.1em;margin-left:9px}.software-cols{display:flex;gap:8px;padding:15px}.software-cols span{height:43px;flex:1;background:#dfeaff;border-radius:5px}.software-cols span:nth-child(2){background:#bdd1fd}.software-list{display:grid;gap:7px;padding:0 15px}.software-list i{height:10px;border-radius:3px;background:#edf1fb}.software-list i:nth-child(2){width:78%}.software-list i:nth-child(3){width:90%}.software-totals{display:flex;gap:10px;padding:15px}.software-totals span{height:32px;flex:1;border-radius:4px;background:#d2ddfa}
.web-art{background:#e6e5fc;isolation:isolate}.web-art:before{content:"";position:absolute;width:420px;height:420px;border:1px solid #bfc4ec;border-radius:50%;top:-95px;left:-100px}.web-browser{width:77%;height:191px;position:relative;z-index:1;border:1px solid #bbc4e7;border-radius:10px;background:#fafaff;box-shadow:0 18px 35px #343c7c26;transform:translate(-6%,15px) rotate(-6deg);overflow:hidden}.web-browser-top{background:#202e59;height:31px;display:flex;align-items:center;gap:5px;padding:0 11px}.web-browser-top i{width:6px;height:6px;border-radius:50%;background:#93a6e1}.web-browser-top span{font-size:8px;font-weight:700;letter-spacing:.07em;color:#d3dcff;margin:auto}.web-browser-body{padding:22px}.web-title{height:15px;width:56%;background:#9daef6;border-radius:4px}.web-lines{display:grid;gap:6px;padding-top:15px}.web-lines i{height:7px;background:#e4e8fa;border-radius:3px}.web-lines i:nth-child(2){width:84%}.web-lines i:nth-child(3){width:66%}.web-tiles{display:flex;gap:7px;margin-top:17px}.web-tiles i{flex:1;height:28px;background:#e8e3fd;border-radius:4px}.web-tiles i:nth-child(2){background:#d1ddfc}.web-device{position:absolute;z-index:2;width:73px;height:135px;right:13%;top:90px;border-radius:12px;background:#fbfcff;border:5px solid #293969;box-shadow:0 14px 28px #182b6726;transform:rotate(9deg);padding:18px 8px}.web-device-bar{height:9px;background:#9baff1;border-radius:3px}.web-device-block{height:31px;background:#e0e9ff;border-radius:3px;margin:10px 0}.web-device-line{height:5px;background:#d9e4ff;border-radius:3px;margin-bottom:5px}.web-device-line.short{width:75%}
.consult-art{background:#e0eaff;isolation:isolate}.consult-grid{position:absolute;inset:0;background-image:linear-gradient(#bdc9da55 1px,transparent 1px),linear-gradient(90deg,#bdc9da55 1px,transparent 1px);background-size:31px 31px;transform:rotate(-10deg) scale(1.3)}.consult-window{width:72%;height:168px;position:relative;z-index:2;background:#14284b;border:1px solid #6179ba;border-radius:10px;box-shadow:15px 19px 42px #293e8236;transform:rotate(6deg);overflow:hidden}.consult-window-top{height:32px;background:#20386c;display:flex;align-items:center;gap:5px;padding:0 12px}.consult-window-top i{height:6px;width:6px;border-radius:50%;background:#aebfed}.consult-window-top span{color:#d4e3ff;font-size:9px;font-weight:800;letter-spacing:.08em;margin-left:10px}.consult-code{display:flex;align-items:center;gap:17px;padding:22px 23px}.consult-code-symbol{font-size:53px;font-weight:700;color:#7c85ff;letter-spacing:-.11em}.consult-code div{display:grid;gap:10px;flex:1}.consult-code i{height:8px;background:#6a97a9;border-radius:4px}.consult-code i:nth-child(2){width:75%;background:#a3b5ff}.consult-code i:nth-child(3){width:89%;background:#6a97a9}.consult-orb{position:absolute;z-index:1;right:2%;bottom:-32%;width:175px;height:175px;border:26px solid #a8a5f8;border-radius:50%;opacity:.67}
.service-body{padding:30px 29px 28px;display:flex;flex-direction:column;flex:1}.service-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;font-size:11px;font-weight:700;color:#65749c;margin-bottom:23px}.status{color:#75809e;background:#f2f4fc;border:1px solid #e7eafa;border-radius:20px;padding:6px 9px;font-weight:600}.service-body h3{font-size:34px;letter-spacing:-.055em;margin:0 0 12px}.service-body p{font-size:14px;line-height:1.8;color:#64708d;margin-bottom:32px}.service-foot{margin-top:auto;padding-top:18px;border-top:1px solid #e5e9f7;color:#5e6fa1;display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:650}.service-foot span{font-size:17px;color:#293870}.about{background:#101b35;color:#f2f5ff;padding:113px 0 123px}.about-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:100px}.eyebrow-soft{color:#aebcfd}.about h2{font-size:clamp(42px,4.7vw,70px);letter-spacing:-.07em;line-height:1.1}.about h2 span{color:var(--accent)}.about-copy>p{color:#b9c5ea;line-height:1.9;font-size:16px;max-width:565px}.about-company{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:49px;border-top:1px solid #374467;padding-top:25px}.about-company>div{display:grid;gap:11px}.about-company span{color:#98a6cc;font-size:11px}.about-company strong{font-size:14px;font-weight:650}.contact{background:#f3f5fe}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:100px;align-items:center}.contact h2{margin-bottom:25px}.contact-grid>div>p:not(.eyebrow){color:#677591;font-size:16px;line-height:1.8;max-width:500px}.contact-panel{background:#fff;padding:39px;border:1px solid #e0e6f7;border-radius:11px;box-shadow:0 15px 35px rgba(18,33,82,.045)}.contact-panel-top{display:flex;align-items:center;gap:14px;font-weight:700;font-size:14px}.contact-icon{display:grid;place-items:center;font-size:24px;width:52px;height:52px;border-radius:50%;background:#e8ecff}.contact-address{font-size:clamp(18px,2vw,24px)!important;font-weight:700;color:#1f2e56!important;line-height:1.4!important;margin:29px 0 11px;overflow-wrap:anywhere}.contact-note{font-size:12px!important;line-height:1.7!important;margin-bottom:28px}.contact-panel hr{border:0;border-top:1px solid #e4e9f9;margin:26px 0}.small-label{font-size:12px!important;margin:0;color:#6e7998!important}.site-footer{background:#0b1022;color:#e9efff;padding:53px 0 29px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:43px}.footer-top p{font-size:14px;color:#a8b5d5;margin:0}.footer-bottom{padding-top:24px;border-top:1px solid #343e60;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#94a3c2;font-size:12px}.footer-bottom div{display:flex;gap:26px}.footer-bottom a:hover{text-decoration:underline;text-underline-offset:4px}.legal-main{padding:80px 0 120px;min-height:calc(100vh - 350px)}.legal-main .legal-inner{max-width:850px}.legal-main h1{font-size:clamp(40px,5vw,70px);letter-spacing:-.065em;margin:0 0 20px}.legal-main .legal-lead{font-size:18px;color:#65738f;line-height:1.75;margin-bottom:55px}.legal-main h2{font-size:22px;letter-spacing:-.035em;margin-top:38px}.legal-main p,.legal-main li{font-size:15px;line-height:1.9;color:#4f5d7d}.legal-main a{color:#5368d7;text-decoration:underline}.legal-main .note{padding:20px 25px;border-left:3px solid #7786ef;background:#eaf0ff;margin-top:30px}.legal-main .note p{margin:0}.legal-main li{margin-bottom:6px}
@media(max-width:1100px){.hero-grid{grid-template-columns:1.1fr .9fr;gap:0}.hero h1{font-size:clamp(53px,6vw,77px)}.hero-lead{font-size:17px}.visual-tag{font-size:11px}.service-body{padding:25px}.service-body h3{font-size:30px}.service-meta{font-size:10px}.about-grid,.contact-grid{gap:50px}}
@media(max-width:850px){.container{width:min(calc(100% - 48px),var(--max))}.site-header{height:74px}.site-header nav{gap:20px}.nav-action{display:none}.hero-grid{min-height:680px;padding:70px 0 40px;grid-template-columns:1fr 270px;gap:0}.hero h1{font-size:clamp(53px,7vw,77px)}.hero-visual{opacity:.65;transform:translate(24px,0)}.visual-tag{font-size:10px}.tag-one{top:10%}.tag-two{right:-10%}.tag-three{bottom:11%;left:-10%}.intro-grid{grid-template-columns:1fr 1.2fr;gap:24px}.service-grid{grid-template-columns:1fr 1fr}.section{padding:86px 0}.about{padding:90px 0}.about-grid{grid-template-columns:1fr;gap:24px}.about-company{max-width:670px}.contact-grid{gap:30px}}
@media(max-width:620px){.container{width:calc(100% - 36px)}.site-header{height:68px}.brand{font-size:22px}.brand-symbol{width:27px;height:27px}.site-header nav{gap:17px}.site-header nav a{font-size:12px}.site-header nav a:nth-child(2){display:none}.hero-grid{min-height:unset;display:flex;flex-direction:column;align-items:stretch;gap:16px;padding-top:70px;padding-bottom:30px}.hero-copy{position:relative;z-index:2}.hero-eyebrow{font-size:10px;margin-bottom:25px}.hero h1{font-size:clamp(53px,12.1vw,77px);margin-bottom:27px}.hero-lead{font-size:16px;line-height:1.72;margin-bottom:31px}.hero-actions{gap:22px}.btn{padding:0 17px;min-height:51px;font-size:12px;gap:14px}.text-link{font-size:12px}.hero-visual{margin:auto;width: min(100%,390px);opacity:1;transform:none;max-height:290px}.visual-outline.outline-a{width:67%}.visual-outline.outline-b{width:50%}.visual-outline.outline-c{width:35%}.visual-core{height:33%;width:33%}.visual-core-letter{font-size:88px}.visual-tag{font-size:10px;padding:8px 10px}.tag-one{top:14%;left:8%}.tag-two{right:6%;top:47%}.tag-three{bottom:9%;left:10%}.hero-bottom{font-size:9px;line-height:1.6;gap:15px;letter-spacing:.06em}.hero-bottom span:last-child{text-align:right}.intro-strip{padding:35px 0}.intro-grid{grid-template-columns:1fr;gap:19px}.intro-grid strong{font-size:32px}.intro-grid p{font-size:14px}.section{padding:72px 0 85px}.section-top{display:block;margin-bottom:29px}.section-top h2,.contact h2{font-size:45px}.section-aside{margin-top:18px;font-size:14px}.service-grid{grid-template-columns:1fr;gap:16px}.service-art{height:240px}.service-body h3{font-size:33px}.service-body{padding:25px}.about{padding:77px 0 85px}.about-grid{grid-template-columns:1fr;gap:20px}.about h2{font-size:43px}.about-copy>p{font-size:15px}.about-company{grid-template-columns:1fr 1fr;gap:21px}.about-company strong{font-size:13px}.contact-grid{grid-template-columns:1fr;gap:20px}.contact-panel{padding:27px}.footer-top{display:block;padding-bottom:31px}.footer-top p{margin-top:18px}.footer-bottom{flex-wrap:wrap;gap:22px}.footer-bottom div{gap:20px}.legal-main{padding:65px 0 90px}.legal-main .legal-lead{font-size:16px}}
@media(max-width:370px){.site-header nav a{font-size:11px}.site-header nav{gap:11px}.hero h1{font-size:51px}.hero-actions{align-items:flex-start}.text-link{padding:12px 0}.about-company{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* VIREL 0.3 — proprietary midnight / electric-indigo / polar-blue identity.
   This version deliberately has NO logo; VIREL AB is simple navigation text. */
:root { --ink:#17213b; --bg:#f4f6fd; --dark:#0b1022; --accent:#797dff; --cyan:#6de7ff; --paper:#fff; --line:#dce3f3; --muted:#68758f }
html { scroll-padding-top:76px }
body { background:#f5f7fe; }
::selection { background:#bdc8ff; color:#0b1022 }
.site-header { background:#090f23; border-bottom:1px solid rgba(141,164,255,.16); }
.brand { font-weight:810; font-size:25px; letter-spacing:-.065em; gap:0; }
.brand-ab { color:#9fafff; font-weight:650; margin-left:5px; letter-spacing:-.02em; }
.site-header nav a { color:#c6d0e9; }
.nav-action { border-color:rgba(141,165,240,.35); color:#f4f7ff; }
.nav-action:hover { background:#1d2851; }
.hero { min-height:670px; background:radial-gradient(ellipse 70% 75% at 70% 30%,#172351 0%,transparent 65%),linear-gradient(126deg,#090f23 10%,#101936 68%,#0c1130 100%); isolation:isolate; }
.starfield { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; opacity:.8; z-index:0; }
.hero:before { content:''; position:absolute; inset:-30% -15%; pointer-events:none; z-index:0; background:radial-gradient(ellipse 32% 28% at 75% 41%,rgba(96,90,239,.22),transparent 80%),radial-gradient(ellipse 33% 22% at 22% 78%,rgba(31,135,224,.09),transparent 90%); filter:blur(35px); animation:nebulaShift 24s ease-in-out infinite alternate; }
.hero-grid { min-height:660px; }
.hero-eyebrow { color:#b5c5f1; }
.eyebrow-dot { background:var(--cyan); box-shadow:0 0 0 5px rgba(109,231,255,.13),0 0 23px rgba(109,231,255,.45); }
.hero-period { color:#8999ff; display:inline-block; margin-left:.11em; letter-spacing:0; }
.hero-lead { color:#c0c8df; }
.hero h1 em { color:#ecf0ff; }
.hero-copy { animation:slideInSoft 950ms cubic-bezier(.21,.76,.28,1) both; }
.btn-accent { background:linear-gradient(115deg,#737fff,#9c8cff); box-shadow:0 6px 22px rgba(96,104,255,.18),inset 0 1px rgba(255,255,255,.42); color:#fff; border:1px solid rgba(255,255,255,.17); }
.btn-accent:hover { box-shadow:0 10px 34px rgba(96,104,255,.36),inset 0 1px rgba(255,255,255,.45); }
.hero-bottom { color:#a5b1d4; border-top-color:rgba(152,169,245,.17); }
.hero-ambient-one { background:radial-gradient(ellipse,rgba(91,83,241,.14),transparent 72%); animation:slowPulse 19s ease-in-out infinite alternate; }
.hero-ambient-two { background:radial-gradient(ellipse,rgba(38,166,231,.09),transparent 72%); animation:slowPulse 16s ease-in-out infinite alternate-reverse; }
.hero-visual { animation:visualFloat 8.5s ease-in-out infinite; transform:translate3d(var(--px,0px),var(--py,0px),0); }
.visual-outline { border-color:rgba(159,179,255,.22); box-shadow:0 0 45px rgba(99,108,237,.035),inset 0 0 38px rgba(99,108,237,.035); }
.outline-a { width:99%; border-color:rgba(151,178,255,.12); }
.outline-b { width:78%; border:1px dashed rgba(149,169,239,.31); animation:orbitRotate 80s linear infinite; }
.outline-c { width:59%; border-color:rgba(142,185,255,.22); animation:orbitReverse 65s linear infinite; }
.visual-core { width:49%; height:49%; overflow:visible; background:radial-gradient(circle at 25% 23%,#9cc6ff 0%,#747dfd 13%,#3b4da5 37%,#182654 63%,#0b1236 95%); box-shadow:0 0 0 1px rgba(171,191,255,.35), 22px 35px 100px rgba(0,0,0,.35),0 0 90px rgba(87,106,255,.22),inset -28px -19px 50px rgba(2,7,28,.6); animation:planetBreathe 8s ease-in-out infinite; }
.visual-core:before {content:'';position:absolute;inset:7%;border-radius:50%;background:radial-gradient(ellipse 75% 24% at 42% 60%,transparent 0,rgba(146,196,255,.1) 50%,transparent 75%),radial-gradient(ellipse 85% 18% at 60% 36%,transparent 0,rgba(125,141,240,.17) 60%,transparent 78%);transform:rotate(-24deg);pointer-events:none}
.planet-light { position:absolute; inset:-7%; border-radius:50%; box-shadow:0 0 35px 3px rgba(138,150,255,.18); pointer-events:none; }
.planet-ring { position:absolute; left:-37%; top:40%; width:174%; height:33%; border-radius:50%; border:3px solid rgba(151,190,255,.53); border-left-color:rgba(151,190,255,.08); border-bottom-color:rgba(151,190,255,.18); border-right-color:rgba(109,231,255,.4); transform:rotate(-25deg); box-shadow:0 1px 12px rgba(95,145,255,.14); pointer-events:none; }
.planet-shine { position:absolute; top:12%;left:24%;width:22%;height:13%;border-radius:50%;background:rgba(217,234,255,.33);filter:blur(23px);transform:rotate(-20deg) }
.visual-tag { background:rgba(23,32,70,.72); border:1px solid rgba(165,190,255,.3); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); color:#f2f5ff; border-radius:10px; box-shadow:0 16px 36px rgba(5,11,37,.25),inset 0 1px rgba(255,255,255,.07); }
.dot-cyan { background:#76e8ff;box-shadow:0 0 14px rgba(118,232,255,.7) }
.dot-orange { background:#b6a6ff;box-shadow:0 0 14px rgba(182,166,255,.5) }
.dot-blue { background:#8794ff;box-shadow:0 0 14px rgba(135,148,255,.55) }
.tag-one { animation:tagFloatA 7.7s ease-in-out infinite; }
.tag-two { animation:tagFloatB 8.6s ease-in-out infinite; }
.tag-three { animation:tagFloatC 9.4s ease-in-out infinite; }
.intro-strip { background:linear-gradient(106deg,#eaf0ff,#f2f4ff 42%,#e8f2ff); border-bottom:1px solid #e0e6f5; }
.intro-grid strong span { color:#586ac6; }
.intro-grid p { color:#53617e; }
.services { background:linear-gradient(#f5f7ff,#fafbff); }
.dark-eyebrow { color:#5c68b4; }
.accent-dot { color:#777dff; }
.section-aside { color:#6b7894; }
.service-grid { gap:24px;perspective:1200px; }
.service-card { position:relative; border:1px solid rgba(205,215,241,.95); border-radius:19px; box-shadow:0 2px 5px rgba(25,36,87,.035),0 18px 50px rgba(34,48,116,.075),0 32px 70px -40px rgba(69,73,163,.32); transform-style:preserve-3d; isolation:isolate; will-change:transform; transition:transform .38s cubic-bezier(.2,.76,.25,1),box-shadow .38s,border-color .38s; }
.service-card:before { content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3;background:radial-gradient(340px circle at var(--mx,50%) var(--my,20%),rgba(114,136,255,.13),transparent 65%);opacity:0;transition:opacity .3s; }
.service-card:after { content:'';position:absolute;inset:1px;border:1px solid rgba(255,255,255,.75);border-radius:18px;pointer-events:none;z-index:4; }
.service-card:hover,.js-motion .service-card.reveal.is-visible:hover { transform:translateY(-11px) rotateX(1deg);border-color:#b9c7ef;box-shadow:0 12px 26px rgba(35,49,102,.08),0 32px 68px rgba(46,57,131,.17),0 0 35px rgba(92,106,238,.09); }
.service-card:hover:before { opacity:1; }
.service-art { height:265px; transform:translateZ(0); }
.service-art:before,.service-art:after { pointer-events:none; }
.service-card:hover .software-window { transform:translate(12%,24px) rotate(-5deg); }
.service-card:hover .web-browser { transform:translate(-6%,5px) rotate(-3deg); }
.service-card:hover .consult-window { transform:translateY(-7px) rotate(3deg); }
.software-window,.web-browser,.consult-window { transition:transform .55s cubic-bezier(.2,.7,.2,1); }
.software-art { background:radial-gradient(circle at 80% 15%,#ecf6ff 0,transparent 48%),linear-gradient(130deg,#dfe8ff,#d3dffd); }
.web-art { background:radial-gradient(circle at 85% 10%,#f6f2ff 0,transparent 45%),linear-gradient(140deg,#e5e6ff,#d5defb); }
.consult-art { background:linear-gradient(137deg,#d8e7ff,#dde0fc); }
.service-body { padding:33px 30px 31px; }
.service-meta { color:#6274a5; }
.status { color:#64719d;background:#eff2fd;border-color:#e4e9fc; }
.service-body h3 { color:#17213b; }
.service-body p { color:#64708b; }
.service-foot { color:#5b70ab;border-top-color:#e7ebf6; }
.service-foot span { color:#5067d9; }
.about { background:radial-gradient(ellipse 65% 85% at 95% 15%,rgba(88,107,232,.1),transparent 70%),#111a35; }
.about h2 span { color:#9ba9ff; }
.eyebrow-soft { color:#aab9ff; }
.about-copy>p { color:#bac6e6; }
.about-company { border-top-color:rgba(181,198,252,.21); }
.about-company span { color:#9daed0; }
.contact { background:linear-gradient(122deg,#f2f5ff,#f8faff); }
.contact-grid>div>p:not(.eyebrow) { color:#61718e; }
.contact-panel { border:1px solid #dce4f8; border-radius:18px; box-shadow:0 14px 35px rgba(36,45,105,.06),0 30px 65px rgba(36,45,105,.05); }
.contact-icon { color:#5669db;background:#e8edff; }
.contact-address { color:#21315c!important; }
.contact-panel hr { border-color:#e8ecf8; }
.site-footer { background:#0a1024; color:#eaf0ff; }
.footer-top p { color:#a0b1db; }
.footer-bottom { border-top-color:rgba(175,196,255,.17);color:#9ca9cd; }
.legal-main .legal-lead { color:#687797; }
.legal-main p,.legal-main li { color:#52607f; }
.legal-main a { color:#535fc8; }
.legal-main .note { border-left-color:#7585ee; background:#e9efff; }
.js-motion .reveal:not(.is-visible) { opacity:0;transform:translate3d(0,35px,0); }
.js-motion .reveal { transition:opacity .8s ease,transform .8s cubic-bezier(.2,.74,.2,1); }
.js-motion .reveal.is-visible { opacity:1;transform:translate3d(0,0,0); }
.js-motion .service-card.reveal:nth-child(2) { transition-delay:95ms }
.js-motion .service-card.reveal:nth-child(3) { transition-delay:190ms }
@keyframes orbitRotate { from{transform:rotate(0)} to{transform:rotate(360deg)} }
@keyframes orbitReverse { from{transform:rotate(360deg)} to{transform:rotate(0)} }
@keyframes nebulaShift { from{transform:translate(-1%,1%) scale(1)} to{transform:translate(2%,-2%) scale(1.1)} }
@keyframes slowPulse { from{opacity:.45;transform:scale(.93)} to{opacity:1;transform:scale(1.13)} }
@keyframes planetBreathe { 0%,100%{filter:brightness(.95)} 50%{filter:brightness(1.1)} }
@keyframes visualFloat { 0%,100%{translate:0 0} 50%{translate:0 -10px} }
@keyframes tagFloatA {0%,100%{transform:translateY(0) rotate(-5deg)} 50%{transform:translateY(-12px) rotate(-2deg)}}
@keyframes tagFloatB {0%,100%{transform:translateY(0) rotate(5deg)} 50%{transform:translateY(9px) rotate(2deg)}}
@keyframes tagFloatC {0%,100%{transform:translateY(0) rotate(4deg)} 50%{transform:translateY(-13px) rotate(1deg)}}
@keyframes slideInSoft {from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:850px){ .hero-grid{min-height:665px} .hero-visual{opacity:.8} }
@media(max-width:620px){
  .brand{font-size:22px}.hero-grid{min-height:unset}.hero-visual{opacity:1;max-height:288px}
  .visual-core{height:37%;width:37%}.planet-ring{border-width:2px}
  .service-card:hover,.js-motion .service-card.reveal.is-visible:hover{transform:none}.service-card{will-change:auto}
  .js-motion .service-card.reveal:nth-child(n){transition-delay:0ms}
}
@media(prefers-reduced-motion:reduce){
  .starfield{display:none}.hero-copy,.hero:before,.hero-ambient,.hero-visual,.visual-outline,.visual-core,.visual-tag{animation:none!important}
  .js-motion .reveal:not(.is-visible){opacity:1;transform:none}
  .service-card:hover{transform:none}
}
