@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

:root{color-scheme:dark;--bg:#0e0f12;--surface:#202228;--surface-2:#292b32;--line:#303139;--text:#f5f6fa;--muted:#b7b9c3;--blue:#7e99f5;--blue-2:#557ef1;font-family:Inter,Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-size:16px;line-height:1.55;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 50% 45%,rgba(38,43,63,.16),transparent 58%);pointer-events:none;z-index:-1}
a{color:inherit;text-decoration:none}
button{font:inherit}
button,a{ -webkit-tap-highlight-color:transparent }
a:focus-visible,button:focus-visible{outline:2px solid #a9bbff;outline-offset:4px}
.skip-link{position:absolute;top:-80px;left:16px;z-index:100;background:#fff;color:#111;padding:10px 14px;border-radius:8px}
.skip-link:focus{top:12px}
.container{width:min(1190px,calc(100% - 80px));margin-inline:auto}
.site-header{height:86px;position:sticky;top:0;z-index:50;background:rgba(10,11,14,.86);border-bottom:1px solid rgba(255,255,255,.075);backdrop-filter:blur(22px)}
.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:flex;align-items:center;gap:8px;min-width:180px;line-height:1}
.brand-mark{position:relative;font-weight:900;font-size:39px;letter-spacing:-.16em;transform:skew(-9deg);padding-right:5px}
.brand-cut{color:var(--blue);font-size:25px;position:absolute;right:1px;bottom:1px}
.brand-name{font-size:20px;font-weight:800;letter-spacing:-.055em}
.brand-name small{display:block;margin-top:5px;font-size:7px;letter-spacing:.18em;font-weight:700;color:#b6b8c2;white-space:nowrap}
.main-nav{height:100%;display:flex;align-items:center;gap:32px}
.main-nav a{position:relative;font-size:14px;color:#b9bac1;white-space:nowrap;transition:color .2s}
.main-nav a:hover,.main-nav a[aria-current]{color:#fff}
.main-nav a[aria-current]::after{content:"";position:absolute;left:0;right:0;bottom:-33px;height:2px;background:#fff}
.header-cta,.pill-button{display:inline-flex;align-items:center;justify-content:center;gap:15px;background:linear-gradient(120deg,#a8bfff,#4f78ed);border-radius:99px;padding:16px 20px;min-height:48px;color:#101621;font-size:13px;font-weight:700;white-space:nowrap;transition:transform .2s,filter .2s}
.header-cta:hover,.pill-button:hover{transform:translateY(-2px);filter:brightness(1.08)}
.header-cta span,.pill-button span{font-size:19px;font-weight:400;line-height:0}
.menu-toggle{display:none}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{line-height:1.13;letter-spacing:-.055em}
h1 span,h2 span{background:linear-gradient(95deg,#c6d1fd 0%,#92a8f6 48%,#5a80ed 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{font-size:12px!important;font-weight:800!important;letter-spacing:.19em;color:#93a9fa!important;text-transform:uppercase}
.hero{padding-top:112px}
.hero-top{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px}
.hero-top h1{font-size:clamp(46px,5vw,74px);font-weight:750;line-height:1.08;margin:0;max-width:860px}
.hero-top p{font-size:17px;line-height:1.55;color:var(--muted);max-width:285px;text-align:right;margin:0 0 4px}
.hero-stage{height:520px;position:relative;border-radius:25px;overflow:hidden;background:linear-gradient(145deg,#25262b 0%,#22242a 61%,#202127);border:1px solid rgba(255,255,255,.045);display:grid;place-items:center}
.hero-stage::before,.hero-stage::after{content:"";position:absolute;border:1px solid rgba(255,255,255,.045);border-radius:50%;width:540px;height:540px;transform:rotate(-22deg) scaleX(1.5)}
.hero-stage::after{width:330px;height:330px;border-color:rgba(142,161,247,.08)}
.stage-glow{position:absolute;width:620px;height:330px;border-radius:50%;background:rgba(111,133,237,.09);filter:blur(85px)}
.stage-logo{position:relative;z-index:1;font-size:clamp(74px,12vw,170px);font-weight:850;letter-spacing:-.105em;line-height:.9;text-shadow:0 0 40px rgba(115,141,255,.15);padding-right:.1em}
.stage-logo>span,.footer-logo>span,.empty-mark>span{color:#89a1fb}
.stage-logo small{display:block;text-align:center;letter-spacing:.38em;font-size:clamp(9px,1vw,13px);font-weight:700;color:#cbd1e9;margin-top:23px;margin-left:14px}
.stage-bottom{position:absolute;z-index:2;bottom:23px;left:20px;right:20px;display:flex;align-items:end;justify-content:space-between;gap:20px}
.stage-index{font-size:11px;letter-spacing:.18em;font-weight:800;color:#b7b9c9;padding:0 0 9px 10px}
.hero-tags{display:flex;gap:8px;flex-wrap:wrap;justify-content:end;max-width:650px}
.hero-tags a{font-size:11px;font-weight:800;letter-spacing:.09em;padding:9px 12px;background:#111217;border:1px solid #35373f;border-radius:8px;transition:background .2s}
.hero-tags a:hover{background:#353c58}
.section-space{padding-top:142px;padding-bottom:40px}
.section-heading{text-align:center;max-width:750px;margin:auto}
.section-heading h2,.split-title h2,.about-copy h2,.section-head-row h2,.portfolio-teaser h2,.cta-panel h2,.prose-block h2,.contact-panel h2,.portfolio-empty h2{font-size:clamp(39px,4.2vw,62px);font-weight:750;margin:13px 0 24px}
.section-heading p:last-child{max-width:540px;margin:0 auto;color:var(--muted);font-size:18px}
.expertise-rail{margin-top:68px;border-block:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:24px 0;color:#9498aa;font-size:clamp(13px,1.5vw,20px);font-weight:750;letter-spacing:.08em}
.split-section{display:grid;grid-template-columns:34% 1fr;gap:66px;align-items:center}
.split-title>p:not(.eyebrow){max-width:400px;color:var(--muted);font-size:18px}
.text-link{display:inline-flex;align-items:center;gap:12px;text-transform:uppercase;font-size:13px;font-weight:800;letter-spacing:.1em;border-bottom:1px solid currentColor;padding-bottom:5px;margin-top:24px;transition:gap .2s,color .2s}
.text-link:hover{gap:19px;color:#9bb1ff}
.text-link span{font-size:22px;font-weight:400;line-height:1}
.split-cards{display:grid;gap:18px}
.feature-card{border-radius:22px;padding:30px;background:linear-gradient(130deg,#25272e,#1e2026);border:1px solid #34363f;min-height:270px;box-shadow:0 20px 40px rgba(0,0,0,.1)}
.feature-symbol{font-size:12px;letter-spacing:.14em;font-weight:800;color:#98abf6;margin-bottom:20px}
.feature-card h3{font-size:29px;margin-bottom:13px}
.feature-card p{color:#c0c2cb;max-width:580px}
.mini-list{display:flex;gap:9px;flex-wrap:wrap;margin-top:31px}
.mini-list span{background:#2f323b;border:1px solid #3c3f4b;padding:8px 12px;border-radius:12px;font-size:12px;color:#d1d3dc}
.about-teaser{display:grid;grid-template-columns:1.02fr .98fr;gap:80px;align-items:center;border-top:1px solid #24262b;margin-top:100px}
.about-art{position:relative;overflow:hidden;height:450px;border-radius:23px;background:radial-gradient(circle at 50% 50%,#3c486e,#202229 58%,#1b1d23 85%);border:1px solid #353743;display:grid;place-items:center}
.about-art>span{font-size:clamp(66px,8vw,118px);font-weight:850;letter-spacing:-.09em;color:rgba(255,255,255,.9);transform:rotate(-90deg)}
.art-grid{position:absolute;inset:0;opacity:.25;background-image:linear-gradient(#8ca0ec44 1px,transparent 1px),linear-gradient(90deg,#8ca0ec44 1px,transparent 1px);background-size:35px 35px;mask-image:linear-gradient(to bottom,transparent,#000 40%,transparent)}
.about-copy>p:not(.eyebrow){color:var(--muted);font-size:18px;max-width:500px}
.section-head-row{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:35px}
.section-head-row h2{margin-bottom:0}
.section-head-row .text-link{margin-bottom:7px}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.service-card{min-height:275px;padding:30px;border-radius:21px;background:linear-gradient(140deg,#25272d,#1c1e24);border:1px solid #33353d;transition:transform .22s,border-color .22s}
.service-card:hover{transform:translateY(-4px);border-color:#6c81c5}
.service-top{display:flex;align-items:start;justify-content:space-between;color:#9ba3bc;font-size:11px;letter-spacing:.15em;font-weight:800}
.service-icon{font-size:34px;color:#98adff;line-height:1}
.service-card h3{font-size:30px;margin:55px 0 11px}
.service-card h3 span{color:#8ba4ff}
.service-card p{font-size:15px;color:var(--muted);max-width:440px;margin:0}
.portfolio-teaser{border-top:1px solid var(--line);padding-top:90px;display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:70px}
.portfolio-teaser p:not(.eyebrow){color:var(--muted);max-width:490px;font-size:17px}
.portfolio-graphic{height:360px;position:relative;border-radius:22px;overflow:hidden;background:linear-gradient(140deg,#303857,#1d202c 65%,#191b20);border:1px solid #333a4e;display:grid;place-items:center}
.portfolio-graphic::after{content:"";position:absolute;width:450px;height:450px;border:1px solid #889ffc44;border-radius:50%;box-shadow:0 0 0 65px #889ffc0d,0 0 0 135px #889ffc09}
.portfolio-graphic span:first-child{font-weight:850;font-size:190px;line-height:1;letter-spacing:-.1em;color:#d2dcff;text-shadow:0 0 70px #7b9cfa55}
.portfolio-graphic span:last-child{position:absolute;bottom:22px;left:26px;font-size:11px;font-weight:800;letter-spacing:.16em;color:#c8d1ef}
.cta-panel{min-height:300px;padding:56px 65px;display:flex;align-items:end;justify-content:space-between;gap:30px;background:linear-gradient(125deg,#252b3e,#1d2333 55%,#303d67);border:1px solid #454f75;border-radius:25px;position:relative;overflow:hidden}
.cta-panel::before{content:"A";position:absolute;right:17%;top:-120px;font-size:430px;font-weight:850;color:#ffffff09;line-height:1;pointer-events:none}
.cta-panel>*{position:relative;z-index:1}
.cta-panel h2{margin-bottom:0}
.footer{margin-top:130px;padding-top:68px;border-top:1px solid #292b31;background:#101115}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:55px;padding-bottom:65px}
.footer-logo{font-size:38px;font-weight:850;letter-spacing:-.09em}
.footer p{color:#a7a9b4;max-width:340px;font-size:15px;margin-top:14px}
.footer h3{font-size:15px;letter-spacing:-.02em;margin:9px 0 17px}
.footer-grid>div:nth-child(n+2)>a,.footer-grid #footer-contact>*{display:block;color:#aeb0bb;font-size:14px;margin:10px 0}
.footer a:hover{color:#fff}
.social-links{display:flex;gap:20px;margin-top:24px;font-size:13px}
.footer-bottom{border-top:1px solid #292b31;display:flex;justify-content:space-between;padding:22px 0;color:#888b97;font-size:12px}
.page-intro{padding-top:130px;padding-bottom:55px;border-bottom:1px solid #262830}
.page-intro h1{font-size:clamp(50px,6.1vw,88px);max-width:1040px;margin:19px 0 25px}
.intro-copy{color:var(--muted);font-size:19px;max-width:660px}
.about-page-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:100px;align-items:center}
.statement-card{min-height:560px;border-radius:24px;background:linear-gradient(150deg,#333e61,#20232e 55%,#1d1e24);border:1px solid #41485d;padding:40px;display:flex;flex-direction:column;justify-content:space-between}
.statement-card>span{letter-spacing:.18em;font-size:12px;color:#bac8fb;font-weight:700}
.statement-card strong{font-size:clamp(55px,6.5vw,94px);line-height:1;letter-spacing:-.075em}
.statement-card em{font-style:normal;color:#a1b5ff}
.prose-block p:not(.eyebrow){font-size:17px;color:var(--muted);max-width:610px;margin-bottom:22px}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.steps-grid article{min-height:245px;border:1px solid var(--line);background:#1c1e24;border-radius:19px;padding:26px}
.steps-grid b{font-size:13px;color:#99adfa}
.steps-grid h3{font-size:23px;margin:45px 0 12px}
.steps-grid p{color:var(--muted);font-size:15px;margin:0}
.process-card{min-height:0}
.process-line{display:flex;gap:22px;padding:18px 0;border-bottom:1px solid #393b45}
.process-line:last-child{border-bottom:0}
.process-line b{color:#a3b4fd;font-size:14px}
.process-line h3{font-size:21px;margin:0 0 6px}
.process-line p{font-size:14px;margin:0}
.portfolio-empty{border-radius:25px;min-height:460px;display:grid;grid-template-columns:.7fr 1fr;align-items:center;gap:65px;padding:60px;background:linear-gradient(140deg,#252832,#191b21);border:1px solid #343741}
.empty-mark{font-size:clamp(140px,20vw,310px);font-weight:850;letter-spacing:-.13em;line-height:1;text-align:center;text-shadow:0 0 100px #6787ee55}
.portfolio-empty p:not(.eyebrow){color:var(--muted);font-size:17px}
.contact-grid{display:grid;grid-template-columns:1fr .85fr;gap:18px}
.contact-panel,.contact-visual{min-height:510px;padding:50px;border-radius:23px;border:1px solid #343741;background:#22252d}
.contact-panel p:not(.eyebrow){color:var(--muted);font-size:17px;max-width:420px}
.contact-details{margin-top:65px;border-top:1px solid #3a3d49;padding-top:20px;display:grid;gap:12px}
.contact-details a{font-size:20px;font-weight:700;overflow-wrap:anywhere}
.contact-details span{color:#b9bbc6}
.contact-visual{background:radial-gradient(circle at 45% 50%,#465b9d,#242b44 45%,#1b1d27 80%);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}
.contact-visual::before,.contact-visual::after{content:"";position:absolute;width:330px;height:330px;border:1px solid #b8c7ff35;border-radius:50%;transform:scaleX(1.6)}
.contact-visual::after{width:500px;height:500px}
.contact-visual span{font-size:clamp(60px,7vw,110px);font-weight:850;letter-spacing:-.1em;z-index:1}
.contact-visual small{font-size:11px;letter-spacing:.19em;color:#d0dbff;z-index:1}
@media(max-width:1100px){.main-nav{gap:19px}.main-nav a{font-size:13px}.header-cta{display:none}.hero-top h1{font-size:clamp(43px,5.5vw,65px)}}
@media(max-width:800px){.container{width:min(100% - 36px,620px)}.site-header{height:72px}.brand{min-width:0}.brand-mark{font-size:31px}.brand-name{font-size:17px}.brand-name small{font-size:6px}.menu-toggle{display:flex;width:45px;height:45px;padding:12px;flex-direction:column;justify-content:space-around;border:1px solid #3b3e49;border-radius:12px;background:#242630;color:white;cursor:pointer}.menu-toggle span{height:2px;width:100%;background:currentColor;border-radius:2px}.main-nav{display:none;position:absolute;top:71px;left:0;right:0;height:auto;padding:20px 18px 26px;background:#15161b;border-bottom:1px solid #3c3d47;box-shadow:0 25px 35px #0008;flex-direction:column;align-items:stretch;gap:0}.main-nav.is-open{display:flex}.main-nav a{font-size:17px;padding:13px 10px}.main-nav a[aria-current]::after{left:10px;right:auto;bottom:7px;width:45px}.hero{padding-top:68px}.hero-top{display:block}.hero-top h1{font-size:clamp(39px,8.6vw,62px)}.hero-top p{text-align:left;max-width:450px;margin-top:22px}.hero-stage{height:410px}.stage-logo{font-size:clamp(67px,13vw,115px)}.stage-bottom{display:block}.stage-index{display:none}.hero-tags{justify-content:start}.hero-tags a{font-size:10px}.section-space{padding-top:95px;padding-bottom:18px}.expertise-rail{overflow-x:auto;gap:30px;white-space:nowrap}.split-section,.about-teaser,.portfolio-teaser,.about-page-grid,.portfolio-empty,.contact-grid{grid-template-columns:1fr;gap:30px}.about-teaser{margin-top:75px}.about-art{height:340px}.about-copy{padding-top:10px}.section-head-row{align-items:start;flex-direction:column}.section-head-row .text-link{margin-top:4px}.cta-panel{padding:35px;min-height:0;align-items:start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-grid>div:first-child{grid-column:1/-1}.page-intro{padding-top:85px}.statement-card{min-height:460px}.portfolio-empty{padding:34px}.empty-mark{font-size:190px}.contact-visual{min-height:310px}.contact-panel{min-height:400px}.steps-grid{grid-template-columns:1fr;gap:12px}.steps-grid article{min-height:0}.steps-grid h3{margin-top:27px}}
@media(max-width:560px){.hero-stage{height:400px}.stage-logo{font-size:clamp(56px,15vw,80px)}.stage-logo small{font-size:8px;margin-top:18px}.hero-tags{max-width:330px}.service-grid{grid-template-columns:1fr}.service-card{min-height:230px}.service-card h3{margin-top:36px}.feature-card{padding:24px}.section-heading h2,.split-title h2,.about-copy h2,.section-head-row h2,.portfolio-teaser h2,.cta-panel h2,.prose-block h2,.contact-panel h2,.portfolio-empty h2{font-size:clamp(35px,9vw,48px)}.page-intro h1{font-size:clamp(45px,10vw,65px)}.footer-grid{grid-template-columns:1fr 1fr}.footer-bottom{gap:10px;flex-wrap:wrap}.portfolio-graphic{height:280px}.contact-panel,.contact-visual{padding:30px}.contact-details a{font-size:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
