:root{--bg: #fbfbfd;--text: #1d1d1f;--text-secondary: #424245;--text-muted: #86868b;--text-tertiary: #aeaeb2;--accent: #0071e3;--card-bg: #ffffff;--card-border: rgba(0, 0, 0, .04);--card-border-hover: rgba(0, 0, 0, .07);--card-shadow: 0 0 0 .5px rgba(0, 0, 0, .04), 0 2px 4px rgba(0, 0, 0, .02), 0 12px 32px rgba(0, 0, 0, .06), 0 24px 48px rgba(0, 0, 0, .03);--card-shadow-hover: 0 0 0 .5px rgba(0, 0, 0, .05), 0 4px 12px rgba(0, 0, 0, .05), 0 16px 48px rgba(0, 0, 0, .1), 0 32px 64px rgba(0, 0, 0, .05);--tint-blue: rgba(0, 113, 227, .03);--tint-amber: rgba(255, 159, 10, .025);--tag-bg: rgba(0, 0, 0, .04);--tag-border: rgba(0, 0, 0, .06);--dark-gradient: linear-gradient(145deg, #1d1d1f 0%, #2d2d30 100%);--radius-card: 16px;--ease-apple: cubic-bezier(.25, .1, .25, 1);--ease-out-soft: cubic-bezier(.23, 1, .32, 1);--font-sans: "Inter", system-ui, -apple-system, sans-serif}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;overflow-x:clip}::selection{background:#0071e326;color:var(--text)}.page-bg{position:fixed;inset:0;z-index:0;pointer-events:none}.grid-canvas{position:absolute;inset:0;width:100%;height:100%;mask-image:radial-gradient(ellipse 120% 90% at 50% 0%,black 40%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 120% 90% at 50% 0%,black 40%,transparent 100%)}.page-bg:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 40% at 18% 0%,var(--tint-blue),transparent 70%),radial-gradient(ellipse 50% 35% at 85% 8%,var(--tint-amber),transparent 70%)}.wrap{position:relative;z-index:1;max-width:1100px;margin:0 auto;padding:0 clamp(20px,5vw,48px)}.hero{padding-top:clamp(64px,12vh,96px);padding-bottom:clamp(40px,7vh,64px);text-align:center;display:flex;flex-direction:column;align-items:center;gap:24px}.hero-title{margin:0;font-size:clamp(2.5rem,11vw,4rem);font-weight:700;letter-spacing:-.025em;line-height:1.05}.hero-title .word{display:inline-block;white-space:nowrap}.hero-title .char{display:inline-block}.hero-sub{margin:0;font-size:1.0625rem;line-height:1.5;color:var(--text-secondary);max-width:62ch;text-wrap:balance}.bento{display:grid;grid-template-columns:1fr;gap:16px;padding-bottom:24px}@media(min-width:640px){.bento{grid-template-columns:repeat(2,1fr)}.card-identity{grid-column:span 2}}@media(min-width:960px){.bento{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,208px)}.card-identity{grid-column:1 / 3;grid-row:1 / 3}.card-conseil{grid-column:3 / 5;grid-row:1}.card-services{grid-column:3 / 5;grid-row:2}}.card{position:relative;overflow:hidden;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-card);box-shadow:var(--card-shadow);padding:24px;min-height:168px;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;transition:transform .3s var(--ease-apple),box-shadow .3s var(--ease-apple),border-color .3s var(--ease-apple)}@media(hover:hover){.card:hover{transform:translateY(-4px);box-shadow:var(--card-shadow-hover);border-color:var(--card-border-hover)}}.card-title{margin:0;font-size:1.0625rem;font-weight:600;letter-spacing:-.01em;color:var(--text)}.card-desc{margin:0;font-size:.9375rem;line-height:1.5;color:var(--text-muted)}.card-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.tag{display:inline-block;padding:5px 12px;border-radius:100px;font-size:.8125rem;font-weight:500;color:var(--text);background:var(--tag-bg);border:1px solid var(--tag-border)}.card-copy{position:relative;z-index:2;display:flex;flex-direction:column;gap:6px}.ascii-bg{position:absolute;inset:0;z-index:1;pointer-events:none}.tw-char{display:none}.tw-char.on{display:inline-block}.tw-cursor{display:inline-block;width:3px;height:.85em;margin-left:2px;border-radius:2px;background:currentColor;vertical-align:text-bottom;opacity:.4;animation:cursor-pulse 1.1s step-end infinite}@keyframes cursor-pulse{0%,to{opacity:.4}50%{opacity:0}}.card-identity{justify-content:flex-start;min-height:400px;gap:0}.card-identity:after{content:"";position:absolute;inset:0;border-radius:var(--radius-card);opacity:.45;transition:opacity .6s var(--ease-apple);pointer-events:none;z-index:0;background-image:linear-gradient(rgba(0,0,0,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.05) 1px,transparent 1px),linear-gradient(rgba(0,0,0,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.02) 1px,transparent 1px);background-size:80px 80px,80px 80px,16px 16px,16px 16px;mask-image:radial-gradient(ellipse 80% 70% at 50% 50%,black 20%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 50%,black 20%,transparent 75%)}@media(hover:hover){.card-identity:hover:after{opacity:1}}.card-services{--glow-color: rgba(180, 155, 255, .08)}.card-services:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(circle at var(--mx, 50%) var(--my, 50%),var(--glow-color) 0%,transparent 50%)}@media(hover:hover){.card-services:hover:before{opacity:1}}.id-figure{position:relative;z-index:2;width:clamp(170px,46%,230px);aspect-ratio:1;margin:6px auto 0;display:flex;align-items:center;justify-content:center}.construction{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#00000024;stroke-width:1}.construction circle{stroke-dasharray:100;stroke-dashoffset:100;animation:draw-circle 1.1s var(--ease-apple) .95s forwards}@keyframes draw-circle{to{stroke-dashoffset:0}}.construction line{opacity:0;animation:line-in .4s ease 1.9s forwards}@keyframes line-in{to{opacity:1}}.id-sketch{position:relative;width:88%;height:auto;clip-path:inset(0 100% 0 0);animation:sketch-in .9s var(--ease-apple) 1.05s forwards}@keyframes sketch-in{to{clip-path:inset(0 0 0 0)}}.id-cote{position:relative;z-index:2;display:block;width:150px;height:12px;margin:4px auto 0;overflow:visible;stroke:#c2c2c6;stroke-width:1}.id-cote text{fill:#aeaeb2;stroke:none;font-family:SF Mono,ui-monospace,monospace;font-size:8px;letter-spacing:.5px}.globe-wrap{position:absolute;left:50%;bottom:0;transform:translate(-50%,42%);width:min(280px,85%);aspect-ratio:1;z-index:1;pointer-events:none;mask-image:radial-gradient(circle at 50% 30%,black 45%,transparent 75%);-webkit-mask-image:radial-gradient(circle at 50% 30%,black 45%,transparent 75%)}.globe-canvas{width:100%;height:100%;opacity:0;animation:globe-fade-in 1.5s ease .9s forwards}.globe-fallback{display:none;position:absolute;inset:6%;width:88%;height:88%;fill:none;stroke:#0000002e;stroke-width:1}.globe-fallback ellipse{stroke-dasharray:4 6}.globe-fallback .globe-fallback-marker{fill:#e8594c;stroke:none}.globe-wrap.no-webgl .globe-canvas{display:none}.globe-wrap.no-webgl .globe-fallback{display:block}@keyframes globe-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.identity-meta{position:relative;z-index:3;margin-top:auto;display:flex;flex-direction:column;gap:2px}.identity-name{margin:0;font-size:.9375rem;font-weight:600;letter-spacing:-.01em;color:var(--text)}.identity-place{margin:0;font-size:.8125rem;color:var(--text-muted)}.card-services{background:linear-gradient(135deg,#0a0a0f,#1e1e2e 60%,#2d1b4e);border-color:#ffffff14;box-shadow:0 4px 24px #00000040,inset 0 1px #ffffff0d}@media(hover:hover){.card-services:hover{transform:translateY(-4px);border-color:#b49bff59;box-shadow:0 12px 40px #2d1b4e73,inset 0 1px #ffffff14}}.ai-glow-border{position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(180,155,255,.5),rgba(122,92,255,.2),transparent 60%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none;z-index:1}.services-title{color:#f5f5f7}.services-sub{color:#98989d}.plate{position:absolute;inset:10px;pointer-events:none;z-index:3}.plate:before,.plate:after{content:"";position:absolute;width:10px;height:10px;border-color:var(--plate-mark, rgba(0, 0, 0, .18));border-style:solid}.plate:before{top:0;left:0;border-width:1px 0 0 1px}.plate:after{bottom:0;right:0;border-width:0 1px 1px 0}.card-services .plate{--plate-mark: rgba(255, 255, 255, .22)}.plate-label{position:absolute;top:13px;right:16px;z-index:3;pointer-events:none;font-family:SF Mono,ui-monospace,monospace;font-size:9px;letter-spacing:.6px;text-transform:uppercase;color:#aeaeb2}.card-services .plate-label{color:#ffffff59}.card-conseil:after{content:"";position:absolute;right:0;bottom:0;width:56px;height:56px;pointer-events:none;background:repeating-linear-gradient(45deg,rgba(0,0,0,.05) 0,rgba(0,0,0,.05) 1px,transparent 1px,transparent 7px);clip-path:polygon(100% 0,100% 100%,0 100%);border-radius:0 0 var(--radius-card) 0}.lang-selector{position:absolute;top:20px;right:clamp(20px,5vw,48px);z-index:5;display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600;letter-spacing:.5px}.lang-selector a{color:var(--text-muted);text-decoration:none;padding:4px 6px;border-radius:4px;opacity:.6;transition:color .3s,opacity .3s}@media(hover:hover){.lang-selector a:hover{opacity:1}}.lang-selector a.active{opacity:1;color:var(--accent)}.lang-separator{color:var(--text-muted);opacity:.3;font-weight:300}.footer{padding:40px 0 48px;text-align:center;display:flex;flex-direction:column;gap:4px}.footer p{margin:0;font-size:.8125rem;color:var(--text-muted)}.footer .footer-note{color:var(--text-tertiary)}@keyframes char-in{0%{opacity:0;filter:blur(10px);transform:translateY(15px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}.hero-title .char{opacity:0;animation:char-in .5s var(--ease-apple) both;animation-delay:calc(.15s + var(--i) * 35ms)}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;animation:fade-up .5s var(--ease-apple) both;animation-delay:var(--d, .6s)}@keyframes card-in{0%{opacity:0;transform:translate(var(--dx, 0),var(--dy, 24px)) scale(.97)}to{opacity:1;transform:translate(0) scale(1)}}.card{opacity:0;animation:card-in .7s var(--ease-out-soft) both;animation-delay:calc(.55s + var(--i, 0) * .06s)}@media(prefers-reduced-motion:reduce){.hero-title .char,.reveal,.card,.globe-canvas,.tw-cursor,.id-sketch,.construction circle,.construction line{animation:none;opacity:1;filter:none;transform:none;transition:none}.construction circle{stroke-dashoffset:0}.id-sketch{clip-path:none}.tw-char{display:inline-block}.card:hover,.card-identity:hover{transform:none}.card-identity:after{transition:none}}
