/* Hub / guide pages: components styled after the Divi pages (dark hero, light-blue bands, red CTAs) */
.hub{font-family:'Open Sans',Helvetica,Arial,sans-serif;color:#2c3641;font-size:16px;line-height:1.7}
.hub h1,.hub h2,.hub h3{font-family:'Ubuntu',Helvetica,Arial,sans-serif;line-height:1.2;padding-bottom:0}
.hub-hero{background:#2c3641 center/cover no-repeat;position:relative;padding:130px 20px 90px;text-align:center;color:#fff}
.hub-hero::before{content:"";position:absolute;inset:0;background:rgba(44,54,65,.72)}
.hub-hero>*{position:relative;max-width:980px;margin-left:auto;margin-right:auto}
.hub-hero__kicker{display:block;font-weight:600;text-transform:uppercase;letter-spacing:1px;font-size:22px;color:#fff}
.hub-hero h1{color:#fff!important;font-size:52px;font-weight:600;margin:.2em auto .4em}
.hub-hero p{font-size:18px;color:#fff;max-width:760px}
.hub-section{padding:70px 20px;background:#fff}
.hub-section--light{background:#ceddee}
.hub-section--dark{background:#2c3641;color:#fff}
.hub-section--dark h2,.hub-section--dark h3{color:#fff!important}
.hub-inner{max-width:1080px;margin:0 auto}
.hub h2{font-size:34px;color:#0E5F9C;font-weight:600;margin-bottom:.6em;text-align:center}
.hub h3{font-size:22px;color:#2c3641;font-weight:600;margin:.2em 0 .5em}
.hub-lead{max-width:820px;margin:0 auto 2em;text-align:center;font-size:17px}
.hub p{padding-bottom:1em}
.hub ul{padding:0 0 1em 1.2em;list-style:disc}
.hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:26px}
.hub-card{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 8px 24px rgba(44,54,65,.12);display:flex;flex-direction:column}
.hub-card img{width:100%;height:200px;object-fit:cover;display:block;background:#2c3641}
.hub-card img.hub-card__img--contain{object-fit:contain;padding:14px}
.hub-card__body{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1}
.hub-card__body p{font-size:15px;flex:1}
.hub-btn{display:inline-block;align-self:flex-start;background:#D81B1F;color:#fff!important;font-weight:700;text-transform:uppercase;font-size:14px;padding:10px 20px;border-radius:30px;text-decoration:none;transition:background .3s}
.hub-btn:hover{background:#b3161a}
.hub-btn--outline{background:transparent;border:2px solid #fff}
.hub-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.hub-table{width:100%;border-collapse:collapse;background:#fff;font-size:15px;min-width:720px}
.hub-table th,.hub-table td{border:1px solid #d6e0ea;padding:12px 14px;text-align:left;vertical-align:top}
.hub-table thead th{background:#0E5F9C;color:#fff;font-family:'Ubuntu',Helvetica,Arial,sans-serif}
.hub-table tbody th{background:#f3f7fb;font-weight:600;width:190px}
.hub-steps{counter-reset:step;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px}
.hub-step{background:#fff;border-radius:8px;padding:24px;position:relative;box-shadow:0 6px 18px rgba(44,54,65,.1)}
.hub-step:not(.hub-step--plain)::before{counter-increment:step;content:counter(step);display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#D81B1F;color:#fff;font-weight:700;margin-bottom:10px}
.hub-cta{text-align:center}
.hub-cta p{max-width:720px;margin:0 auto 1.2em}
.hub-cta .hub-btn{margin:6px}
.hub-note{font-size:14px;opacity:.85}
.hub-two{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
@media (max-width:980px){.hub-hero{padding:110px 16px 60px}.hub-hero h1{font-size:34px}.hub-hero__kicker{font-size:16px}.hub h2{font-size:27px}.hub-section{padding:50px 16px}.hub-two{grid-template-columns:1fr}}
.hub ul li,.hub p{text-align:left}
.hub-lead,.hub-cta p{text-align:center!important}
.hub-step--plain{border-top:4px solid #D81B1F}
.ref-group{margin:0 0 42px}
.ref-group h3{color:#0E5F9C;margin-bottom:.2em}
.ref-group>p{margin:0 0 14px;opacity:.85}
.ref-logos{list-style:none!important;padding:0!important;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.ref-logos li{background:#ceddee;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:18px;min-height:96px}
.ref-logos img{max-width:100%;max-height:64px;width:auto;height:auto}
/* Long compound words (German, Dutch, Polish editions) must not widen the page on phones */
.hub-table-wrap{max-width:100%;min-width:0}
.hub-hero h1,.hub-inner,.hub-card,.hub-table th,.hub-table td{overflow-wrap:break-word}
html:not([lang^="fr"]) :is(.hub-hero h1,.hub-inner,.hub-card,.hub-table th,.hub-table td){hyphens:auto}

/* Field cases page (a_propos/interventions) */
.case__tag{color:#e7302a!important;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:14px;padding-bottom:4px!important}
.case h2{text-align:left!important}
.case__lead{font-size:17px;max-width:860px}
.case-timeline{list-style:none!important;counter-reset:none;padding:0!important;margin:26px 0 30px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.case-timeline li{list-style:none!important;background:#fff;border:1px solid #e6ebf1;border-top:3px solid #e7302a;border-radius:6px;padding:18px 20px}
.case-timeline strong{display:block;color:#0E5F9C;font-size:18px;margin-bottom:6px}
.case-timeline span{color:#4a5563;font-size:15px;line-height:1.55}
.case-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.case-shot{margin:0;background:#fff;border:1px solid #e6ebf1;border-radius:6px;overflow:hidden}
.case-shot img{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#11161c}
.case-shot figcaption,.case-video figcaption{font-size:13px;line-height:1.45;color:#5b6673;padding:8px 2px 0;background:#fff}
.case-shot figcaption{padding:8px 10px 10px}
.case-video{margin:24px 0 0}
.case-video video{display:block;width:100%;max-width:860px;border-radius:6px;background:#000}
.case-two .case-video{margin:0}
.case__note{font-size:13px;color:#5b6673;margin-top:10px}
.case__links{margin-top:18px}
@media (max-width:980px){.case-timeline,.case-gallery{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.case-timeline,.case-gallery{grid-template-columns:1fr}}

/* Product pages (TRIVIGIX, VIGICASE) */
.product-two{align-items:center}
.product-figure{margin:0;text-align:center}
.product-figure img{display:block;max-width:100%;height:auto;margin:0 auto;border-radius:6px}
.product-figure--small img{max-width:420px;width:100%}
.product-figure figcaption{font-size:13px;color:#5b6673;margin-top:8px}
.product-list h3{color:#2c3641;font-size:22px;padding-bottom:10px}
.check-list,.check-list li{list-style:none!important}
.check-list{padding:0!important;margin:10px 0 0}
.check-list li{position:relative;padding:0 0 9px 28px;color:#4a5563;line-height:1.55}
.check-list li::before{content:"";position:absolute;left:2px;top:.35em;width:14px;height:8px;border-left:3px solid #e7302a;border-bottom:3px solid #e7302a;transform:rotate(-45deg)}
.product-actions{text-align:center}
.product-actions .hub-btn i{margin-right:6px}
.product-actions p{margin-top:16px}
.product-keys{border-top:1px solid #e6ebf1;border-bottom:1px solid #e6ebf1}

/* Custom-built solutions page */
.custom-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:26px}
.custom-card{background:#fff;border:1px solid #e6ebf1;border-top:3px solid #e7302a;border-radius:6px;padding:24px 22px}
.custom-card__icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:#fdeceb;color:#e7302a;font-size:19px;margin-bottom:12px}
.custom-card h3{color:#2c3641;font-size:19px;padding-bottom:6px}
.custom-card p{color:#4a5563;font-size:15px;line-height:1.55}
.custom-steps{list-style:none!important;counter-reset:step;padding:0!important;margin:26px 0 0;display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.custom-steps li{list-style:none!important;counter-increment:step;position:relative;padding:54px 16px 18px;background:#f5f7fa;border-radius:6px}
.custom-steps li::before{content:counter(step);position:absolute;left:16px;top:14px;width:30px;height:30px;border-radius:50%;background:#0E5F9C;color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center}
.custom-steps strong{display:block;color:#2c3641;font-size:16px;margin-bottom:6px}
.custom-steps span{color:#4a5563;font-size:14px;line-height:1.5}
@media (max-width:980px){.custom-grid{grid-template-columns:1fr 1fr}.custom-steps{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.custom-grid,.custom-steps{grid-template-columns:1fr}}

/* Broodmare and foal watch (stables page) */
.foaling{background:#fff;padding:64px 20px}
.foaling__inner{max-width:1080px;margin:0 auto}
.foaling h2{color:#0E5F9C;font-size:30px;line-height:1.2;padding-bottom:12px;text-align:left}
.foaling__lead{color:#4a5563;font-size:17px;line-height:1.6;max-width:860px}
.foaling__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px}
.foaling .case-video{margin:0}
.foaling .case-video video{max-width:100%}
.foaling__list{margin-top:26px;columns:2;column-gap:40px}
.foaling__list li{break-inside:avoid}
@media (max-width:860px){.foaling__grid{grid-template-columns:1fr}.foaling__list{columns:1}.foaling h2{font-size:24px}}

/* What is included (vs equipment-only rental) */
.included{background:#f5f7fa;padding:64px 20px}
.included__inner{max-width:1080px;margin:0 auto}
.included h2{color:#0E5F9C;font-size:30px;line-height:1.2;padding-bottom:12px;text-align:left}
.included__lead{color:#4a5563;font-size:17px;line-height:1.6;max-width:880px}
.included__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}
.included__item{background:#fff;border:1px solid #e6ebf1;border-top:3px solid #e7302a;border-radius:6px;padding:22px 20px}
.included__icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#fdeceb;color:#e7302a;font-size:18px;margin-bottom:12px}
.included__item h3{color:#2c3641;font-size:18px;padding-bottom:6px}
.included__item p{color:#4a5563;font-size:15px;line-height:1.55}
@media (max-width:980px){.included__grid{grid-template-columns:1fr 1fr}.included h2{font-size:24px}}
@media (max-width:560px){.included__grid{grid-template-columns:1fr}}

/* Custom-made reminder band on product and sector pages */
.custom-note{background:#fff;padding:26px 20px;border-top:1px solid #e6ebf1;border-bottom:1px solid #e6ebf1}
.custom-note__inner{max-width:1080px;margin:0 auto;display:flex;align-items:center;gap:16px}
.custom-note__icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#fdeceb;color:#e7302a;font-size:18px}
.custom-note p{margin:0;color:#2c3641;font-size:16px;line-height:1.55}
.custom-note a{font-weight:700;color:#e7302a!important}
@media (max-width:560px){.custom-note__inner{flex-direction:column;align-items:flex-start;gap:10px}}

/* Fire detection for stables and hay barns */
.hay{background:#f5f7fa;padding:64px 20px}
.hay__inner{max-width:1080px;margin:0 auto}
.hay__row{display:grid;grid-template-columns:1.05fr 1fr;gap:44px;align-items:center}
.hay__row+.hay__row{margin-top:48px;padding-top:44px;border-top:1px solid #e6ebf1}
.hay h2{color:#0E5F9C;font-size:30px;line-height:1.2;padding-bottom:12px;text-align:left}
.hay h3{color:#2c3641;font-size:22px;padding-bottom:10px}
.hay p{color:#4a5563;font-size:16px;line-height:1.6}
.hay__lead{font-size:17px}
.hay__figure{margin:0}
.hay__figure img{display:block;width:100%;height:auto;border-radius:6px;box-shadow:0 12px 30px rgba(44,54,65,.15)}
.hay__figure--contain img{background:#fff;box-shadow:none;border:1px solid #e6ebf1}
.hay__figure--pair{margin-top:18px}
.hay__figure--pair img{box-shadow:none;border:1px solid #e6ebf1}
.hay__figure figcaption{font-size:13px;color:#5b6673;margin-top:8px}
@media (max-width:900px){.hay__row,.hay__row--reverse{grid-template-columns:1fr;gap:24px}.hay__row--reverse figure{order:2}.hay h2{font-size:24px}}

/* Field cases: thermal and optical view of the same intrusion, side by side */
.case-two-videos{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}
.case-two-videos>div{grid-column:1/-1}
.case-two-videos .case-video{margin:0}
.case-two-videos .case-video video{max-width:100%}
@media (max-width:860px){.case-two-videos{grid-template-columns:1fr}}

/* Wind farm construction site gallery */
.wind-site{background:#fff;padding:64px 20px}
.wind-site__inner{max-width:1080px;margin:0 auto}
.wind-site h2{color:#0E5F9C;font-size:30px;line-height:1.2;padding-bottom:12px;text-align:left}
.wind-site__lead{color:#4a5563;font-size:17px;line-height:1.6;max-width:880px;margin-bottom:26px}
@media (max-width:900px){.wind-site h2{font-size:24px}}
