:root{--ink:#111110;--ink-2:#2c2c2a;--ink-3:#5a5a56;--smoke:#e8e6e1;--paper:#f4f2ed;--cream:#faf9f6;--line:#d4d2cc;--serif:"DM Serif Display", Georgia, serif;--mono:"DM Mono", "Courier New", monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);font-family:var(--mono);font-size:14px;font-weight:300;line-height:1.7;overflow-x:hidden}#loader{background:var(--ink);z-index:1000;justify-content:center;align-items:center;transition:opacity .6s .1s,visibility .6s .1s;display:flex;position:fixed;inset:0}#loader.done{opacity:0;visibility:hidden}.loader-inner{flex-direction:column;align-items:center;gap:28px;display:flex}.loader-wordmark{color:var(--cream);font-family:var(--serif);letter-spacing:.02em;opacity:0;font-size:clamp(1.6rem,4vw,2.4rem);animation:.5s .2s forwards fadeUp}.loader-bar-track{background:var(--ink-2);width:160px;height:1px;position:relative;overflow:hidden}.loader-bar-fill{background:var(--smoke);animation:.9s cubic-bezier(.4,0,.2,1) .4s forwards barFill;position:absolute;inset:0 100% 0 0}.loader-label{color:var(--ink-3);letter-spacing:.25em;text-transform:uppercase;opacity:0;font-size:10px;animation:.5s .5s forwards fadeUp}@keyframes barFill{to{inset:0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}nav{z-index:100;background:var(--cream);border-bottom:1px solid var(--line);opacity:0;justify-content:space-between;align-items:center;padding:20px 48px;animation:.5s 1.4s forwards fadeDown;display:flex;position:fixed;top:0;left:0;right:0}@keyframes fadeDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.nav-logo{font-family:var(--serif);color:var(--ink);letter-spacing:.01em;font-size:1.1rem;text-decoration:none}.nav-links{gap:36px;list-style:none;display:flex}.nav-links a{color:var(--ink-3);letter-spacing:.2em;text-transform:uppercase;font-size:11px;text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--ink)}header{grid-template-rows:1fr auto;min-height:100svh;padding:120px 48px 48px;display:grid}.hero-body{flex-direction:column;justify-content:center;max-width:900px;display:flex}.hero-tag{letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3);opacity:0;margin-bottom:32px;font-size:10px;animation:.6s 1.5s forwards fadeUp}h1{font-family:var(--serif);letter-spacing:-.01em;color:var(--ink);opacity:0;font-size:clamp(2.8rem,7vw,5.5rem);font-weight:400;line-height:1.05;animation:.7s 1.65s forwards fadeUp}h1 em{color:var(--ink-3);font-style:italic}.hero-sub{max-width:520px;color:var(--ink-3);opacity:0;margin-top:32px;font-size:13px;line-height:1.8;animation:.6s 1.8s forwards fadeUp}.hero-cta{opacity:0;flex-wrap:wrap;gap:16px;margin-top:48px;animation:.6s 1.95s forwards fadeUp;display:flex}.btn{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--ink);cursor:pointer;padding:13px 28px;font-size:11px;text-decoration:none;transition:background .2s,color .2s;display:inline-block}.btn-primary{background:var(--ink);color:var(--cream)}.btn-primary:hover{background:var(--ink-2)}.btn-ghost{color:var(--ink);background:0 0}.btn-ghost:hover{background:var(--smoke)}.hero-footer{border-top:1px solid var(--line);opacity:0;justify-content:space-between;align-items:flex-end;padding-top:24px;animation:.5s 2.1s forwards fadeUp;display:flex}.hero-metric{flex-direction:column;gap:4px;display:flex}.hero-metric-value{font-family:var(--serif);color:var(--ink);font-size:1.6rem}.hero-metric-label{letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);font-size:10px}.hero-metrics{gap:48px;display:flex}.scroll-hint{letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:10px;font-size:10px;display:flex}.scroll-hint:before{content:"";background:var(--line);width:1px;height:40px;animation:2s ease-in-out infinite pulse;display:block}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}section{padding:100px 48px}.section-tag{letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3);margin-bottom:20px;font-size:10px}h2{font-family:var(--serif);color:var(--ink);margin-bottom:48px;font-size:clamp(1.8rem,4vw,3rem);font-weight:400;line-height:1.15}#philosophie{background:var(--ink);color:var(--cream);grid-template-columns:1fr 1fr;align-items:center;gap:80px;display:grid}#philosophie .section-tag{color:var(--ink-3)}#philosophie h2{color:var(--cream);margin-bottom:0}#philosophie h2 em{color:var(--ink-3);font-style:italic}.quote-block{border-left:1px solid var(--ink-2);flex-direction:column;gap:32px;padding-left:32px;display:flex}.quote-text{font-family:var(--serif);color:var(--smoke);font-size:clamp(1.1rem,2vw,1.4rem);font-style:italic;line-height:1.5}.quote-detail{color:var(--ink-3);font-size:12px;line-height:1.8}#services{background:var(--paper)}.services-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.service-card{background:var(--paper);flex-direction:column;gap:16px;padding:40px 36px;transition:background .25s;display:flex}.service-card:hover{background:var(--cream)}.service-num{letter-spacing:.2em;color:var(--ink-3);font-size:10px;font-family:var(--mono)}.service-title{font-family:var(--serif);color:var(--ink);font-size:1.35rem;font-weight:400;line-height:1.2}.service-desc{color:var(--ink-3);flex:1;font-size:12px;line-height:1.8}.service-tags{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.tag{letter-spacing:.15em;text-transform:uppercase;border:1px solid var(--line);color:var(--ink-3);padding:4px 10px;font-size:10px}#approche{background:var(--cream);grid-template-columns:340px 1fr;align-items:start;gap:100px;display:grid}.approche-sticky{position:sticky;top:120px}.steps{flex-direction:column;display:flex}.step{border-bottom:1px solid var(--line);grid-template-columns:40px 1fr;gap:24px;padding:32px 0;display:grid}.step:first-child{border-top:1px solid var(--line)}.step-n{letter-spacing:.2em;color:var(--ink-3);padding-top:4px;font-size:10px}.step-title{font-family:var(--serif);color:var(--ink);margin-bottom:8px;font-size:1.1rem}.step-desc{color:var(--ink-3);font-size:12px;line-height:1.8}#contact{background:var(--smoke);text-align:center;padding:120px 48px}#contact h2{max-width:640px;margin:0 auto 16px}#contact p{color:var(--ink-3);margin-bottom:40px;font-size:13px}.cta-email{font-family:var(--serif);color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:4px;font-size:clamp(1.1rem,3vw,1.8rem);text-decoration:none;transition:color .2s,border-color .2s}.cta-email:hover{color:var(--ink-3);border-color:var(--ink-3)}footer{border-top:1px solid var(--line);color:var(--ink-3);justify-content:space-between;align-items:center;padding:28px 48px;font-size:11px;display:flex}footer a{color:inherit;text-decoration:none}footer a:hover{color:var(--ink)}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(20px)}.reveal.visible{opacity:1;transform:none}@media (width<=900px){nav{padding:18px 24px}.nav-links{display:none}header,section{padding-left:24px;padding-right:24px}#philosophie{grid-template-columns:1fr;gap:48px;padding:72px 24px}.services-grid{grid-template-columns:1fr}#approche{grid-template-columns:1fr;gap:48px;padding:72px 24px}.approche-sticky{position:static}footer{text-align:center;flex-direction:column;gap:12px;padding:24px}.hero-metrics{gap:28px}.hero-footer{flex-direction:column;align-items:flex-start;gap:24px}}
