
:root{--paper:#f5f4f2;--white:#fff;--ink:#191721;--muted:#514d5d;--line:#d8d5df;--violet:#6350ba;--ember:#f3b880;--night:#111017}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 'DM Sans',Arial,sans-serif}
a{color:inherit;text-underline-offset:3px}
a:hover{color:var(--violet)}
:focus-visible{outline:3px solid var(--ember);outline-offset:4px}
.en{display:none}
html[lang=en] .fr{display:none}
html[lang=en] .en{display:initial}
.wrap{width:min(1120px,calc(100% - 48px));margin-inline:auto}
.site-header{background:rgba(250,249,252,.96);border-bottom:1px solid var(--line);position:relative;z-index:10}
.header-inner{min-height:76px;display:flex;align-items:center;gap:25px}
.brand{font-weight:700;letter-spacing:-.025em;text-decoration:none;flex:1;white-space:nowrap}
.site-nav{display:flex;align-items:center;gap:26px;font-size:.91rem;font-weight:700;white-space:nowrap}
.language-picker{display:flex;align-items:center;border:1px solid var(--ink);border-radius:22px;padding:3px;gap:2px;flex:none}
.language-picker button{border:0;border-radius:18px;padding:6px 9px;background:transparent;color:var(--ink);font:700 .76rem 'DM Sans',Arial,sans-serif;cursor:pointer}
.language-picker button[aria-pressed=true]{background:var(--ink);color:var(--white)}
.language-picker button:hover:not([aria-pressed=true]){background:#e9e6f1}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:Manrope,Arial,sans-serif}
h1,h2{font-weight:800;letter-spacing:-.055em}
.eyebrow{display:inline-block;margin:0 0 23px;padding:7px 13px;border:1px solid rgba(239,232,255,.28);background:rgba(239,232,255,.11);color:#f0e9ff;font-size:.82rem;font-weight:700;letter-spacing:.04em}
.hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 75% 35%,#35304c 0,#1a1824 43%,#111017 100%);color:#fff}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(151,133,231,.07) 1px,transparent 1px),linear-gradient(rgba(151,133,231,.07) 1px,transparent 1px);background-size:66px 66px;mask-image:linear-gradient(90deg,transparent,#000);pointer-events:none}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:3%;align-items:center;min-height:575px;padding-block:70px 84px}
h1{font-size:clamp(3rem,5.2vw,5.25rem);line-height:1.05;max-width:770px;margin:0 0 26px}
.hero-copy{font-size:1.16rem;line-height:1.58;color:#d9d5e5;max-width:610px;margin:0 0 30px}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:15px 25px}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:11px 20px;border:1px solid var(--ember);border-radius:4px;background:var(--ember);color:#17131d;font-weight:700;text-decoration:none}
.button:hover{background:#ffd0a6;border-color:#ffd0a6;color:#17131d}
.hero-back{font-weight:700;color:#f3e9ff}
.hero-back:hover{color:#fff}
.hero-art{height:450px;position:relative;perspective:680px}
.grid-plane{position:absolute;left:-17%;right:-17%;bottom:-27%;height:108%;transform:rotateX(64deg) rotateZ(-17deg);transform-origin:center bottom;background-image:linear-gradient(rgba(174,155,245,.28) 1px,transparent 1px),linear-gradient(90deg,rgba(174,155,245,.28) 1px,transparent 1px);background-size:45px 45px;border:1px solid rgba(174,155,245,.15);box-shadow:0 0 80px rgba(125,92,240,.12);mask-image:radial-gradient(ellipse at 50% 52%,#000 18%,transparent 72%)}
.art-orbit{position:absolute;border:1px solid rgba(220,202,255,.35);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%) rotateX(65deg) rotate(-18deg)}
.art-orbit-one{width:420px;height:420px}
.art-orbit-two{width:525px;height:525px;border-color:rgba(243,184,128,.24)}
.art-core{position:absolute;width:290px;height:290px;top:71px;left:50%;transform:translateX(-50%) rotate(-8deg);border:1px solid rgba(228,218,255,.38);border-radius:34px;background:linear-gradient(135deg,rgba(253,251,255,.22),rgba(138,112,240,.08));box-shadow:0 40px 100px rgba(0,0,0,.4),inset 0 1px rgba(255,255,255,.3);backdrop-filter:blur(13px);display:grid;place-items:center}
.art-core::before{content:"";position:absolute;inset:14px;border:1px solid rgba(230,216,255,.22);border-radius:25px}
.art-core img{display:block;width:260px;height:260px;object-fit:cover;filter:invert(1);mix-blend-mode:screen}
.art-coordinate{position:absolute;right:4px;bottom:6px;color:#c9bce8;font-size:.72rem;font-weight:700;letter-spacing:.16em}
.proof{background:#17151e;color:#e6e6e6;border-top:1px solid rgba(255,255,255,.14)}
.proof-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding-block:28px}
.proof p{margin:0;font-size:.93rem;line-height:1.45}
.proof strong{display:block;color:#fff;font-size:1.08rem;margin-bottom:3px}
.content-section{padding-block:100px}
.section-intro{max-width:760px;margin-bottom:42px}
.section-kicker{margin:0 0 12px;color:var(--violet);font-size:.8rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
h2{font-size:clamp(2.35rem,4.2vw,4.2rem);line-height:1.14;margin-bottom:16px}
.section-intro>p:last-child{color:var(--muted);font-size:1.07rem;margin:0}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.service-card{min-height:245px;padding:29px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--ink)}
.service-card .num{display:block;color:var(--violet);font-size:.83rem;font-weight:800;letter-spacing:.11em;margin-bottom:27px}
.service-card h3{font-size:1.24rem;line-height:1.28;letter-spacing:-.035em;margin:0 0 12px}
.service-card p{margin:0;color:var(--muted)}
.deliverables{background:#edeaf4}
.deliverable-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.deliverable{border-top:2px solid var(--ink);padding-top:19px}
.deliverable h3{font-size:1.13rem;margin:0 0 8px}
.deliverable p{margin:0;color:var(--muted)}
.process{background:var(--night);color:#fff}
.process .section-kicker{color:var(--ember)}
.process .section-intro>p:last-child{color:#d8d1e5}
.step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.step{border-top:1px solid rgba(255,255,255,.36);padding-top:18px}
.step>span{display:block;color:var(--ember);font:800 2rem/1 Manrope,Arial,sans-serif;margin-bottom:19px}
.step h3{font-size:1.13rem;margin:0 0 7px}
.step p{margin:0;color:#d8d1e5}
.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.related-card{display:flex;flex-direction:column;min-height:185px;padding:25px;background:#fff;border:1px solid var(--line);text-decoration:none}
.related-card strong{font:800 1.18rem/1.3 Manrope,Arial,sans-serif;margin-bottom:9px}
.related-card span{color:var(--muted)}
.related-card .arrow{margin-top:auto;padding-top:20px;color:var(--violet);font-weight:800}
.related-card:hover{border-color:var(--violet);color:var(--ink)}
.contact{background:radial-gradient(circle at 80% 20%,#453269,#1a1626 64%);color:#fff;padding-block:88px}
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center}
.contact h2{margin-bottom:15px}
.contact p{color:#d8d1e5;margin:0}
.contact-panel{padding:30px;border:1px solid rgba(245,235,255,.3);background:rgba(255,255,255,.08);box-shadow:0 35px 85px rgba(0,0,0,.24);backdrop-filter:blur(15px)}
.contact-panel .button{width:100%;margin-bottom:14px}
.contact-panel a:not(.button){display:block;color:#f3e9ff;font-weight:700;text-align:center}
footer{background:#fff;border-top:1px solid var(--line);padding:33px 0}
.footer-inner{display:flex;justify-content:space-between;gap:25px;align-items:start}
.footer-inner p{margin:0;color:var(--muted);font-size:.9rem}
.footer-inner a{font-weight:700}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr 300px}.hero-art{height:390px}.art-core{width:220px;height:220px;top:72px}.art-core img{width:210px;height:210px}.art-orbit-one{width:320px;height:320px}.art-orbit-two{width:390px;height:390px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.wrap{width:min(100% - 36px,1120px)}.header-inner{flex-wrap:wrap;row-gap:0;gap:12px;min-height:70px}.site-nav{order:3;width:100%;overflow-x:auto;padding-bottom:12px;gap:20px}.hero-grid{grid-template-columns:1fr;min-height:0;padding-block:55px 35px}.hero-art{height:285px;margin-top:20px}.art-core{width:175px;height:175px;top:35px}.art-core img{width:170px;height:170px}.art-orbit-one{width:245px;height:245px}.art-orbit-two{width:305px;height:305px}.art-coordinate{right:10px}h1{font-size:clamp(2.7rem,10vw,4.2rem)}.proof-inner,.deliverable-grid,.step-grid,.related-grid,.contact-grid{grid-template-columns:1fr}.proof-inner{gap:15px}.proof p{border-left:2px solid rgba(255,255,255,.27);padding-left:13px}.content-section{padding-block:67px}.service-grid{grid-template-columns:1fr}.service-card{min-height:0}.contact-grid{gap:30px}.footer-inner{display:block}.footer-inner p{margin-top:10px}}
@media(max-width:400px){h1{font-size:2.45rem}.hero-art{height:255px}.art-coordinate{font-size:.6rem}.brand{font-size:.95rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Each service has its own transparent graphic, dissolved into the hero. */
.hero[class*="hero-"]::after{content:"";position:absolute;z-index:0;right:max(2vw,calc((100vw - 1260px)/2));top:50%;width:min(42vw,520px);aspect-ratio:1;transform:translateY(-50%);background:var(--hero-art) center/contain no-repeat;opacity:.44;filter:drop-shadow(0 0 48px rgba(151,121,240,.16));pointer-events:none;mask-image:linear-gradient(90deg,transparent 0%,#000 24%,#000 100%)}
.hero-ads{--hero-art:url('art-ads.svg')}
.hero-social{--hero-art:url('art-social.svg')}
.hero-dev{--hero-art:url('art-dev.svg')}
.hero-ai{--hero-art:url('art-ai.svg')}
.hero[class*="hero-"] .hero-grid{grid-template-columns:minmax(0,1fr);position:relative;z-index:1;min-height:525px}
.hero[class*="hero-"] .hero-grid>div:first-child{max-width:740px}
.hero[class*="hero-"] .hero-art{display:none}
@media(max-width:760px){.hero[class*="hero-"]::after{width:340px;right:-135px;top:54%;opacity:.16}.hero[class*="hero-"] .hero-grid{min-height:0;padding-block:64px 72px}}
