@charset "UTF-8";
:root{color-scheme:dark;--bg:#0c0d13;--surface:#12131c;--text:#f5f4f8;--muted:#a3a3b3;--accent:#bc9cff;--border:#ffffff1c;--font:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}p,li,dd,a{overflow-wrap:anywhere}img{max-width:100%}.about-grid>*,.contact-grid>*,.legal-content>*,.service-grid>*,.steps>*{min-width:0}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:#bc9cff;color:#0c0d13}h1,h2,h3,p{margin:0}h1,h2,h3{overflow-wrap:anywhere;font-weight:500;line-height:1.08}ul,ol{margin:0;padding:0;list-style:none}.container{width:min(1280px,calc(100% - 112px));margin-inline:auto}.section{padding-block:72px}.muted{color:#878793}.section-label,.eyebrow{font-size:.8125rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase}.section-label{color:var(--muted)}h2{font-size:clamp(2.2rem,4vw,3.75rem);letter-spacing:-.04em}.skip-link{position:fixed;z-index:20;top:10px;left:10px;transform:translateY(-180%);padding:10px 18px;background:var(--accent);color:var(--bg)}.skip-link:focus{transform:translateY(0)}
.header{position:relative;z-index:10;border-bottom:1px solid var(--border);background:#0c0d13}.header-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:36px;min-height:96px}.wordmark{display:inline-flex;align-items:center;font-size:1.55rem;letter-spacing:.045em;font-weight:700;line-height:1}.brand-period{color:var(--accent)}.brand-mark{display:inline-grid;place-items:center;width:28px;height:32px;margin-right:12px;background:var(--accent);color:var(--bg);font-size:1.5rem;font-weight:800}.main-nav{display:flex;flex-wrap:wrap;align-items:center;gap:34px;font-size:.875rem}.main-nav>a{transition:color .2s}.main-nav>a:hover{color:var(--accent)}.nav-contact{border:1px solid #ffffff40;border-radius:5px;padding:11px 17px}.nav-contact span{margin-left:20px}.menu-toggle{display:none;border:1px solid var(--border);border-radius:4px;background:transparent;color:var(--text);padding:8px 12px}.menu-toggle[hidden]{display:none}
/* A shared light field integrates the sculpture with the page. */
.hero{position:relative;isolation:isolate;overflow:hidden;border-bottom:1px solid var(--border);background:radial-gradient(ellipse at 80% 42%,#6b3aac0c,transparent 58%)}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(#bc9cff0a 1px,transparent 1px),linear-gradient(90deg,#bc9cff0a 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse at 76% 40%,#000,transparent 68%);-webkit-mask-image:radial-gradient(ellipse at 76% 40%,#000,transparent 68%)}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);align-items:center;gap:clamp(24px,3vw,48px);padding-block:64px 48px}
.hero-content{position:relative;z-index:2;min-width:0}
.eyebrow{display:flex;align-items:center;gap:12px;color:#d4c7ed}
.short-line{display:block;flex:0 0 28px;height:1px;background:var(--accent)}
h1{margin-top:30px;font-size:clamp(2.5rem,4.6vw,4.75rem);letter-spacing:-.055em;line-height:1.06}
h1>span{color:var(--accent)}
.hero-description{max-width:495px;margin-top:28px;color:#b8b7c6;font-size:1.0625rem;line-height:1.7}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;max-width:100%;padding:16px 23px;min-height:56px;border-radius:5px;font-size:.9375rem;font-weight:600;transition:background .2s,transform .2s}
.button span{flex-shrink:0}.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--accent);color:#151021}.button-primary:hover{background:#cbb2ff}
.hero .button{margin-top:32px}
.hero-art{position:relative;isolation:isolate;min-width:0;width:100%;margin:0;align-self:center;pointer-events:none}
.hero-art::before{content:"";position:absolute;inset:8% -8%;z-index:-1;background:radial-gradient(ellipse,#8655d82d,transparent 67%);filter:blur(24px);animation:ambient-light 10s ease-in-out infinite alternate}
.hero-object{position:relative;transform:translate3d(var(--scene-x,0px),var(--scene-y,0px),0);transition:transform 700ms cubic-bezier(.2,.65,.3,1)}
.hero-art img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:center;mix-blend-mode:screen;mask-image:radial-gradient(ellipse 70% 68% at 50% 46%,#000 36%,#000d 58%,transparent 76%);-webkit-mask-image:radial-gradient(ellipse 70% 68% at 50% 46%,#000 36%,#000d 58%,transparent 76%)}
.hero-grid::after{content:"";position:absolute;left:52%;right:4%;bottom:26px;height:1px;background:linear-gradient(90deg,transparent,#bc9cff50,transparent);transform-origin:left;animation:signal-line 9s ease-in-out infinite;pointer-events:none}
@keyframes ambient-light{from{opacity:.45;transform:scale(.94)}to{opacity:.85;transform:scale(1.06)}}
@keyframes signal-line{0%,25%,100%{opacity:0;transform:scaleX(.15)}45%{opacity:.5}70%{opacity:0;transform:scaleX(1)}}
.hero-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;min-height:82px;padding-block:20px;border-top:1px solid var(--border);font-size:.8125rem;color:#a7a5b5}
.hero-bottom a{color:#ddd9e7}.hero-bottom a span{margin-left:20px;color:var(--accent)}
.about{background:#0f1017}.about-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:30px 64px;align-items:start}.about .section-label{margin-bottom:18px}.about h2{font-size:clamp(2rem,3.4vw,3.2rem)}.about-copy{display:grid;gap:16px;margin-top:5px;color:#babac7}.principles{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:16px 28px;margin-top:0;padding-top:20px;border-top:1px solid var(--border);font-size:.875rem;color:#e1dce9}.principles span::before{content:'/';color:var(--accent);margin-right:12px}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:48px}.section-heading .section-label{margin-bottom:24px}.section-heading>p{color:var(--muted);font-size:.9375rem;line-height:1.65}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.service-card{padding:36px 38px 40px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.service-software{background:linear-gradient(145deg,#242031,#17151f)}.service-media{background:linear-gradient(145deg,#14141e,#191620)}.card-top{display:flex;align-items:center;gap:14px;min-height:28px;margin-bottom:34px}.service-number{flex-shrink:0;font-size:.8125rem;color:var(--accent)}.service-category{min-width:0;overflow-wrap:anywhere;font-size:.8125rem;color:#b0abbe}.service-symbol{flex-shrink:0;margin-left:auto;color:#c9b4ef;font-size:1.75rem;line-height:1}.service-card h3{font-size:clamp(1.65rem,2.4vw,2.5rem);letter-spacing:-.035em;line-height:1.18;max-width:430px}.service-card>p{color:#afadbd;line-height:1.7;margin-top:22px;max-width:470px}.service-card ul{margin-top:28px;padding-top:23px;border-top:1px solid var(--border)}.service-card li{position:relative;padding-left:16px;margin-top:9px;font-size:.9375rem;color:#ddd9e5}.service-card li::before{content:'';position:absolute;left:0;top:.74em;width:4px;height:4px;background:var(--accent)}.services-note{display:flex;justify-content:space-between;align-items:center;gap:32px;padding-top:36px;color:var(--muted);font-size:.9375rem}.services-note strong{color:var(--text);font-weight:400}.text-link{display:inline-flex;align-items:center;gap:24px;max-width:100%;color:var(--accent);border-bottom:1px solid #bc9cff60;padding-bottom:7px}.text-link span{flex-shrink:0}.text-link:hover{color:#e0ceff}
.approach{border-top:1px solid var(--border);background:#0f1017}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin-top:60px}.steps li{border-top:1px solid #ffffff2b;padding-top:24px}.step-number{font-size:.875rem;color:var(--accent)}.steps h3{font-size:1.375rem;letter-spacing:-.02em;margin-top:34px}.steps p{font-size:.9375rem;line-height:1.7;margin-top:16px;color:var(--muted)}
.contacts{border-top:1px solid var(--border);background:radial-gradient(ellipse at 0 100%,#21172f 0,transparent 65%),#101017}.contact-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(32px,6vw,88px);align-items:center}.contacts h2{margin-top:26px;font-size:clamp(3rem,5vw,4.8rem);letter-spacing:-.045em}.contacts h2 span{color:var(--accent)}.contact-description{margin-top:28px;color:#b4afbf;font-size:1rem}.contacts .button{margin-top:30px}.contact-details{min-width:0;padding:28px 30px;background:linear-gradient(145deg,#bc9cff0a,#bc9cff02);border:1px solid #bc9cff2b;border-radius:8px}.contact-item{padding:0 0 22px;border-bottom:1px solid #ffffff26}.contact-label{display:block;font-size:.8125rem;color:#a09aa9;margin-bottom:8px}.email{font-size:clamp(1.125rem,1.65vw,1.45rem);line-height:1.5;letter-spacing:-.025em;overflow-wrap:anywhere;color:var(--accent)}.contact-item>a:hover{color:#e0ceff}.contact-brief{padding:20px 0;border-bottom:1px solid #ffffff26}.contact-brief>p:last-child{font-size:.9375rem;line-height:1.65;color:#b8b2c3}.contact-person{margin-top:20px}.contact-person p{font-size:1.125rem;line-height:1.5}.city{display:block;margin-top:8px;font-size:.875rem;color:#a09aa9}
.footer{background:#090a0f;border-top:1px solid var(--border)}.legal-details{border-bottom:1px solid var(--border)}.legal-details summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;cursor:pointer;font-size:.875rem;color:#b4afbf;list-style:none}.legal-details summary::-webkit-details-marker{display:none}.legal-details summary span{font-size:1.5rem;line-height:1;color:var(--accent)}.legal-details[open] summary span{transform:rotate(45deg)}.legal-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:80px;padding:28px 0 46px;font-size:.875rem;color:var(--muted)}.legal-content h3{color:var(--text);font-size:1.125rem;margin-bottom:20px}.legal-content dl{margin:0}.legal-content dl>div{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:14px}.legal-content dd{margin:0;color:#e1dce9}.legal-content dt{min-width:140px}.okved-list li{display:grid;grid-template-columns:7ch minmax(0,1fr);gap:20px;margin-top:12px}.okved-list li>span{color:#e1dce9;white-space:nowrap}.okved-list small{display:block;color:var(--accent);font-size:.75rem;margin-top:3px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:28px;min-height:118px}.footer-bottom .wordmark{font-size:1.25rem}.footer-bottom p,.back-top{font-size:.8125rem;color:#9c96a9}.back-top span{margin-left:18px;color:var(--accent)}
/* Align card titles, descriptions and lists within each desktop pair. */
@supports (grid-template-rows:subgrid){
  @media (min-width:761px){
    .service-card{display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:0}
    .service-card>*{align-self:start}
  }
}

@media(max-width:1100px){.container{width:calc(100% - 64px)}.main-nav{gap:22px}.hero-description{max-width:440px}.section{padding-block:56px}.about-grid{gap:26px 36px}.about-copy{gap:16px}.service-card{padding:30px}.contact-grid{gap:50px}.steps{gap:24px}.legal-content{gap:40px}}
@media(min-width:761px) and (max-width:1099px){
 .hero-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:20px;padding-block:50px 38px}
 h1{font-size:clamp(2.3rem,4.75vw,3.8rem)}
 .hero-description{font-size:1rem}
 .hero-art{width:115%;margin-left:-3%;max-width:none}
 .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:761px) and (max-width:900px){
 .header-inner{gap:0;min-height:82px}
 .menu-toggle:not([hidden]){display:block;flex-shrink:0}
 .main-nav{width:100%;padding:8px 0 20px;gap:12px 24px}
 .js .main-nav{display:none}
 .js .main-nav.is-open{display:flex}
}
@media(max-width:760px){html{scroll-padding-top:24px}.container{width:calc(100% - 40px)}.header-inner{min-height:78px;flex-wrap:wrap;gap:12px;padding-block:16px}.wordmark{font-size:1.3rem}.brand-mark{width:25px;height:29px;margin-right:9px;font-size:1.25rem}.menu-toggle:not([hidden]){display:block;flex-shrink:0}.main-nav{width:100%;padding:6px 0 20px;gap:0;display:flex;flex-wrap:wrap}.main-nav a{padding:10px 12px 10px 0;margin-right:16px}.main-nav .nav-contact{border:0;margin:0}.main-nav .nav-contact span{margin-left:8px}.js .main-nav{display:none}.js .main-nav.is-open{display:flex;flex-direction:column;align-items:stretch;padding-bottom:20px}.js .main-nav a{padding:12px 0}h1{font-size:clamp(2.3rem,8.3vw,4.05rem);letter-spacing:-.045em;margin-top:26px}.eyebrow{font-size:.75rem}.hero-description{font-size:1rem;max-width:490px;margin-top:24px}.hero .button{margin-top:26px}.hero-bottom{min-height:82px;font-size:.75rem;align-items:flex-start;flex-direction:column;justify-content:center;gap:4px}.hero-bottom a span{margin-left:14px}.section{padding-block:44px}.about-grid{grid-template-columns:1fr;gap:24px}.about .section-label{padding:0}.about h2,h2{font-size:clamp(2rem,7.5vw,3.1rem)}.about-copy{grid-template-columns:1fr;gap:16px;margin-top:0}.principles{gap:12px 22px;font-size:.8125rem;margin-top:0}.section-heading{align-items:flex-start;flex-direction:column;gap:22px;margin-bottom:32px}.section-heading .section-label{margin-bottom:20px}.section-heading>p br{display:none}.service-grid{grid-template-columns:1fr;gap:16px}.service-card{padding:26px 24px 30px}.card-top{margin-bottom:28px;gap:12px}.service-card h3{font-size:2rem}.service-card p{font-size:1rem}.service-card li{font-size:.875rem}.service-category{min-width:0;overflow-wrap:anywhere;font-size:.75rem}.services-note{align-items:flex-start;flex-direction:column;gap:20px;padding-top:28px}.steps{grid-template-columns:1fr 1fr;gap:34px 26px;margin-top:36px}.steps h3{font-size:1.25rem;margin-top:22px}.steps p{font-size:.875rem}.contact-grid{grid-template-columns:1fr;gap:34px}.contacts h2{font-size:clamp(2.75rem,10vw,4rem)}.contact-description br{display:none}.contact-details{padding:24px}.email{font-size:clamp(1rem,4.3vw,1.5rem)}.contact-person p br{display:none}.legal-content{grid-template-columns:1fr;gap:34px;padding-top:16px}.footer-bottom{min-height:146px;flex-wrap:wrap;gap:18px;padding:28px 0}.footer-bottom p{order:3;width:100%;font-size:.75rem}.back-top{margin-left:auto}}
/* On phones the sculpture shares the heading row, never a separate bottom panel. */
@media(max-width:760px){
 .hero-grid{grid-template-columns:minmax(min(100%,12rem),1.86fr) minmax(0,1fr);column-gap:0;row-gap:0;padding-block:32px 28px}
 .hero-content{display:contents}
 .hero .eyebrow{grid-column:1/-1;grid-row:1;position:relative;z-index:2;margin-bottom:25px}
 .hero h1{grid-column:1;grid-row:2;position:relative;z-index:2;align-self:center;margin:0;font-size:clamp(1.5rem,6.7vw,2.75rem);line-height:1.12;letter-spacing:-.055em}
 .hero-art{grid-column:2;grid-row:2;width:175%;max-width:none;margin-left:-13%;align-self:center}
 .hero-art img{aspect-ratio:1;mask-image:radial-gradient(ellipse 66% 68% at 50% 47%,#000 34%,#000c 57%,transparent 77%);-webkit-mask-image:radial-gradient(ellipse 66% 68% at 50% 47%,#000 34%,#000c 57%,transparent 77%)}
 .hero-description{grid-column:1/-1;grid-row:3;position:relative;z-index:2;max-width:36rem;margin-top:24px}
 .hero .button{grid-column:1/-1;grid-row:4;justify-self:start;position:relative;z-index:2;margin-top:24px}
 .hero::before{background-size:40px 40px;mask-image:radial-gradient(ellipse at 86% 30%,#000,transparent 64%);-webkit-mask-image:radial-gradient(ellipse at 86% 30%,#000,transparent 64%)}
 .hero-grid::after{left:55%;right:-5%;top:53%;bottom:auto}
 .hero-bottom{position:relative}
}
.service-card{position:relative;transition:border-color .3s,background-color .3s,transform .3s}
.service-card::before{content:"";position:absolute;top:-1px;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent,#bc9cffb3,transparent);opacity:0;transition:opacity .35s}
@media(hover:hover) and (pointer:fine){
 .service-card:hover{border-color:#bc9cff55;transform:translateY(-3px)}
 .service-card:hover::before{opacity:1}
 .button-primary:hover{box-shadow:0 0 28px #bc9cff26}
}

@media(max-width:380px){.container{width:calc(100% - 32px)}.service-card{padding:24px 20px}.service-card h3{font-size:1.7rem}.steps{grid-template-columns:1fr;gap:28px}.steps h3{margin-top:14px}.steps p{margin-top:10px}.button{padding:15px 19px;gap:28px}.service-category{min-width:0;overflow-wrap:anywhere;font-size:.75rem}.principles{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-object{transform:none!important}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{:root{color-scheme:light}body,.about,.approach,.contacts,.footer,.service-card{color:#111;background:#fff!important}.hero-art,.header,.button,.hero-bottom,.back-top,.services-note,.skip-link{display:none!important}.hero-grid{display:block;padding:20px 0}.hero-content{padding:0}.container{width:100%}.section{padding-block:28px}.hero-description,h1>span,.muted,.section-label,.service-card p,.service-card li,.steps p,.about-copy,.contact-description,.contact-label,.city,.service-category,.service-number{color:#333!important}h1{font-size:40px}h2,.contacts h2{font-size:28px}.service-grid{grid-template-columns:1fr 1fr}.service-card{border:1px solid #ccc;padding:20px;break-inside:avoid}.service-card h3{font-size:22px}.contact-grid{gap:30px}.contact-person p{font-size:18px}.legal-details{display:none}.footer-bottom{min-height:50px}.footer-bottom p{color:#333}}

@media print{.contact-details{background:transparent;border-color:#ccc}.contact-brief>p:last-child,.email{color:#333!important}}
