/* assurance-materiel-professionnel.fr — famille V11-halle (atelier industriel), habillage
   terracotta/rouille (hue 9). Bordures épaisses au lieu d'ombres, schémas techniques cotés,
   typo display condensée tout-capitales pour les titres, monospace tabulaire pour le corps
   et les chiffres. */
@font-face{
  font-family:"Bebas Neue"; font-style:normal; font-weight:400; font-display:swap;
  src:url("/fonts/bebas-neue-latin-400.woff2") format("woff2");
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122;
}
@font-face{
  font-family:"Noto Sans Mono"; font-style:normal; font-weight:400 700; font-display:swap;
  src:url("/fonts/noto-sans-mono-latin-variable.woff2") format("woff2");
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122;
}
:root{
  --inv-ink:       oklch(0.24 0.015 9);
  --inv-steel:     oklch(0.55 0.020 9);
  --inv-paper:     oklch(0.95 0.010 9);
  --inv-surface:   oklch(0.90 0.018 9);
  --inv-accent:    oklch(0.50 0.150 9);
  --inv-accent-d:  oklch(0.38 0.140 9);
  --inv-accent-l:  oklch(0.66 0.110 9);
  --inv-white:     oklch(0.99 0.005 9);
  --font-title: "Bebas Neue", system-ui, sans-serif;
  --font-body: "Noto Sans Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --inv-radius: 2px;
  --inv-border: 2px solid var(--inv-ink);
  --inv-border-thin: 1.5px solid oklch(0.55 0.020 9 / 0.5);
  --inv-maxw: 1180px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--inv-paper); color:var(--inv-ink);
  font-family:var(--font-body); line-height:1.6; font-size:16px;
  font-variant-numeric:tabular-nums;
}
h1,h2,h3{font-family:var(--font-title); font-weight:400; line-height:1.05; margin:0 0 .45em;
  text-transform:uppercase; letter-spacing:.01em}
h1{font-size:clamp(1.9rem, 5vw, 3.4rem)}
h2{font-size:clamp(1.5rem, 3vw, 2.1rem); margin-top:0}
h3{font-size:1.15rem}
p{margin:0 0 1em}
a{color:var(--inv-accent-d)}
ul{margin:0 0 1em; padding-left:1.2em}
img{max-width:100%; height:auto; display:block; border-radius:var(--inv-radius)}
.inv-skip{position:absolute; left:-999px; top:0; background:var(--inv-white); padding:.6em 1em; z-index:100}
.inv-skip:focus{left:8px; top:8px}
.inv-wrap{max-width:var(--inv-maxw); margin:0 auto; padding:0 1.25rem}
.sr-only{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap}

/* topbar */
.inv-topbar{background:var(--inv-ink); color:var(--inv-white); font-size:.78rem; letter-spacing:.02em}
.inv-topbar-in{display:flex; justify-content:space-between; gap:1rem; padding:.35rem 1.25rem; flex-wrap:wrap}
.inv-topbar a{color:var(--inv-white)}
.inv-topbar-in span{display:none}
@media (min-width:560px){.inv-topbar-in span{display:inline}}

/* header */
.inv-header{background:var(--inv-white); border-bottom:var(--inv-border); position:sticky; top:0; z-index:40}
.inv-header-in{display:flex; align-items:center; gap:1rem; padding:.5rem 1.25rem; flex-wrap:nowrap; position:relative}
.inv-logo{font-family:var(--font-title); text-transform:uppercase; letter-spacing:.02em; font-size:1.25rem; color:var(--inv-ink); text-decoration:none;
  margin-right:auto; flex-shrink:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}

.inv-burger{display:none; flex-direction:column; justify-content:center; align-items:center; gap:4px; width:44px; height:44px;
  border:var(--inv-border); border-radius:0; background:var(--inv-white); cursor:pointer; flex-shrink:0; padding:0}
.inv-burger-bar{display:block; width:16px; height:2px; background:var(--inv-ink); margin:0 auto}
.inv-nav{display:flex; align-items:center; min-width:0; overflow-x:auto; -webkit-overflow-scrolling:touch}
.inv-nav-list{list-style:none; display:flex; gap:1.2rem; margin:0; padding:0; align-items:center; flex-wrap:nowrap; white-space:nowrap}
.inv-nav-list > li > a{color:var(--inv-ink); text-decoration:none; font-weight:600; font-size:.88rem; text-transform:uppercase; letter-spacing:.03em}
.inv-cta-header-short{display:none}

@media (max-width:860px){
  .inv-burger{display:flex}
  .inv-cta-header-full{display:none}
  .inv-cta-header-short{display:inline}
  .inv-nav{display:none; position:absolute; top:100%; left:0; right:0; background:var(--inv-white);
    border-bottom:var(--inv-border); overflow-x:visible}
  .inv-nav.is-open{display:block}
  .inv-nav-list{flex-direction:column; align-items:stretch; gap:0; white-space:normal; padding:.5rem 1.25rem 1rem}
  .inv-nav-list > li > a, .inv-nav-drop-toggle{display:block; padding:.85rem 0; font-size:.95rem; min-height:44px; box-sizing:border-box}
  .inv-nav-sub{position:static; box-shadow:none; border:0; padding:0 0 0 1rem}
}
@media (max-width:400px){
  .inv-header-in{gap:.5rem; padding:.5rem .75rem}
  .inv-logo{max-width:48vw; font-size:1rem}
  .inv-cta-header{padding:.45rem .55rem; font-size:.78rem}
}
.inv-nav-drop{position:relative}
.inv-nav-drop-toggle{background:none; border:0; font-family:var(--font-body); font-weight:600; font-size:.88rem; text-transform:uppercase; letter-spacing:.03em; color:var(--inv-ink); cursor:pointer; padding:.3rem 0}
.inv-nav-sub{list-style:none; margin:0; padding:.4rem; position:absolute; top:100%; left:0; background:var(--inv-white); border:var(--inv-border); border-radius:0; min-width:250px; display:none}
.inv-nav-drop:hover .inv-nav-sub, .inv-nav-drop:focus-within .inv-nav-sub{display:block}
.inv-nav-sub li a{display:block; padding:.4rem .5rem; color:var(--inv-ink); text-decoration:none; font-size:.85rem; text-transform:none; letter-spacing:0}
.inv-nav-sub li a:hover{background:var(--inv-surface)}
.inv-cta-header{margin-left:.5rem; white-space:nowrap; flex-shrink:0; flex-grow:0}

/* buttons : bordures épaisses, pas d'ombre, coins presque droits */
.inv-btn{display:inline-block; font-family:var(--font-title); text-transform:uppercase; letter-spacing:.03em;
  text-decoration:none; padding:.7rem 1.4rem; border-radius:var(--inv-radius); border:var(--inv-border); cursor:pointer; font-size:1.05rem}
.inv-btn-accent{background:var(--inv-accent-d); color:var(--inv-white); border-color:var(--inv-ink)}
.inv-btn-accent:hover{background:oklch(0.32 0.13 9)}
.inv-btn-ghost{background:var(--inv-white); color:var(--inv-ink); border:var(--inv-border)}
.inv-btn-ghost:hover{background:var(--inv-surface)}

/* bands */
.inv-band{padding:2.8rem 0}
.inv-band-alt{background:var(--inv-surface)}
.inv-two-up{display:grid; grid-template-columns:1fr 1fr; gap:2.5rem}
@media (max-width:760px){.inv-two-up{grid-template-columns:1fr}}

.inv-relance-mid{display:grid; grid-template-columns:1.1fr .9fr; gap:2rem; align-items:center}
@media (max-width:760px){.inv-relance-mid{grid-template-columns:1fr}}
.inv-relance-mid .inv-form{background:var(--inv-white); border:var(--inv-border); border-radius:var(--inv-radius); padding:1rem}

/* hero — mode A : texte + CTA à gauche, formulaire intégré sous le texte (pas de volet
   caché), tableau d'inventaire coté à droite. Zéro image plein cadre en fond : la photo,
   quand elle existe, vit DANS la carte d'inventaire, jamais derrière le texte. */
.inv-hero{padding:1.1rem 0 .8rem}
.inv-hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:2.5rem; align-items:start}
@media (max-width:860px){.inv-hero-grid{grid-template-columns:1fr; gap:1.5rem}}
.inv-hero-copy h1{margin-bottom:.25em; font-size:clamp(1.5rem, 4.6vw, 3.1rem)}
.inv-hero-copy .inv-kicker{margin:0 0 .3em}
.inv-hero-copy .inv-lede{margin-bottom:.55em; font-size:.95rem}
.inv-kicker{text-transform:uppercase; letter-spacing:.1em; font-size:.82rem; color:var(--inv-accent-d); font-weight:700; margin:0 0 .5em}
.inv-lede{font-size:1.02rem; max-width:62ch; color:oklch(0.35 0.02 9); margin-bottom:.9em}
.inv-hero-copy .inv-form{margin-top:.6rem}
/* Formulaire hero (mode A) : plus compact que le reste du site pour tenir sous le pli
   mobile 390x844 / desktop 1366x768 (gate G32) — champs et libellés resserrés. */
.inv-form-hero{gap:.4rem}
.inv-form-hero .inv-field{gap:.12rem}
.inv-form-hero .inv-field label{font-size:.72rem}
.inv-form-hero .inv-field input{padding:.4rem .6rem; font-size:.92rem}
.inv-form-hero .inv-consent{font-size:.72rem; line-height:1.25}
.inv-form-hero .inv-btn{padding:.5rem 1.1rem; font-size:.95rem}

/* carte photo, si présente, au-dessus du tableau d'inventaire */
.inv-hero-photo{width:100%; aspect-ratio:3/2; object-fit:cover; border:var(--inv-border); border-bottom:0; border-radius:0}

/* module signature : "l'inventaire coté" */
.inv-inventory{border:var(--inv-border); background:var(--inv-white)}
.inv-inventory-tag{margin:0; padding:.4rem .7rem; font-size:.72rem; text-transform:uppercase; letter-spacing:.06em;
  color:var(--inv-white); background:var(--inv-ink)}
.inv-inventory-head{display:none}
@media (min-width:640px){
  .inv-inventory-head{display:grid; grid-template-columns:1.1fr 1fr 1fr 1fr; gap:0; font-size:.72rem;
    text-transform:uppercase; letter-spacing:.05em; color:var(--inv-steel); border-bottom:var(--inv-border-thin);
    padding:.55rem .7rem}
}
.inv-inventory-body{display:flex; flex-direction:column}
.inv-table-row{display:grid; grid-template-columns:1fr; gap:.35rem; padding:.75rem .7rem; text-decoration:none; color:var(--inv-ink);
  border-bottom:var(--inv-border-thin)}
.inv-table-row:last-child{border-bottom:0}
.inv-table-row:hover{background:var(--inv-surface)}
@media (min-width:640px){
  .inv-table-row{grid-template-columns:1.1fr 1fr 1fr 1fr; gap:0; align-items:start}
}
.inv-table-cell{font-size:.86rem; line-height:1.4}
.inv-table-poste{font-family:var(--font-title); text-transform:uppercase; letter-spacing:.02em; font-size:1rem; color:var(--inv-ink)}
.inv-table-label{display:block; font-size:.68rem; text-transform:uppercase; letter-spacing:.05em; color:var(--inv-accent-d); margin-bottom:.15em}
@media (min-width:640px){.inv-table-label{display:none}}
.inv-inventory-note{margin:0; padding:.6rem .7rem; font-size:.76rem; color:var(--inv-steel); border-top:var(--inv-border-thin)}

/* détail inventaire, module en pleine largeur sous le hero */
.inv-detail-grid{display:grid; gap:.9rem; margin-top:1.3rem; grid-template-columns:repeat(3,1fr)}
@media (max-width:820px){.inv-detail-grid{grid-template-columns:1fr}}
.inv-detail-card{display:flex; gap:.9rem; align-items:flex-start; text-decoration:none; color:var(--inv-ink);
  background:var(--inv-white); border:var(--inv-border); border-radius:0; padding:1rem}
.inv-detail-card:hover{background:var(--inv-surface)}
.inv-detail-num{flex-shrink:0; font-family:var(--font-title); font-size:1.6rem; color:var(--inv-accent-d); line-height:1}
.inv-detail-body{display:flex; flex-direction:column; gap:.2rem}
.inv-detail-title{font-family:var(--font-body); font-weight:700; text-transform:none; letter-spacing:0; font-size:.98rem; margin:0; line-height:1.3}
.inv-detail-body span{font-size:.86rem; color:oklch(0.42 0.02 9)}

/* forms */
.inv-form{display:grid; gap:.6rem; max-width:480px}
.inv-form-compact{max-width:440px}
.inv-form-full{max-width:580px}
.inv-field{display:flex; flex-direction:column; gap:.25rem}
.inv-field label{font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.02em}
.inv-field input, .inv-field select, .inv-field textarea{
  font-family:var(--font-body); font-size:1rem; padding:.55rem .7rem; border:var(--inv-border);
  border-radius:0; background:var(--inv-white); color:var(--inv-ink);
}
.inv-field input:focus, .inv-field select:focus, .inv-field textarea:focus{outline:2px solid var(--inv-accent); outline-offset:1px}
.inv-honeypot{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.inv-consent{display:flex; gap:.5rem; align-items:flex-start; font-size:.8rem; line-height:1.4}
.inv-consent input{margin-top:.2rem}
.inv-reassure{font-size:.8rem; color:oklch(0.42 0.02 9); margin:0}
.inv-reassure-hero{font-size:.7rem; margin-top:.15rem}
.inv-cta-final .inv-reassure{color:oklch(0.85 0.02 9)}
.inv-service-form{background:var(--inv-white); border:var(--inv-border); border-radius:0; padding:1rem; max-width:520px}
.inv-service-photo{margin-bottom:.8rem; aspect-ratio:1/1; object-fit:cover; width:100%; height:auto; border:var(--inv-border-thin)}
.inv-article-photo{aspect-ratio:3/2; object-fit:cover; width:100%; margin:1rem 0; border:var(--inv-border)}

.inv-band-service{padding-top:2.2rem}
.inv-service-copy{min-width:0}
.inv-service-grid{display:grid; grid-template-columns:1.2fr .9fr; gap:2.5rem; align-items:start}
@media (max-width:820px){.inv-service-grid{grid-template-columns:1fr}}

/* fil d'Ariane */
.inv-breadcrumb{font-size:.8rem; color:oklch(0.45 0.02 9); margin-bottom:1rem; text-transform:uppercase; letter-spacing:.03em}
.inv-breadcrumb a{color:oklch(0.42 0.02 9); text-decoration:none}
.inv-breadcrumb a:hover{text-decoration:underline}
.inv-breadcrumb .sep{margin:0 .4em; opacity:.6}

/* content */
.inv-content-narrow{max-width:74ch}
.inv-content-block{margin-bottom:2rem}
.inv-check{list-style:none; padding:0}
.inv-check li{padding-left:1.6em; position:relative; margin-bottom:.5em}
.inv-check li::before{content:"✓"; position:absolute; left:0; color:var(--inv-accent-d); font-weight:700}
.inv-steps{padding-left:1.2em}
.inv-steps li{margin-bottom:.7em}

/* avis */
.inv-avis{margin-top:.5rem}
.inv-avis-score{font-weight:700; font-size:1.1rem; margin-bottom:1rem; font-family:var(--font-title); text-transform:uppercase; letter-spacing:.02em}
.inv-avis-list{list-style:none; margin:0; padding:0; display:grid; gap:1rem; grid-template-columns:repeat(2,1fr)}
@media (max-width:760px){.inv-avis-list{grid-template-columns:1fr}}
.inv-avis-item{background:var(--inv-white); border:var(--inv-border); border-radius:0; padding:1rem}
.inv-avis-head{display:flex; justify-content:space-between; align-items:baseline; gap:.5rem; margin-bottom:.4em; flex-wrap:wrap}
.inv-stars{color:var(--inv-accent-d); letter-spacing:1px}
.inv-avis-who{font-size:.8rem; color:oklch(0.4 0.02 9)}
.inv-avis-profil{font-weight:700; color:var(--inv-ink)}
.inv-avis-more{margin-top:1rem}
.inv-avis-more summary{cursor:pointer; font-weight:700; text-transform:uppercase; font-size:.85rem; letter-spacing:.03em}

/* faq */
.inv-faq{margin-top:.5rem}
.inv-faq-item{border-bottom:var(--inv-border-thin); padding:.9rem 0}
.inv-faq-item summary{cursor:pointer; font-weight:700; font-size:1rem}
.inv-faq-a{padding-top:.6rem; color:oklch(0.32 0.02 9)}

/* blog */
.inv-blog-list{display:grid; gap:1.4rem; margin-top:1.5rem}
.inv-blog-item{border-bottom:var(--inv-border-thin); padding-bottom:1.2rem}
.inv-blog-date{font-size:.8rem; color:oklch(0.45 0.02 9); margin-bottom:.2em; text-transform:uppercase; letter-spacing:.03em}
.inv-article-body h2{margin-top:1.6em}

/* cta final */
.inv-cta-final{background:var(--inv-ink); color:var(--inv-white)}
.inv-cta-final h2{color:var(--inv-white)}
.inv-cta-final .inv-lede{color:oklch(0.92 0.01 9)}
.inv-cta-final .inv-field label{color:var(--inv-white)}
.inv-cta-final .inv-consent{color:var(--inv-white)}
.inv-cta-final .inv-field input, .inv-cta-final .inv-field select, .inv-cta-final .inv-field textarea{border-color:oklch(0.7 0.02 9)}

/* footer */
.inv-footer{background:var(--inv-surface); border-top:var(--inv-border); padding:2.5rem 0 1.5rem; margin-top:2rem; font-size:.9rem}
.inv-footer-cols{display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:1.5rem; margin-bottom:1.5rem}
@media (max-width:760px){.inv-footer-cols{grid-template-columns:1fr 1fr}}
.inv-footer-h{font-weight:700; margin-bottom:.4em; text-transform:uppercase; letter-spacing:.03em; font-size:.85rem}
.inv-footer ul{list-style:none; padding:0; margin:0}
.inv-footer li{margin-bottom:.3em}
.inv-footer-brand{font-family:var(--font-title); text-transform:uppercase; letter-spacing:.02em; font-size:1.2rem; margin-bottom:.3em}
.foot-sources{font-size:.76rem; color:oklch(0.36 0.02 9); border-top:var(--inv-border-thin); padding-top:1rem; margin-top:.5rem}
.inv-copy{font-size:.78rem; color:oklch(0.34 0.02 9); margin-top:.6rem}
