/* FACADES PRO — tokens compilés. Polices chargées via <link> dans le <head>. */

/* colors */
:root{
/* — Base : couleurs extraites du logo officiel — */
--navy-900:#00132a;/* @kind color */
--navy-800:#001b39;/* @kind color */
--navy-700:#0b2951;/* @kind color */
--navy-600:#1b3a68;/* @kind color */
--navy-400:#5a7096;/* @kind color */
--navy-200:#b9c4d6;/* @kind color */
--navy-50:#eef1f6;/* @kind color */
--gold-700:#8f6f3f;/* @kind color */
--gold-600:#a9834b;/* @kind color */
--gold-500:#c7a471;/* @kind color */
--gold-300:#ddc7a2;/* @kind color */
--gold-100:#f1e7d6;/* @kind color */
--anthracite-800:#2b2d2f;/* @kind color */
--anthracite-600:#525455;/* @kind color */
--anthracite-400:#8a8c8d;/* @kind color */
--stone-900:#10141b;/* @kind color */
--stone-700:#3d434c;/* @kind color */
--stone-500:#6b7280;/* @kind color */
--stone-300:#c3bdb4;/* @kind color */
--stone-200:#e2ddd6;/* @kind color */
--stone-100:#f0ede8;/* @kind color */
--stone-50:#f7f5f2;/* @kind color */
--cream:#efe7df;/* @kind color */
--paper:#ffffff;/* @kind color */
/* — Sémantique — */
--text-strong:var(--navy-800);/* @kind color */
--text-body:var(--stone-700);/* @kind color */
--text-muted:var(--stone-500);/* @kind color */
--text-inverse:var(--paper);/* @kind color */
--text-inverse-muted:rgba(255,255,255,.66);/* @kind color */
--text-accent:var(--gold-600);/* @kind color */
--surface-page:var(--paper);/* @kind color */
--surface-raised:var(--stone-50);/* @kind color */
--surface-sunken:var(--stone-100);/* @kind color */
--surface-invert:var(--navy-800);/* @kind color */
--surface-invert-deep:var(--navy-900);/* @kind color */
--surface-accent-tint:var(--gold-100);/* @kind color */
--border-hairline:var(--stone-200);/* @kind color */
--border-strong:var(--stone-300);/* @kind color */
--border-invert:rgba(255,255,255,.16);/* @kind color */
--border-accent:var(--gold-500);/* @kind color */
--action-primary:var(--navy-800);/* @kind color */
--action-primary-hover:var(--navy-700);/* @kind color */
--action-primary-press:var(--navy-900);/* @kind color */
--action-accent:var(--gold-500);/* @kind color */
--action-accent-hover:var(--gold-600);/* @kind color */
--focus-ring:var(--gold-500);/* @kind color */
--rule-accent:var(--gold-500);/* @kind color */
--overlay-photo:linear-gradient(180deg,rgba(0,19,42,.62) 0%,rgba(0,19,42,.24) 42%,rgba(0,19,42,.78) 100%);/* @kind color */
--overlay-photo-flat:rgba(0,19,42,.46);/* @kind color */
}

/* typography */
:root{
--font-display:"Archivo","Helvetica Neue",Helvetica,sans-serif;/* @kind font */
--font-sans:"IBM Plex Sans","Helvetica Neue",Helvetica,sans-serif;/* @kind font */
--font-mono:ui-monospace,"SFMono-Regular",Menlo,monospace;/* @kind font */

--fs-display-1:clamp(2.75rem,7.2vw,5.75rem);/* @kind font */
--fs-display-2:clamp(2.25rem,5vw,4rem);/* @kind font */
--fs-h1:clamp(2rem,4vw,3.25rem);/* @kind font */
--fs-h2:clamp(1.625rem,2.8vw,2.5rem);/* @kind font */
--fs-h3:clamp(1.25rem,1.8vw,1.625rem);/* @kind font */
--fs-h4:1.125rem;/* @kind font */
--fs-lead:clamp(1.0625rem,1.35vw,1.3125rem);/* @kind font */
--fs-body:1rem;/* @kind font */
--fs-small:.875rem;/* @kind font */
--fs-caption:.8125rem;/* @kind font */
--fs-eyebrow:.6875rem;/* @kind font */

--lh-display:.98;/* @kind font */
--lh-heading:1.14;/* @kind font */
--lh-lead:1.5;/* @kind font */
--lh-body:1.65;/* @kind font */
--lh-tight:1.3;/* @kind font */
--ls-display:-.03em;/* @kind font */
--ls-heading:-.02em;/* @kind font */
--ls-body:0;/* @kind font */
--ls-eyebrow:.16em;/* @kind font */
--ls-caps:.08em;/* @kind font */

--fw-light:300;/* @kind font */
--fw-regular:400;/* @kind font */
--fw-medium:500;/* @kind font */
--fw-semibold:600;/* @kind font */
--fw-bold:700;/* @kind font */
--fw-display:700;/* @kind font */

--measure-narrow:38ch;/* @kind other */
--measure:62ch;/* @kind other */
--measure-wide:76ch;/* @kind other */
}

/* spacing */
:root{
--space-1:4px;/* @kind spacing */
--space-2:8px;/* @kind spacing */
--space-3:12px;/* @kind spacing */
--space-4:16px;/* @kind spacing */
--space-5:24px;/* @kind spacing */
--space-6:32px;/* @kind spacing */
--space-7:40px;/* @kind spacing */
--space-8:56px;/* @kind spacing */
--space-9:72px;/* @kind spacing */
--space-10:96px;/* @kind spacing */
--space-11:128px;/* @kind spacing */
--space-12:160px;/* @kind spacing */
--section-y:clamp(72px,9vw,140px);/* @kind spacing */
--section-y-tight:clamp(48px,6vw,88px);/* @kind spacing */
--gutter:clamp(20px,4vw,64px);/* @kind spacing */
--stack-tight:var(--space-3);/* @kind spacing */
--stack:var(--space-5);/* @kind spacing */
--stack-loose:var(--space-8);/* @kind spacing */
}

/* layout */
:root{
--container-max:1320px;/* @kind spacing */
--container-text:760px;/* @kind spacing */
--container-wide:1560px;/* @kind spacing */
--header-h:84px;/* @kind spacing */
--header-h-mobile:64px;/* @kind spacing */
--radius-none:0;/* @kind radius */
--radius-xs:2px;/* @kind radius */
--radius-sm:3px;/* @kind radius */
--radius-pill:999px;/* @kind radius */
--border-w:1px;/* @kind spacing */
--border-w-thick:2px;/* @kind spacing */
--ratio-hero:16/9;/* @kind other */
--ratio-portrait:3/4;/* @kind other */
--ratio-landscape:4/3;/* @kind other */
--ratio-panorama:21/9;/* @kind other */
--grid-cols:12;/* @kind other */
--grid-gap:clamp(16px,2vw,32px);/* @kind spacing */
}

/* elevation */
:root{
/* Ombres volontairement rares et courtes : l'élévation passe par le filet et le contraste de surface. */
--shadow-none:none;/* @kind shadow */
--shadow-hairline:0 0 0 1px var(--border-hairline);/* @kind shadow */
--shadow-header:0 1px 0 0 rgba(16,20,27,.08);/* @kind shadow */
--shadow-lifted:0 2px 4px -2px rgba(0,19,42,.10),0 8px 24px -12px rgba(0,19,42,.16);/* @kind shadow */
--shadow-modal:0 24px 64px -24px rgba(0,19,42,.34);/* @kind shadow */
}

/* motion */
:root{
--ease-standard:cubic-bezier(.22,.61,.36,1);/* @kind other */
--ease-entrance:cubic-bezier(.16,.84,.44,1);/* @kind other */
--ease-exit:cubic-bezier(.4,0,1,1);/* @kind other */
--dur-instant:120ms;/* @kind other */
--dur-fast:180ms;/* @kind other */
--dur-base:260ms;/* @kind other */
--dur-slow:420ms;/* @kind other */
--dur-reveal:640ms;/* @kind other */
--reveal-shift:18px;/* @kind spacing */
--zoom-hover:1.035;/* @kind other */
}
@media (prefers-reduced-motion:reduce){:root{
--dur-instant:0ms;/* @kind other */
--dur-fast:0ms;/* @kind other */
--dur-base:0ms;/* @kind other */
--dur-slow:0ms;/* @kind other */
--dur-reveal:0ms;/* @kind other */
--reveal-shift:0px;/* @kind spacing */
--zoom-hover:1;/* @kind other */
}}

/* base */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--fw-regular);color:var(--text-strong);letter-spacing:var(--ls-heading);line-height:var(--lh-heading);margin:0}
p{margin:0;text-wrap:pretty}
a{color:var(--navy-800);text-decoration:none;text-underline-offset:.22em;text-decoration-thickness:1px;transition:color var(--dur-fast) var(--ease-standard)}
a:hover{color:var(--gold-600);text-decoration:underline}
::selection{background:var(--gold-300);color:var(--navy-900)}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
img{display:block;max-width:100%}

/* site */
html,body{margin:0}
body{background:var(--surface-page)}
a{color:var(--gold-600)}
a:hover{color:var(--gold-700)}
@keyframes fpSlide{from{transform:translateX(24px);opacity:0}to{transform:none;opacity:1}}
@media (max-width:1080px){.fp-nav-desktop{display:none!important}.fp-burger{display:block!important}.fp-tel{display:none!important}.fp-logo{height:30px!important}.fp-two,.fp-services{grid-template-columns:1fr!important;gap:var(--space-8)!important}}
@media (max-width:520px){.fp-logo{height:26px!important}}
@media (max-width:760px){[style*="grid-template-columns: repeat(12"]{grid-template-columns:1fr!important}[style*="grid-column: span"]{grid-column:auto!important}}
