/* FHCI — CSS local optimisé (remplace cdn.tailwindcss.com pour les pages villes/services).
   Compile uniquement les classes Tailwind utilisées dans les pages générées + custom utilities. */

*,*::before,*::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}
html{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:Inter,ui-sans-serif,system-ui,sans-serif;scroll-behavior:smooth}
body{margin:0;line-height:inherit;background:#fff;color:#0f172a;-webkit-font-smoothing:antialiased}
hr{height:0;color:inherit;border-top-width:1px}
abbr:where([title]){text-decoration:underline dotted}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}
a{color:inherit;text-decoration:inherit}
b,strong{font-weight:bolder}
code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1em}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sub{bottom:-.25em}
sup{top:-.5em}
table{text-indent:0;border-color:inherit;border-collapse:collapse}
button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}
button,select{text-transform:none}
button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}
:-moz-focusring{outline:auto}
:-moz-ui-invalid{box-shadow:none}
progress{vertical-align:baseline}
::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}
[type=search]{-webkit-appearance:textfield;outline-offset:-2px}
::-webkit-search-decoration{-webkit-appearance:none}
::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}
summary{display:list-item}
blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}
fieldset{margin:0;padding:0}
legend{padding:0}
ol,ul,menu{list-style:none;margin:0;padding:0}
dialog{padding:0}
textarea{resize:vertical}
input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}
button,[role=button]{cursor:pointer}
:disabled{cursor:default}
img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}
img,video{max-width:100%;height:auto}
[hidden]{display:none}

/* Brand colors */
:root{
  --b50:#e0f5fc;--b100:#b3e6f7;--b200:#7dd4f0;--b300:#42c0e8;--b400:#0fb3e2;
  --b500:#009cc7;--b600:#007fab;--b700:#006089;--b800:#004466;--b900:#002a44;
  --s50:#f8fafc;--s100:#f1f5f9;--s200:#e2e8f0;--s300:#cbd5e1;--s400:#94a3b8;
  --s500:#64748b;--s600:#475569;--s700:#334155;--s800:#1e293b;--s900:#0f172a;
}

/* Layout */
.container{width:100%}
.max-w-3xl{max-width:48rem}
.max-w-4xl{max-width:56rem}
.max-w-5xl{max-width:64rem}
.max-w-6xl{max-width:72rem}
.max-w-sm{max-width:24rem}
.mx-auto{margin-left:auto;margin-right:auto}
.flex{display:flex}
.inline-flex{display:inline-flex}
.grid{display:grid}
.block{display:block}
.hidden{display:none}
.relative{position:relative}
.absolute{position:absolute}
.sticky{position:sticky}
.top-0{top:0}
.inset-0{inset:0}
.z-40{z-index:40}
.overflow-hidden{overflow:hidden}
.flex-shrink-0{flex-shrink:0}

/* Items */
.items-center{align-items:center}
.items-start{align-items:flex-start}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}
.justify-end{justify-content:flex-end}
.flex-col{flex-direction:column}
.flex-wrap{flex-wrap:wrap}

/* Gaps */
.gap-1{gap:.25rem}
.gap-1\.5{gap:.375rem}
.gap-2{gap:.5rem}
.gap-2\.5{gap:.625rem}
.gap-3{gap:.75rem}
.gap-4{gap:1rem}
.gap-5{gap:1.25rem}
.gap-6{gap:1.5rem}
.gap-8{gap:2rem}
.gap-10{gap:2.5rem}
.gap-12{gap:3rem}
.gap-14{gap:3.5rem}
.gap-x-5{column-gap:1.25rem}
.gap-y-2{row-gap:.5rem}

/* Padding */
.p-3{padding:.75rem}
.p-5{padding:1.25rem}
.p-6{padding:1.5rem}
.p-7{padding:1.75rem}
.p-8{padding:2rem}
.px-2{padding-left:.5rem;padding-right:.5rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-5{padding-left:1.25rem;padding-right:1.25rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.px-7{padding-left:1.75rem;padding-right:1.75rem}
.py-2{padding-top:.5rem;padding-bottom:.5rem}
.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}
.py-3{padding-top:.75rem;padding-bottom:.75rem}
.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-5{padding-top:1.25rem;padding-bottom:1.25rem}
.py-8{padding-top:2rem;padding-bottom:2rem}
.py-14{padding-top:3.5rem;padding-bottom:3.5rem}
.py-16{padding-top:4rem;padding-bottom:4rem}
.py-20{padding-top:5rem;padding-bottom:5rem}
.pb-4{padding-bottom:1rem}
.pb-6{padding-bottom:1.5rem}
.pb-8{padding-bottom:2rem}
.pb-10{padding-bottom:2.5rem}
.pt-3{padding-top:.75rem}
.pt-6{padding-top:1.5rem}
.pt-14{padding-top:3.5rem}

/* Margins */
.mb-1{margin-bottom:.25rem}
.mb-2{margin-bottom:.5rem}
.mb-3{margin-bottom:.75rem}
.mb-4{margin-bottom:1rem}
.mb-5{margin-bottom:1.25rem}
.mb-6{margin-bottom:1.5rem}
.mb-8{margin-bottom:2rem}
.mb-12{margin-bottom:3rem}
.mb-14{margin-bottom:3.5rem}
.mt-1{margin-top:.25rem}
.mt-2{margin-top:.5rem}
.mt-4{margin-top:1rem}
.mt-6{margin-top:1.5rem}
.mt-8{margin-top:2rem}
.mx-2{margin-left:.5rem;margin-right:.5rem}

/* Borders */
.border{border-width:1px}
.border-t{border-top-width:1px}
.border-b{border-bottom-width:1px}
.border-steel-100{border-color:var(--s100)}
.border-steel-200{border-color:var(--s200)}
.border-steel-300{border-color:var(--s300)}
.border-steel-700{border-color:var(--s700)}
.border-brand-200{border-color:var(--b200)}
.border-white\/5{border-color:rgb(255 255 255 / .05)}
.border-white\/10{border-color:rgb(255 255 255 / .1)}
.border-white\/15{border-color:rgb(255 255 255 / .15)}

/* Background */
.bg-white{background:#fff}
.bg-steel-50{background:var(--s50)}
.bg-steel-100{background:var(--s100)}
.bg-steel-800{background:var(--s800)}
.bg-steel-900{background:var(--s900)}
.bg-brand-50{background:var(--b50)}
.bg-brand-500{background:var(--b500)}
.bg-amber-50{background:#fffbeb}
.bg-sky-50{background:#f0f9ff}
.bg-slate-100{background:#f1f5f9}
.bg-zinc-100{background:#f4f4f5}
.bg-orange-50{background:#fff7ed}
.bg-green-50{background:#f0fdf4}
.bg-purple-50{background:#faf5ff}
.bg-white\/5{background:rgb(255 255 255 / .05)}
.bg-white\/10{background:rgb(255 255 255 / .1)}

/* Text colors */
.text-white{color:#fff}
.text-steel-300{color:var(--s300)}
.text-steel-400{color:var(--s400)}
.text-steel-500{color:var(--s500)}
.text-steel-600{color:var(--s600)}
.text-steel-700{color:var(--s700)}
.text-steel-800{color:var(--s800)}
.text-steel-900{color:var(--s900)}
.text-brand-300{color:var(--b300)}
.text-brand-500{color:var(--b500)}
.text-brand-600{color:var(--b600)}
.text-brand-700{color:var(--b700)}
.text-amber-400{color:#fbbf24}
.text-amber-600{color:#d97706}
.text-sky-500{color:#0ea5e9}
.text-slate-600{color:#475569}
.text-zinc-600{color:#52525b}
.text-orange-600{color:#ea580c}
.text-green-600{color:#16a34a}
.text-purple-600{color:#9333ea}
.text-white\/20{color:rgb(255 255 255 / .2)}
.text-white\/25{color:rgb(255 255 255 / .25)}
.text-white\/30{color:rgb(255 255 255 / .3)}
.text-white\/40{color:rgb(255 255 255 / .4)}
.text-white\/45{color:rgb(255 255 255 / .45)}
.text-white\/55{color:rgb(255 255 255 / .55)}
.text-red-500{color:#ef4444}

/* Typography */
.text-\[10px\]{font-size:10px}
.text-\[11px\]{font-size:11px}
.text-\[15px\]{font-size:15px}
.text-xs{font-size:.75rem;line-height:1rem}
.text-sm{font-size:.875rem;line-height:1.25rem}
.text-base{font-size:1rem;line-height:1.5rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.text-2xl{font-size:1.5rem;line-height:2rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.text-4xl{font-size:2.25rem;line-height:2.5rem}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}
.font-bold{font-weight:700}
.uppercase{text-transform:uppercase}
.tracking-tight{letter-spacing:-.025em}
.tracking-wider{letter-spacing:.05em}
.leading-tight{line-height:1.25}
.leading-relaxed{line-height:1.625}
.leading-\[1\.05\]{line-height:1.05}
.text-center{text-align:center}
.antialiased{-webkit-font-smoothing:antialiased}

/* Sizes */
.w-1\.5{width:.375rem}
.w-10{width:2.5rem}
.w-11{width:2.75rem}
.w-12{width:3rem}
.w-16{width:4rem}
.w-full{width:100%}
.w-auto{width:auto}
.h-1\.5{height:.375rem}
.h-9{height:2.25rem}
.h-10{height:2.5rem}
.h-11{height:2.75rem}
.h-12{height:3rem}
.h-16{height:4rem}
.h-\[420px\]{height:420px}
.min-h-\[88vh\]{min-height:88vh}

/* Object fit */
.object-contain{object-fit:contain}
.object-cover{object-fit:cover}

/* Border radius */
.rounded-full{border-radius:9999px}
.rounded-lg{border-radius:.5rem}
.rounded-xl{border-radius:.75rem}
.rounded-2xl{border-radius:1rem}
.rounded-3xl{border-radius:1.5rem}
.rounded-\[2rem\]{border-radius:2rem}

/* Shadow */
.shadow-lg{box-shadow:0 10px 15px -3px rgb(0 0 0 / .1),0 4px 6px -4px rgb(0 0 0 / .1)}
.shadow-2xl{box-shadow:0 25px 50px -12px rgb(0 0 0 / .25)}
.shadow-steel-900\/10{--tw-shadow-color:rgb(15 23 42 / .1)}

/* Grid */
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Transitions */
.transition-colors{transition-property:color,background-color,border-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}
.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}
.duration-500{transition-duration:.5s}
.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}

/* Hover */
.hover\:bg-white\/10:hover{background:rgb(255 255 255 / .1)}
.hover\:bg-brand-50:hover{background:var(--b50)}
.hover\:bg-steel-100:hover{background:var(--s100)}
.hover\:text-white:hover{color:#fff}
.hover\:text-steel-700:hover{color:var(--s700)}
.hover\:text-steel-900:hover{color:var(--s900)}
.hover\:text-brand-600:hover{color:var(--b600)}

/* Cursor */
.cursor-pointer{cursor:pointer}

/* List */
.list-none{list-style:none}
.space-y-2>*+*{margin-top:.5rem}
.space-y-3>*+*{margin-top:.75rem}
.space-y-4>*+*{margin-top:1rem}
.space-y-8>*+*{margin-top:2rem}

/* Responsive */
@media (min-width:640px){
  .sm\:inline{display:inline}
  .sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:768px){
  .md\:flex{display:flex}
  .md\:hidden{display:none}
  .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .md\:flex-row{flex-direction:row}
  .md\:p-10{padding:2.5rem}
  .md\:px-8{padding-left:2rem;padding-right:2rem}
  .md\:text-4xl{font-size:2.25rem;line-height:2.5rem}
  .md\:text-5xl{font-size:3rem;line-height:1}
}
@media (min-width:1024px){
  .lg\:flex{display:flex}
  .lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
  .lg\:grid-cols-\[1\.1fr\,\.9fr\]{grid-template-columns:1.1fr .9fr}
  .lg\:grid-cols-\[1fr\,\.95fr\]{grid-template-columns:1fr .95fr}
  .lg\:grid-cols-\[1fr\,\.85fr\]{grid-template-columns:1fr .85fr}
  .lg\:grid-cols-\[1\.2fr\,\.8fr\,1\.2fr\]{grid-template-columns:1.2fr .8fr 1.2fr}
  .lg\:justify-self-end{justify-self:end}
  .lg\:text-\[3\.5rem\]{font-size:3.5rem;line-height:1}
}

/* Custom components */
.nav-glass{background:rgba(255,255,255,.94);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.btn-primary{background:#1e293b;color:#fff;transition:all .2s}
.btn-primary:hover{background:#0f172a;box-shadow:0 12px 32px rgba(15,23,42,.25);transform:translateY(-1px)}
.btn-outline{background:transparent;border:1.5px solid #e2e8f0;color:#374151;transition:all .2s}
.btn-outline:hover{border-color:#009cc7;color:#009cc7;background:#e0f5fc}
.btn-accent{background:#007fab;color:#fff;transition:all .2s}
.btn-accent:hover{background:#006089}
.card{background:#fff;border:1px solid #f1f5f9;box-shadow:0 4px 24px rgba(15,23,42,.04);transition:border-color .2s,box-shadow .2s,transform .2s}
.card:hover{border-color:#7dd4f0;box-shadow:0 8px 32px rgba(0,156,199,.08);transform:translateY(-2px)}
.gradient-hero{background:radial-gradient(ellipse 70% 60% at 100% 0%,rgba(0,156,199,.07),transparent),radial-gradient(ellipse 50% 50% at 0% 100%,rgba(30,41,59,.04),transparent),#fff}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease-out,transform .65s ease-out}
.reveal.active{opacity:1;transform:none}
details summary::-webkit-details-marker{display:none}
details[open] .faq-icon{transform:rotate(45deg)}
.faq-icon{transition:transform .2s ease}
.trust-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.85);border:1px solid #e2e8f0;border-radius:9999px;padding:5px 12px;font-size:.7rem;font-weight:600;color:#475569;backdrop-filter:blur(8px)}
.prose-block{padding-bottom:.5rem}
.prose-block h3{margin-bottom:.75rem}
