/* Shared public design: clear catalogues, photographic services, compact navigation. */
:root { --orange:#d94317; --orange-d:#b63510; --orange-bg:#fff1ec; --ink:#182323; --accent-tech:#087b76; --radius-md:8px; --radius-lg:8px; --radius-xl:8px; }
*,*::before,*::after { letter-spacing:0!important; }
body { color:#425052; }
h1,h2,h3,h4 { color:var(--ink); overflow-wrap:anywhere; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid #087b76; outline-offset:4px; }
.skip-link { position:fixed; top:-100px; left:16px; background:white; padding:12px; z-index:5000; }
.skip-link:focus { top:8px; }
#page-content { scroll-margin-top:80px; }
.container { max-width:1240px; }
.navbar,.navbar.scrolled { background:#fff; backdrop-filter:none; border-bottom:1px solid #e3e7e6; }
.navbar__inner { min-height:80px; gap:32px; }
.navbar__logo { margin-right:auto; }
.navbar__menu { background:none; border:0; border-radius:0; padding:0; gap:30px; }
.navbar__menu a { font-size:16px; padding:12px 0; border-radius:0; border-bottom:2px solid transparent; }
.navbar__menu a.active,.navbar__menu a:hover { color:var(--ink); background:none; border-color:var(--orange); }
.btn { border-radius:5px; gap:10px; }
.btn--primary,.btn--cart { background:var(--orange); border-color:var(--orange); box-shadow:none; }
.btn--cart { color:#fff; }
.btn--primary:hover,.btn--cart:hover { background:var(--orange-d); border-color:var(--orange-d); }
.text-gradient { background:none; -webkit-text-fill-color:currentColor; color:var(--accent-tech); }
.eyebrow { display:block; color:#08716b; font-size:12px; font-weight:700; text-transform:uppercase; margin-bottom:15px; }
.company-hero,.service-hero { position:relative; isolation:isolate; background-image:var(--hero-photo); background-size:cover; background-position:center 48%; color:#fff; margin-top:80px; }
.company-hero::before,.service-hero::before { content:''; position:absolute; inset:0; background:rgba(9,22,24,.64); z-index:-1; }
.company-hero .container { padding-top:86px; padding-bottom:50px; }
.company-hero h1 { font-size:64px; line-height:1.06; color:#fff; margin:0 0 26px; font-weight:750; }
.company-hero p { font-size:23px; line-height:1.55; max-width:650px; color:#fff; margin-bottom:30px; }
.company-hero .eyebrow,.service-hero .eyebrow { color:#c7efea; }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; }
.company-hero__location { border-top:1px solid #ffffff40; margin-top:55px; padding-top:22px; font-size:13px; display:flex; justify-content:space-between; gap:12px; }
.company-hero__location span { color:#d9e1df; }
.company-intro { padding:68px 0; }
.company-intro .container { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.company-intro h2 { font-size:31px; line-height:1.3; }
.company-intro p+p { margin-top:16px; }
.home-directory { padding:64px 0; border-top:1px solid #e4e9e8; }
.home-directory--soft { background:#f3f6f5; }
.section-heading-inline { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:30px; }
.section-heading-inline h2 { font-size:30px; line-height:1.25; }
.text-link { color:#a93112; font-weight:650; font-size:14px; display:inline-flex; gap:14px; align-items:center; }
.directory-heading { padding:140px 0 40px; background:#f3f6f5; border-bottom:1px solid #e3e8e7; }
.directory-heading h1 { font-size:44px; line-height:1.15; margin-bottom:20px; }
.directory-heading p { max-width:680px; font-size:18px; }
.directory-section { padding:44px 0 68px; }
.directory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.directory-item { display:flex; flex-direction:column; border:1px solid #dde4e2; border-radius:6px; background:white; overflow:hidden; transition:border-color .2s,transform .2s; }
.directory-item:hover { border-color:#889f9a; transform:translateY(-3px); }
.directory-item__media { aspect-ratio:1.7; background:#f5f7f6; overflow:hidden; }
.directory-item__media img { width:100%; height:100%; object-fit:cover; }
.directory-item__media--product img { object-fit:contain; padding:22px; background:#fff; }
.directory-item__body { padding:24px; display:flex; flex-direction:column; flex:1; }
.directory-item__body .eyebrow { font-size:10px; margin-bottom:10px; }
.directory-item h2 { font-size:21px; line-height:1.35; margin-bottom:12px; }
.directory-item p { font-size:14px; line-height:1.7; margin-bottom:22px; }
.directory-item .text-link { margin-top:auto; }
.section { padding:65px 0; }
.section-head { margin-bottom:36px; }
.section-head h2 { font-size:32px; }
.section-head__tag { border:0; background:none!important; color:#08716b; padding:0; border-radius:0; font-size:11px; }
.service-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.service-steps article { border-top:1px solid #cdd8d5; padding-top:22px; }
.service-steps article>span { color:#087b76; font-size:14px; display:block; margin-bottom:15px; }
.service-steps h3 { font-size:21px; margin-bottom:14px; }
.service-steps p { font-size:15px; }
.contact-band { background:#eaf2f0; padding:55px 0; border-top:1px solid #d4e2de; }
.contact-band .container { display:flex; justify-content:space-between; align-items:center; gap:32px; }
.contact-band h2 { font-size:28px; line-height:1.3; margin-bottom:12px; }
.contact-band .btn { flex-shrink:0; }
.service-hero .container { padding-top:72px; padding-bottom:70px; }
.service-hero h1 { color:#fff; font-size:46px; line-height:1.15; max-width:720px; margin-bottom:22px; }
.service-hero p { max-width:650px; font-size:18px; margin-bottom:25px; }
.readable { max-width:850px; }
.readable h2 { font-size:29px; margin-bottom:18px; }
.readable details { border-bottom:1px solid #cbd6d2; padding:20px 0; }
.readable summary { cursor:pointer; font-weight:650; color:var(--ink); }
.readable details p { padding-top:15px; }
.source-note { font-size:12px; margin-top:20px; }
.source-note a { text-decoration:underline; }
.page-hero,.page-hero--catalogue { padding:132px 0 34px; background:#f0f5f3; border-bottom:1px solid #dce5e1; }
.page-hero h1,.page-hero--catalogue h1 { font-size:40px; color:var(--ink); line-height:1.2; }
.page-hero p,.page-hero--catalogue p { color:#435955; font-size:17px; }
.page-hero .catalogue-crosslink { color:#a93112; }
.page-hero__stat { background:none!important; border:0!important; padding:8px!important; }
.page-hero__stat strong { color:#08716b!important; font-size:28px!important; }
.page-hero__stat span { color:#435955!important; }
.material-intro { padding:35px 0; }
.material-layout__content h2 { font-size:27px; }
.solution-packs { margin-top:25px; }
.solution-pack { padding:20px; border-radius:6px; }
.solution-pack h3 { font-size:18px; }
.solution-pack p { font-size:13px; }
.material-tree { background:none!important; border:0!important; border-radius:0!important; padding:0!important; }
.material-tree__item { border-radius:0; background:none; border-bottom:1px solid #dbe3df; }
.catalogue-tools { display:grid; grid-template-columns:minmax(180px,1fr) 180px 180px; gap:16px; margin:20px 0; padding:20px 0; border-top:1px solid #dde4e1; border-bottom:1px solid #dde4e1; }
.catalogue-tools label { display:flex; flex-direction:column; gap:7px; color:#4a5a55; font-size:12px; font-weight:600; }
.catalogue-tools input,.catalogue-tools select { width:100%; height:44px; padding:0 12px; border:1px solid #bfcfc9; background:#fff; border-radius:4px; font:inherit; font-size:14px; color:#20332d; }
.catalogue-results { font-size:13px; margin:14px 0; color:#536960; }
.catalogue-no-results { padding:32px; background:#f4f7f5; text-align:center; }
.products__grid { grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch; gap:20px; }
.product-card { border:1px solid #dce4e0; border-radius:6px; box-shadow:none; display:flex; flex-direction:column; min-width:0; position:relative; }
.product-card__image { display:block; height:auto!important; aspect-ratio:1.25; margin:0; background:#fff; border-radius:0!important; position:relative; }
.product-card h3 a, .surveillance-offer h3 a, .computer-offer h3 a { color:inherit; }
.product-card h3 a:hover, .surveillance-offer h3 a:hover, .computer-offer h3 a:hover { text-decoration:underline; text-underline-offset:3px; }
.product-page { margin-top:80px; padding:24px 0 0; color:#132b30; }
.page-produit .whatsapp-float { display:none; }
@media(max-width:768px) { .product-page { margin-top:70px; } }
.product-page a:focus-visible, .product-page button:focus-visible, .product-page input:focus-visible { outline:3px solid #007a78; outline-offset:4px; }
.product-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; font-size:12px; color:#536461; margin-bottom:20px; overflow-wrap:anywhere; }
.product-breadcrumb a { color:#426560; }
.product-back { display:inline-flex; gap:8px; align-items:center; color:#176653; font-size:14px; font-weight:600; padding:8px 0; }
.product-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; padding:26px 0 48px; align-items:start; }
.product-gallery { margin:0; min-width:0; }
.product-gallery img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; background:#fff; }
.product-gallery figcaption { color:#586762; font-size:12px; line-height:1.6; padding:14px 0; border-top:1px solid #e0e7e4; }
.product-no-image { aspect-ratio:1; display:grid; place-items:center; background:#f4f6f5; color:#5b6e65; }
.product-summary { min-width:0; }
.product-meta { display:flex; flex-wrap:wrap; gap:12px; color:#08716b; font-size:12px; font-weight:700; margin-bottom:12px; }
.product-meta span+span { color:#556360; font-weight:500; border-left:1px solid #cad6cf; padding-left:12px; }
.product-summary h1 { font-size:30px; line-height:1.25; letter-spacing:0; margin:0 0 14px; overflow-wrap:anywhere; }
.product-reference { color:#60716c; font-size:12px; margin:0 0 18px; }
.product-description { font-size:14px; color:#435c57; line-height:1.75; white-space:normal; overflow-wrap:anywhere; }
.product-highlights { list-style:disc; padding-left:18px; margin:18px 0 24px; font-size:14px; line-height:1.8; }
.product-highlights li::marker { color:#177365; }
.product-purchase { padding:22px 0 0; border-top:1px solid #dbe5e0; }
.product-price { display:flex; align-items:baseline; gap:18px; flex-wrap:wrap; }
.product-price strong { font-size:32px; font-weight:800; line-height:1.25; }
.product-price del { font-size:15px; color:#607069; }
.product-stock, .product-order-note { font-size:12px; line-height:1.7; color:#566962; margin:8px 0 18px; }
.product-quantity-label { display:block; font-size:13px; font-weight:600; margin-bottom:8px; }
.product-quantity { display:inline-grid; grid-template-columns:42px 56px 42px; height:42px; border:1px solid #c7d4cf; border-radius:4px; margin-bottom:14px; overflow:hidden; }
.product-quantity button { background:#f3f6f4; border:0; color:#133c33; cursor:pointer; font-size:22px; }
.product-quantity input { width:100%; min-width:0; text-align:center; border:0; border-left:1px solid #dce5df; border-right:1px solid #dce5df; font-family:inherit; font-size:16px; font-weight:600; border-radius:0; appearance:textfield; }
.product-quantity input::-webkit-inner-spin-button, .product-quantity input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.product-actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.product-actions .btn { min-height:48px; white-space:normal; padding:12px; font-size:13px; }
.product-actions .btn--outline { background:#fff; border:1px solid #176653; color:#176653; }
.product-specifications { border-top:1px solid #dbe5e0; padding:44px 0; display:grid; grid-template-columns:1fr 1.3fr; gap:72px; }
.product-specifications h2 { font-size:23px; margin:10px 0 14px; line-height:1.35; }
.product-specifications p { font-size:14px; color:#4a6158; line-height:1.75; }
.product-specifications .text-link { border:0; background:none; padding:14px 0; cursor:pointer; font:inherit; color:#176653; }
.product-specifications dl>div { display:grid; grid-template-columns:minmax(100px,1fr) 2fr; gap:16px; padding:14px 0; border-bottom:1px solid #e2e9e6; font-size:14px; }
.product-specifications dt { font-weight:600; }
.product-specifications dd { margin:0; color:#4c625c; overflow-wrap:anywhere; }
.product-all-features { list-style:disc; padding:20px 0 0 18px; font-size:14px; line-height:1.9; color:#4c625c; }
.product-return-bottom { padding:18px 0 36px; border-top:1px solid #dbe5e0; }
.product-unavailable { padding:60px 0 100px; max-width:700px; }
.product-unavailable h1 { font-size:30px; line-height:1.3; }
.product-unavailable p { padding:20px 0; }
.cart-order-status { font-size:12px; line-height:1.6; color:#3b554a; margin:0 0 14px; }
#cartWhatsAppLink[hidden], #cartOrderButton[hidden] { display:none!important; }
#cartOrderButton:disabled { opacity:.65; cursor:wait; }
@media(max-width:900px) { .product-layout { gap:28px; } .product-summary h1 { font-size:25px; } .product-actions { grid-template-columns:1fr; } .product-specifications { gap:30px; } }
@media(max-width:600px) { .product-layout { grid-template-columns:1fr; gap:18px; padding-top:14px; } .product-gallery img { aspect-ratio:1.35; max-height:350px; } .product-summary h1 { font-size:24px; } .product-breadcrumb { font-size:11px; } .product-back { font-size:12px; } .product-specifications { grid-template-columns:1fr; gap:20px; padding:30px 0; } .product-price strong { font-size:28px; } .product-specifications h2 { font-size:21px; } }
.product-card__image img { width:100%; height:100%; object-fit:contain; padding:22px; }
.product-card__image-note { position:absolute; bottom:4px; left:10px; font-size:10px; color:#66756d; }
.product-card__body { padding:17px!important; display:flex; flex-direction:column; flex:1; }
.product-card__body h3 { font-size:15px; line-height:1.45; min-height:44px; margin-bottom:13px; }
.product-card__brand { font-size:10px; color:#08716b; margin-bottom:7px; }
.product-card__features { font-size:12px; margin-bottom:14px; }
.product-card__pricing { margin-top:auto; padding-top:12px; }
.product-card__price { font-size:22px; color:var(--ink); }
.product-card__badge { top:10px; left:10px; border-radius:3px; background:#edf5f1; color:#176145; font-size:10px; z-index:1; }
.product-card__detail { font-size:12px; padding:10px 0; color:#516259; }
.product-card__detail summary { cursor:pointer; text-decoration:underline; }
.product-card__detail p { padding:8px 0; overflow-wrap:anywhere; }
.product-card__availability { font-size:11px; color:#52645d; display:block; margin:6px 0 12px; min-height:30px; }
.cat-tab { border-radius:4px; font-size:13px; }
.cat-tab--active { background:#1b3933; border-color:#1b3933; }
.portfolio-card__preview { height:230px; }
.portfolio-card__preview>img { width:100%; height:100%; object-fit:cover; }
.portfolio-card { border-radius:6px; }
.portfolio-card__info h3 { font-size:19px; }
.portfolio-card__tag { font-size:10px; }
.agent-card__photo { width:100%; aspect-ratio:1.7; object-fit:cover; margin-bottom:20px; }
.agent-card { border-radius:6px; }
.agent-card h3 { font-size:21px; }
.ia-intro>* { min-width:0; }
.ia-intro__visual img { width:100%; aspect-ratio:1.55; object-fit:cover; border-radius:6px; }
.ia-intro__stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.ia-intro__stat strong { font-size:23px; color:#08716b; }
.ia-intro__stat span { font-size:12px; overflow-wrap:anywhere; }
.pricing-card { border-radius:6px; }
.pricing-card__amount { font-size:42px; }
.cta__box { border-radius:0; background:#eaf2f0; padding:44px 0; }
.cta__box h2 { font-size:30px; color:var(--ink); }
.cta__box p { color:#4b625a; }
.cta .btn--white { background:#193d32; color:white; }
.cta .btn--outline-white { border-color:#193d32; color:#193d32; }
.footer { background:#17231f; padding-top:48px; }
.footer__socials { display:none; }
.footer__grid { gap:35px; }
.footer__brand p { font-size:13px; }
.footer__col ul a { font-size:13px; }
.fade-in { opacity:1; transform:none; }
[hidden] { display:none!important; }
.navbar__burger { display:none!important; }
@media(max-width:1020px) { .products__grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .directory-grid { gap:16px; } .directory-item__body { padding:18px; } }
@media(max-width:768px) {
 .container { padding-left:20px; padding-right:20px; }
 .navbar__inner { min-height:70px; gap:12px; }
 .navbar__logo img { height:30px; }
 .navbar__right { gap:5px; }
 .navbar__menu { gap:0; padding:12px 20px; background:#fff; border-bottom:1px solid #d9e5df; }
 .navbar__menu a { padding:12px 0; }
 .company-hero,.service-hero { margin-top:70px; }
 .company-hero .container { padding-top:65px; padding-bottom:30px; }
 .company-hero h1 { font-size:43px; }
 .company-hero p { font-size:19px; }
 .company-hero__location { margin-top:35px; flex-direction:column; font-size:12px; }
 .company-intro { padding:40px 0; }
 .company-intro .container { grid-template-columns:1fr; gap:24px; }
 .company-intro h2 { font-size:27px; }
 .home-directory,.section { padding:42px 0; }
 .section-heading-inline { display:block; }
 .section-heading-inline .text-link { margin-top:15px; }
 .section-heading-inline h2,.section-head h2 { font-size:27px; }
 .directory-grid,.service-steps { grid-template-columns:1fr; gap:24px; }
 .directory-item__media { aspect-ratio:1.9; }
 .directory-heading { padding:108px 0 30px; }
 .directory-heading h1,.service-hero h1 { font-size:34px; }
 .service-hero .container { padding-top:48px; padding-bottom:45px; }
 .page-hero,.page-hero--catalogue { padding:110px 0 30px; }
 .page-hero h1 { font-size:32px; }
 .contact-band { padding:36px 0; }
 .contact-band .container { align-items:start; flex-direction:column; gap:22px; }
 .contact-band h2 { font-size:26px; }
 .products__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .product-card__body { padding:12px!important; }
 .product-card__body h3 { font-size:13px; }
 .product-card__price { font-size:18px; }
 .product-card__features { font-size:11px; }
 .product-card__image img { padding:13px; }
 .product-card .btn { font-size:11px; padding:10px 5px; }
 .catalogue-tools { grid-template-columns:1fr 1fr; gap:12px; }
 .catalogue-tools label:first-child { grid-column:1/-1; }
 .footer__grid { grid-template-columns:1fr 1fr; }
 .footer__brand { grid-column:1/-1; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

/* Both catalogue entries remain available without opening a mobile menu. */
.navbar__menu,.navbar__menu.active { display:flex; position:static; flex-direction:row; align-items:center; width:auto; max-height:none; overflow:visible; padding:0; gap:30px; box-shadow:none; border:0; background:none; }
.navbar__menu a { white-space:nowrap; }
.cart-toggle { width:58px; height:44px; justify-content:center; }
#cartCount { position:absolute; top:0; right:0; max-width:36px; overflow:hidden; }
.maps-hero { background-color:#e6eaed; background-size:cover; background-repeat:no-repeat; background-position:right center; min-height:480px; height:clamp(480px,33.333vw,640px); display:flex; align-items:center; color:#283b38; }
.maps-hero::before { display:none; }
.maps-hero .container { width:100%; padding-top:40px; padding-bottom:40px; }
.maps-hero h1 { color:#172e28; font-size:44px; }
.maps-hero .eyebrow { color:#08716b; }
.maps-hero__copy { max-width:43%; }
.maps-example { font-size:11px; line-height:1.6; padding-top:12px; padding-bottom:12px; color:#586761; }
.catalog-photo-hero { position:relative; isolation:isolate; margin-top:80px; min-height:460px; display:flex; align-items:center; background:#edf0ef; }
.catalog-photo-hero__image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:right center; z-index:-1; }
.catalog-photo-hero .container { width:100%; padding-top:44px; padding-bottom:44px; }
.catalog-photo-hero__copy { max-width:42%; }
.catalog-photo-hero h1 { font-size:42px; line-height:1.15; margin:0 0 22px; }
.catalog-photo-hero p { font-size:17px; line-height:1.65; margin-bottom:24px; color:#243c37; }
.catalog-photo-hero .hero-actions { align-items:center; gap:20px; }
.catalog-photo-hero .catalogue-crosslink { font-size:13px; }
.catalog-summary { display:flex; flex-wrap:wrap; gap:12px 22px; margin-top:30px; color:#203d35; font-size:12px; }
.catalog-summary strong { font-size:16px; font-weight:750; }
#catalogue,#installation-packs { scroll-margin-top:96px; }
[id^="produit-"] { scroll-margin-top:96px; }
.equipment-overview { padding:52px 0; border-bottom:1px solid #dbe4df; }
.equipment-overview__heading { display:flex; align-items:center; justify-content:space-between; gap:36px; margin-bottom:28px; }
.equipment-overview h2,.professional-packs h2 { font-size:28px; line-height:1.3; margin-bottom:12px; }
.equipment-overview p,.equipment-overview__heading p { max-width:700px; font-size:15px; }
.equipment-overview__heading .btn,.equipment-overview__heading>.text-link { flex-shrink:0; }
.equipment-overview__categories { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.equipment-overview__categories a { border-bottom:1px solid #becfc8; padding-bottom:20px; display:block; }
.equipment-overview__categories a:hover { border-color:var(--orange); }
.equipment-overview__categories img { width:100%; aspect-ratio:1.8; height:auto; object-fit:contain; padding:14px; margin-bottom:18px; background:#f7f9f8; }
.equipment-overview__categories strong { color:#203b32; font-size:15px; line-height:1.5; display:block; margin-bottom:7px; }
.equipment-overview__categories span { font-size:12px; line-height:1.6; display:block; }
.professional-packs { padding:56px 0 64px; background:#f0f5f3; border-top:1px solid #dce5e1; }
.professional-packs .solution-packs { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.professional-packs .solution-pack { display:flex; flex-direction:column; min-width:0; background:#fff; box-shadow:none; }
.professional-packs .solution-pack>strong { margin-top:auto; padding-top:12px; font-size:19px; color:#203d35; }
.professional-packs .solution-pack ul { margin:18px 0 24px; flex:1; }
.surveillance-offer { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:48px; align-items:center; padding:32px 0 44px; }
.surveillance-offer figure { margin:0; min-width:0; }
.surveillance-offer img { width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; }
.surveillance-offer figcaption { font-size:11px; line-height:1.6; margin-top:12px; color:#52665e; }
.surveillance-offer h3 { font-size:28px; line-height:1.3; margin-bottom:14px; }
.surveillance-offer p { font-size:14px; line-height:1.7; }
.surveillance-offer ul { margin:20px 0; display:grid; grid-template-columns:1fr 1fr; gap:10px 24px; padding-left:18px; font-size:14px; }
.surveillance-offer li { list-style:disc; }
.surveillance-offer li::marker { color:#08716b; }
.surveillance-offer__price { display:flex; align-items:baseline; flex-wrap:wrap; gap:10px 20px; margin:24px 0; }
.surveillance-offer__price strong { color:#182e27; font-size:38px; line-height:1.2; }
.surveillance-offer__price small { font-size:19px; }
.surveillance-offer__price span { font-size:12px; }
.installation-service { display:grid; grid-template-columns:1fr 1fr; gap:64px; padding-top:40px; margin-top:20px; border-top:1px solid #bfcfc7; }
.installation-service h3 { font-size:27px; line-height:1.35; margin-bottom:16px; }
.installation-service p { font-size:15px; line-height:1.7; margin-bottom:24px; }
.installation-service__contact { display:block; margin-top:18px; padding:5px 0; border:0; background:none; cursor:pointer; font-size:13px; text-decoration:underline; text-underline-offset:4px; color:#203d35; }
.installation-service .surveillance-checklist { margin:0; }
.company-hero__offer { display:inline-block; margin-top:22px; padding:8px 0; color:#fff; font-size:14px; font-weight:650; text-decoration:underline; text-underline-offset:5px; }
.company-hero__offer:hover { color:#fff; text-decoration-thickness:2px; }
.surveillance-promotion--active { border-top:4px solid #df420e; background:#f4f7f5; }
.surveillance-promotion--active .equipment-overview__heading .eyebrow { color:#b4350a; }
.surveillance-promotion .equipment-overview__heading>div { min-width:0; }
.surveillance-promotion .equipment-overview__heading>.text-link { flex-shrink:1; max-width:260px; }
.promotion-validity { display:flex; align-items:center; gap:22px; padding:20px 24px; margin:0 0 28px; border-left:4px solid #df420e; background:#fff; color:#263f35; font-size:14px; line-height:1.7; }
.promotion-validity__duration { flex:none; text-align:center; padding-right:22px; border-right:1px solid #dce5df; color:#b4350a; }
.promotion-validity__duration strong { display:block; font-size:38px; line-height:1.1; }
.promotion-validity__duration span { font-size:12px; }
.promotion-validity__label { font-size:15px; }
.promotion-validity p { margin:3px 0; font-size:14px; }
.promotion-validity>div>span { font-size:12px; }
.promotion-validity time { font-weight:700; white-space:nowrap; }
.monthly-offer-teaser { background:#fff; border-bottom:1px solid #dce5df; border-top:4px solid #df420e; padding:24px 0; }
.monthly-offer-teaser .container { display:flex; align-items:center; gap:32px; }
.monthly-offer-teaser h2 { font-size:24px; line-height:1.25; margin:0; }
.monthly-offer-teaser .eyebrow { font-size:10px; margin-bottom:7px; }
.monthly-offer-teaser__prices { display:flex; flex:1; gap:32px; min-width:0; }
.monthly-offer-teaser__prices>span { flex:1; font-size:13px; line-height:1.65; color:#435750; }
.monthly-offer-teaser__prices strong { display:block; color:#163d33; font-size:22px; }
.monthly-offer-teaser .btn { flex-shrink:0; }
.catalog-photo-hero p.catalog-photo-hero__caption { font-size:11px; line-height:1.6; margin:20px 0 0; color:#435750; }
.catalog-photo-hero__media { display:contents; }
.offers-heading { margin-top:80px; padding:34px 0 0; background:#fff; }
.offers-heading>.container>.text-link { font-size:12px; }
.offers-heading__intro { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:48px; align-items:center; padding:28px 0; }
.offers-heading h1 { font-size:42px; line-height:1.15; margin:0 0 16px; }
.offers-heading__intro>div>p { max-width:620px; font-size:16px; line-height:1.7; }
.offers-heading .promotion-validity { background:#f4f7f5; margin:0; }
.offers-shortcuts { display:flex; flex-wrap:wrap; gap:16px 36px; padding:20px 0; border-top:1px solid #dce5df; }
.offers-shortcuts a { color:#17614e; font-size:14px; }
.offers-shortcuts a:hover { text-decoration:underline; text-underline-offset:4px; }
.offers-shortcuts strong { margin-left:8px; }
.computer-offers { padding:52px 0 64px; background:#fff; }
.computer-offers h2 { font-size:28px; line-height:1.3; margin-bottom:12px; }
.computer-offer { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:48px; padding-bottom:40px; }
.computer-offer figure { margin:0; min-width:0; }
.computer-offer img { display:block; width:100%; aspect-ratio:1.25; object-fit:contain; }
.computer-offer figcaption { font-size:11px; line-height:1.6; color:#52665e; margin-top:12px; }
.computer-offer h3 { font-size:28px; line-height:1.35; margin-bottom:18px; }
.computer-offer p { font-size:14px; line-height:1.8; }
.computer-offer ul { margin:20px 0; padding-left:18px; }
.computer-offer li { list-style:disc; font-size:14px; line-height:1.8; margin-bottom:9px; }
.computer-offer li::marker { color:#df420e; }
.computer-offers__more { font-size:21px; margin:24px 0; padding-top:28px; border-top:1px solid #dce5df; }
#offres-informatique { scroll-margin-top:96px; }
.consumable-guide { padding:32px 0 52px; background:#fff; }
#compatibilite { scroll-margin-top:96px; }
.consumable-guide h2 { font-size:28px; line-height:1.3; margin-bottom:14px; }
.consumable-guide .catalogue-breadcrumb { color:#52645d; margin-bottom:32px; font-size:12px; }
.reference-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px; }
.reference-item { min-width:0; display:flex; flex-direction:column; padding-bottom:22px; border-bottom:1px solid #bdcdc5; }
.reference-item__photo { display:block; aspect-ratio:1.45; margin-bottom:20px; background:#f7f9f8; }
.reference-item__photo img { width:100%; height:100%; object-fit:contain; padding:18px; }
.reference-item h3 { color:#20352e; font-size:16px; line-height:1.45; margin-bottom:12px; }
.reference-item p { color:#435750; font-size:13px; line-height:1.7; margin-bottom:18px; }
.reference-item>.text-link { margin-top:auto; }
.reference-item__source { color:#52645d; font-size:11px; text-decoration:underline; text-underline-offset:3px; margin-top:14px; }
.reference-note { color:#52645d; font-size:12px; line-height:1.7; margin:22px 0 30px; }
.consumable-types { display:grid; grid-template-columns:1fr 1fr; gap:40px; padding-top:26px; border-top:1px solid #dce5df; }
.consumable-types h3 { font-size:18px; margin-bottom:10px; color:#20352e; }
.consumable-types p { font-size:14px; line-height:1.7; color:#435750; }
.consumable-answers summary { font-size:16px; line-height:1.6; }
.consumable-answers details p { font-size:15px; line-height:1.8; }
.consumables-page .contact-band p+p { font-size:13px; margin-top:12px; }
.consumables-page .contact-band p a { text-decoration:underline; }
@media(max-width:1024px) {
 .surveillance-page .catalog-photo-hero__image { height:auto; aspect-ratio:2159/728; object-fit:contain; }
 .monthly-offer-teaser .container { flex-wrap:wrap; gap:20px; }
 .monthly-offer-teaser__prices { flex-basis:50%; }
 .offers-heading__intro { gap:28px; }
 .computer-offer { gap:28px; }
 .navbar__menu,.navbar__menu.active { gap:24px; }
 .maps-hero__copy { max-width:42%; }
 .maps-hero h1 { font-size:36px; }
 .catalog-photo-hero { display:flex; flex-direction:column; align-items:stretch; min-height:0; }
 .catalog-photo-hero .container { padding-top:32px; padding-bottom:24px; }
 .catalog-photo-hero__copy { max-width:680px; }
 .catalog-photo-hero__image { position:static; order:1; z-index:auto; height:240px; object-position:right center; }
 .catalog-photo-hero h1 { font-size:36px; }
 .catalog-summary { margin-top:22px; }
 .professional-packs .solution-packs { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .surveillance-offer { gap:28px; }
}
@media(max-width:768px) {
 .surveillance-page .catalog-photo-hero__image { aspect-ratio:4/3; }
 .monthly-offer-teaser .container { align-items:flex-start; }
 .monthly-offer-teaser__prices { flex-basis:100%; gap:20px; }
 .monthly-offer-teaser .btn { width:100%; white-space:normal; }
 .offers-heading { margin-top:70px; padding-top:28px; }
 .offers-heading__intro { grid-template-columns:1fr; gap:24px; }
 .offers-heading h1 { font-size:34px; }
 .promotion-validity { padding:16px; gap:16px; }
 .promotion-validity__duration { padding-right:16px; }
 .computer-offers { padding:36px 0; }
 .computer-offer { grid-template-columns:1fr; gap:24px; }
 .computer-offer h3 { font-size:25px; }
 .navbar__inner { height:70px; gap:12px; }
 .navbar__logo img { width:88px; height:auto; }
 .navbar__menu,.navbar__menu.active { gap:16px; }
 .navbar__menu a { padding:13px 0; font-size:14px; }
 .cart-toggle { width:44px; padding:10px!important; }
 .maps-hero { background-image:var(--hero-mobile); background-position:center bottom; height:640px; align-items:flex-start; }
 .maps-hero .container { padding-top:32px; padding-bottom:32px; }
 .maps-hero__copy { max-width:50%; }
 .maps-hero h1 { font-size:32px; }
 .maps-hero p { font-size:16px; }
 .catalog-photo-hero { margin-top:70px; }
 .catalog-photo-hero h1 { font-size:32px; }
 .catalog-photo-hero p { font-size:16px; }
 .catalog-photo-hero__image { height:190px; }
 .catalog-summary { font-size:11px; gap:10px 18px; }
 .equipment-overview,.professional-packs { padding:36px 0; }
 .equipment-overview__heading { flex-direction:column; align-items:start; gap:20px; }
 .equipment-overview__categories { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 16px; }
 .equipment-overview__categories strong { font-size:14px; }
 .equipment-overview__categories img { margin-bottom:12px; padding:10px; }
 .surveillance-offer,.installation-service { grid-template-columns:1fr; gap:24px; }
 .surveillance-offer { padding:0 0 24px; }
 .surveillance-offer h3,.installation-service h3 { font-size:25px; }
 .surveillance-offer__price strong { font-size:34px; }
 .installation-service { padding-top:32px; }
 .consumable-guide { padding:28px 0 36px; }
 .consumable-guide h2 { font-size:26px; }
 .reference-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 16px; }
 .reference-item h3 { font-size:15px; }
 .reference-item__photo img { padding:10px; }
 .reference-item__photo { margin-bottom:14px; }
 .consumable-types { grid-template-columns:1fr; gap:24px; }
}
@media(max-width:520px) {
 .maps-hero { height:660px; }
 .maps-hero .container { padding-top:24px; }
 .maps-example+.section { padding-top:28px; }
 .maps-hero__copy { max-width:100%; }
 .professional-packs .solution-packs { grid-template-columns:1fr; }
 .surveillance-offer ul { grid-template-columns:1fr; }
}
@media(max-width:360px) {
 .maps-hero h1 { font-size:30px; }
 .navbar__inner { padding-left:12px; padding-right:12px; gap:8px; }
 .navbar__menu,.navbar__menu.active { gap:12px; }
 .navbar__logo img { width:78px; }
}
