@import "https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,800;1,700&family=Inter:wght@400;500;600&family=Courier+Prime&display=swap";:root{--bg:#ebf0f8;--bg-secondary:#f4f7fc;--text:#0d1e3d;--text-muted:#4a6080;--accent:#0d1e3d;--accent-italic:#1a3a7a;--border:#0d1e3d1f;--btn-bg:#0d1e3d;--btn-text:#ebf0f8;--btn-outline-border:#0d1e3d;--btn-outline-text:#0d1e3d;--diagram-bg:#f0f5ff;--diagram-border:#0d1e3d26;--diagram-line:#1a3a7a;--grid-line:#0d1e3d0d;--stat-num:#0d1e3d;--eyebrow:#1a3a7a;--moon-sun:#0d1e3d;--font-serif:"Playfair Display", Georgia, serif;--font-sans:"Inter", system-ui, sans-serif;--font-mono:"Courier Prime", "Courier New", monospace;--text-hero:clamp(2.8rem, 1.5rem + 4vw, 5.2rem);--text-xl:clamp(1.2rem, 1rem + .5vw, 1.5rem);--text-base:clamp(.95rem, .9rem + .2vw, 1.05rem);--text-sm:.85rem;--space-section:clamp(5rem, 4rem + 4vw, 9rem);--container:min(90vw, 1200px);--duration-fast:.15s;--duration-normal:.3s;--ease-out:cubic-bezier(.16, 1, .3, 1)}[data-theme=nuit]{--bg:#080b14;--bg-secondary:#0e1420;--text:#ddd5c0;--text-muted:#8a7a60;--accent:#c8922a;--accent-italic:#d4a83a;--border:#c8922a2e;--btn-bg:#c8922a;--btn-text:#080b14;--btn-outline-border:#c8922a;--btn-outline-text:#c8922a;--diagram-bg:#0e1420;--diagram-border:#c8922a33;--diagram-line:#c8922a;--grid-line:#c8922a0a;--stat-num:#c8922a;--eyebrow:#c8922a;--moon-sun:#ddd5c0}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);scroll-behavior:smooth;font-size:16px}body{background-color:var(--bg);color:var(--text);transition:background-color var(--duration-normal) var(--ease-out), color var(--duration-normal) var(--ease-out);position:relative;overflow-x:hidden}body:before{content:"";background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);pointer-events:none;z-index:0;transition:background-image var(--duration-normal) var(--ease-out);background-size:80px 80px;position:fixed;inset:0}main,header,footer{z-index:1;position:relative}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}header[data-astro-cid-l7arcky5]{z-index:100;background:var(--bg);border-bottom:1px solid var(--border);transition:background-color var(--duration-normal) var(--ease-out), border-color var(--duration-normal) var(--ease-out);position:sticky;top:0}nav[data-astro-cid-l7arcky5]{max-width:var(--container);align-items:center;gap:2rem;height:64px;margin:0 auto;padding:0 2rem;display:flex}.logo[data-astro-cid-l7arcky5]{font-family:var(--font-serif);color:var(--text);transition:opacity var(--duration-fast);flex-shrink:0;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:700;display:flex}.logo[data-astro-cid-l7arcky5]:hover{opacity:.75}ul[data-astro-cid-l7arcky5]{gap:2rem;margin:0 auto;list-style:none;display:flex}ul[data-astro-cid-l7arcky5] a[data-astro-cid-l7arcky5]{font-size:var(--text-sm);letter-spacing:.02em;color:var(--text-muted);transition:color var(--duration-fast);font-weight:500}ul[data-astro-cid-l7arcky5] a[data-astro-cid-l7arcky5]:hover{color:var(--text)}.nav-actions[data-astro-cid-l7arcky5]{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.btn-primary[data-astro-cid-l7arcky5]{background:var(--btn-bg);color:var(--btn-text);font-family:var(--font-mono);letter-spacing:.08em;transition:opacity var(--duration-fast), background-color var(--duration-normal), color var(--duration-normal);align-items:center;padding:.5rem 1.25rem;font-size:.8rem;display:inline-flex}.btn-primary[data-astro-cid-l7arcky5]:hover{opacity:.85}.btn-lang[data-astro-cid-l7arcky5]{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.1em;border:1px solid var(--border);transition:color var(--duration-fast), border-color var(--duration-fast);background:0 0;align-items:center;padding:.5rem .9rem;font-size:.75rem;display:inline-flex}.btn-lang[data-astro-cid-l7arcky5]:hover{color:var(--text);border-color:var(--text-muted)}.btn-toggle[data-astro-cid-l7arcky5]{color:var(--btn-outline-text);font-family:var(--font-mono);letter-spacing:.06em;border:1px solid var(--btn-outline-border);cursor:pointer;transition:background-color var(--duration-fast), color var(--duration-fast), border-color var(--duration-normal);background:0 0;align-items:center;padding:.5rem 1rem;font-size:.8rem;display:inline-flex}.btn-toggle[data-astro-cid-l7arcky5]:hover{background:var(--btn-bg);color:var(--btn-text)}@media (width<=768px){ul[data-astro-cid-l7arcky5]{display:none}nav[data-astro-cid-l7arcky5]{padding:0 1rem}}.arch-diagram[data-astro-cid-3tqnor4r]{background:var(--diagram-bg);border:1px solid var(--diagram-border);font-family:var(--font-mono);transition:background-color var(--duration-normal) var(--ease-out), border-color var(--duration-normal) var(--ease-out);min-width:340px;padding:2rem}.diagram-label[data-astro-cid-3tqnor4r]{letter-spacing:.12em;color:var(--text-muted);border-top:1px solid var(--diagram-border);border-bottom:1px solid var(--diagram-border);margin-bottom:2rem;padding:.4rem 0;font-size:.65rem}.diagram-body[data-astro-cid-3tqnor4r]{grid-template-columns:auto 2rem auto 3rem auto;align-items:center;gap:0;display:grid;position:relative}.legacy-group[data-astro-cid-3tqnor4r],.output-group[data-astro-cid-3tqnor4r]{flex-direction:column;gap:.5rem;display:flex}.node[data-astro-cid-3tqnor4r]{border:1px solid var(--diagram-border);letter-spacing:.08em;color:var(--text-muted);white-space:nowrap;transition:border-color var(--duration-normal);background:0 0;padding:.35rem .65rem;font-size:.65rem}.node-arch[data-astro-cid-3tqnor4r]{color:var(--text);border-color:var(--text);flex-direction:column;gap:.2rem;padding:.6rem 1rem;display:flex}.node-arch[data-astro-cid-3tqnor4r] strong[data-astro-cid-3tqnor4r]{letter-spacing:.08em;font-size:.7rem;font-weight:700}.node-arch[data-astro-cid-3tqnor4r] span[data-astro-cid-3tqnor4r]{color:var(--text-muted);font-size:.6rem}.arrow-col[data-astro-cid-3tqnor4r]{justify-content:center;align-items:center;display:flex}.arrow-line[data-astro-cid-3tqnor4r]{background:var(--diagram-line);width:100%;height:1px;transition:background-color var(--duration-normal);position:relative}.arrow-line[data-astro-cid-3tqnor4r]:after{content:"";border-left:6px solid var(--diagram-line);transition:border-color var(--duration-normal);border-top:4px solid #0000;border-bottom:4px solid #0000;position:absolute;top:50%;right:-1px;transform:translateY(-50%)}.dotted-col[data-astro-cid-3tqnor4r]{justify-content:center;align-items:center;width:3rem;height:100%;display:flex;position:relative}.dotted-lines[data-astro-cid-3tqnor4r]{flex-direction:column;justify-content:space-between;padding:.5rem 0;display:flex;position:absolute;inset:0}.dotted-line[data-astro-cid-3tqnor4r]{border-top:1px dashed var(--diagram-border);width:100%;height:1px;transition:border-color var(--duration-normal)}.evolve-label[data-astro-cid-3tqnor4r]{letter-spacing:.1em;color:var(--text-muted);text-align:center;width:calc(3rem + auto);font-size:.6rem;position:absolute;bottom:-1.5rem;right:0}figcaption[data-astro-cid-3tqnor4r]{letter-spacing:.1em;color:var(--text-muted);text-align:right;margin-top:2rem;font-size:.6rem}.section{max-width:var(--container);padding:var(--space-section) 2rem;border-top:1px solid var(--border);transition:border-color var(--duration-normal);margin:0 auto}.eyebrow{font-family:var(--font-mono);letter-spacing:.16em;color:var(--eyebrow);transition:color var(--duration-normal);align-items:center;gap:1rem;margin-bottom:1.75rem;font-size:.72rem;display:flex}.eyebrow-line{background:currentColor;flex-shrink:0;width:2rem;height:1px;display:inline-block}.section-header{margin-bottom:3.5rem}.section h2{font-family:var(--font-serif);color:var(--text);transition:color var(--duration-normal);font-size:clamp(2.4rem,1.5rem + 3vw,3.8rem);font-weight:800;line-height:1.08}.section h2 em,.section h3 em{color:var(--accent-italic);transition:color var(--duration-normal);font-style:italic}.hero{min-height:calc(100vh - 64px);max-width:var(--container);grid-template-columns:1fr 1fr;align-items:center;gap:4rem;margin:0 auto;padding:4rem 2rem;display:grid}.hero h1{font-family:var(--font-serif);font-size:var(--text-hero);color:var(--text);transition:color var(--duration-normal);margin-bottom:1.75rem;font-weight:800;line-height:1.08}.hero h1 em{color:var(--accent-italic);transition:color var(--duration-normal);font-style:italic}.hero-sub{font-size:var(--text-xl);color:var(--text-muted);max-width:52ch;transition:color var(--duration-normal);margin-bottom:2.5rem;line-height:1.6}.hero-ctas{flex-wrap:wrap;align-items:center;gap:1.5rem;margin-bottom:3.5rem;display:flex}.btn-primary{background:var(--btn-bg);color:var(--btn-text);font-family:var(--font-mono);letter-spacing:.04em;transition:opacity var(--duration-fast), background-color var(--duration-normal), color var(--duration-normal);align-items:center;padding:.85rem 1.75rem;font-size:.85rem;display:inline-flex}.btn-primary:hover{opacity:.85}.btn-ghost{color:var(--text);border-bottom:1px solid var(--text);transition:color var(--duration-normal), border-color var(--duration-normal), opacity var(--duration-fast);padding-bottom:.1rem;font-size:.95rem}.btn-ghost:hover{opacity:.6}.stats{flex-wrap:wrap;gap:3rem;display:flex}.stats>div{flex-direction:column;gap:.3rem;display:flex}.stat-num{font-family:var(--font-serif);color:var(--stat-num);transition:color var(--duration-normal);font-size:2.2rem;font-weight:700;line-height:1}.stat-label{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-muted);transition:color var(--duration-normal);font-size:.7rem}.hero-visual{justify-content:flex-end;align-items:center;display:flex}.about-section{grid-template-columns:1fr 1.5fr;align-items:start;gap:6rem;display:grid}.about-intro h2{font-family:var(--font-serif);color:var(--text);transition:color var(--duration-normal);font-size:clamp(3rem,2rem + 4vw,5rem);font-weight:800;line-height:1.05;position:sticky;top:5rem}.about-body{flex-direction:column;gap:1.5rem;display:flex}.lead{color:var(--text);transition:color var(--duration-normal);font-size:1.15rem;font-weight:500;line-height:1.65}.about-body p{color:var(--text-muted);transition:color var(--duration-normal);line-height:1.75}.clients-grid{background:var(--border);border:1px solid var(--border);transition:background-color var(--duration-normal), border-color var(--duration-normal);grid-template-columns:1fr 1fr;gap:1px;margin-top:1rem;display:grid}.client-item{background:var(--bg);transition:background-color var(--duration-normal);flex-direction:column;gap:.25rem;padding:1rem 1.25rem;display:flex}.client-item strong{font-family:var(--font-serif);color:var(--text);transition:color var(--duration-normal);font-size:1rem}.client-item span{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-muted);transition:color var(--duration-normal);font-size:.7rem}.services-list{border-top:1px solid var(--border);transition:border-color var(--duration-normal);list-style:none}.service-item{border-bottom:1px solid var(--border);transition:border-color var(--duration-normal);grid-template-columns:4rem 1fr;align-items:start;gap:2rem;padding:2.25rem 0;display:grid}.service-num{font-family:var(--font-mono);color:var(--text-muted);transition:color var(--duration-normal);padding-top:.35rem;font-size:.72rem}.service-body h3{font-family:var(--font-serif);color:var(--text);transition:color var(--duration-normal);margin-bottom:.6rem;font-size:1.5rem;font-weight:700}.service-body p{color:var(--text-muted);max-width:60ch;transition:color var(--duration-normal);line-height:1.65}.steps-list{grid-template-columns:1fr 1fr;gap:2rem;list-style:none;display:grid}.step{border:1px solid var(--border);transition:border-color var(--duration-normal);flex-direction:column;gap:1rem;padding:2rem;display:flex}.step-num{font-family:var(--font-mono);color:var(--accent);transition:color var(--duration-normal);font-size:1.8rem;font-weight:700;line-height:1}.step-content h3{font-family:var(--font-serif);color:var(--text);transition:color var(--duration-normal);margin-bottom:.6rem;font-size:1.3rem;font-weight:700}.step-content p{color:var(--text-muted);transition:color var(--duration-normal);font-size:.95rem;line-height:1.65}.contact-section{grid-template-columns:1fr 1.4fr;align-items:start;gap:6rem;display:grid}.contact-intro h2{font-family:var(--font-serif);color:var(--text);transition:color var(--duration-normal);margin-bottom:1rem;font-size:clamp(2.4rem,1.5rem + 3vw,3.8rem);font-weight:800;line-height:1.1}.contact-intro p{color:var(--text-muted);transition:color var(--duration-normal);line-height:1.65}.contact-form{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.field{flex-direction:column;gap:.45rem;display:flex}.field-full{grid-column:1/-1}label{font-family:var(--font-mono);letter-spacing:.1em;color:var(--text-muted);text-transform:uppercase;transition:color var(--duration-normal);font-size:.7rem}input,textarea{border:1px solid var(--border);color:var(--text);font-family:var(--font-sans);font-size:var(--text-base);resize:vertical;transition:border-color var(--duration-fast), color var(--duration-normal), background-color var(--duration-normal);background:0 0;outline:none;padding:.7rem .9rem}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:.45}input:focus,textarea:focus{border-color:var(--accent)}.form-footer{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:1.5rem;display:flex}.btn-submit{background:var(--btn-bg);color:var(--btn-text);font-family:var(--font-mono);letter-spacing:.06em;cursor:pointer;transition:opacity var(--duration-fast), background-color var(--duration-normal), color var(--duration-normal);border:none;padding:.85rem 2rem;font-size:.85rem}.btn-submit:hover{opacity:.85}.form-status{font-size:var(--text-sm);color:var(--text-muted);transition:color var(--duration-normal)}footer{border-top:1px solid var(--border);transition:border-color var(--duration-normal)}.footer-inner{max-width:var(--container);font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-muted);transition:color var(--duration-normal);justify-content:space-between;align-items:center;margin:0 auto;padding:2rem;font-size:.72rem;display:flex}.footer-inner a{color:var(--eyebrow);transition:opacity var(--duration-fast), color var(--duration-normal)}.footer-inner a:hover{opacity:.7}@media (width<=900px){.hero{grid-template-columns:1fr;min-height:auto;padding:3rem 1.5rem}.hero-visual{justify-content:flex-start}.about-section{grid-template-columns:1fr;gap:2.5rem}.about-intro h2{position:static}.contact-section{grid-template-columns:1fr;gap:3rem}}@media (width<=600px){.steps-list,.clients-grid,.contact-form{grid-template-columns:1fr}.field-full{grid-column:1}.service-item{grid-template-columns:1fr;gap:.5rem}.section{padding:3.5rem 1.25rem}}
