/* HSE uses native Elementor widgets. Shared site navigation remains independent. */
.tpp-hse-page .header-breadcamb-fixer { display:none; }
.tpp-hse { --hse-ink:#182e3b; --hse-red:#d8242f; --hse-muted:#526570; --hse-line:#dce5e8; color:var(--hse-ink); font-family:Inter,Arial,sans-serif; text-align:left; }
.tpp-hse,.tpp-hse * { box-sizing:border-box; }
.tpp-hse.e-con,.tpp-hse .e-con { --container-max-width:none; --container-default-padding:0px; --widgets-spacing:0px; --gap:0px; --row-gap:0px; --column-gap:0px; padding:0; margin:0; gap:0; min-width:0; max-width:none; }
.tpp-hse.e-con { width:100%; }
.tpp-hse .elementor-widget { margin:0; min-width:0; --widgets-spacing:0px; }
.tpp-hse .elementor-widget-container { margin:0; }
.tpp-hse .tpp-hse-wrap { width:calc(100% - 40px); max-width:1200px; margin-inline:auto; }
.tpp-hse :is(h1,h2,h3) { color:var(--hse-ink); font-family:inherit; line-height:1.3; letter-spacing:-.6px; }
.tpp-hse .elementor-widget-heading .elementor-heading-title { margin:0!important; padding:0; font-weight:600; }
.tpp-hse h2.elementor-heading-title { font-size:clamp(26px,5.7vw,38px); }
.tpp-hse h3.elementor-heading-title { font-size:21px; }
.tpp-hse .tpp-hse-text { color:var(--hse-muted); font:400 15px/1.8 Inter,Arial,sans-serif; overflow-wrap:break-word; }
.tpp-hse p { margin:0; }
.tpp-hse a:focus-visible { outline:3px solid var(--hse-red); outline-offset:4px; }
.tpp-hse .tpp-hse-hero { padding-block:40px 46px; background:var(--hse-ink); border-bottom:3px solid var(--hse-red); }
.tpp-hse .tpp-hse-hero .tpp-hse-wrap { gap:15px; }
.tpp-hse .tpp-hse-label { width:fit-content; color:#fff; font-size:12px; font-weight:600; letter-spacing:2px; padding:4px 11px; border:1px solid #75848d; border-radius:3px; }
.tpp-hse .tpp-hse-eyebrow { color:#b21d27; font-size:11px; line-height:1.6; font-weight:700; letter-spacing:1.7px; text-transform:uppercase; }
.tpp-hse .tpp-hse-hero .tpp-hse-eyebrow { color:#e1e9ed; }
.tpp-hse .tpp-hse-page-title h1 { max-width:850px; color:#fff; font-size:clamp(34px,8.3vw,60px); font-weight:500!important; line-height:1.13; letter-spacing:-1.7px; text-wrap:balance; }
.tpp-hse .tpp-hse-jump { background:#fff; border-bottom:1px solid var(--hse-line); }
.tpp-hse .tpp-hse-jump-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; padding-block:8px; }
.tpp-hse .tpp-hse-section-link .elementor-button { width:100%; display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:48px; padding:10px 0; border:0; border-radius:0; background:none; color:var(--hse-ink); font:500 12px/1.5 Inter,Arial,sans-serif; text-align:left; }
.tpp-hse .tpp-hse-section-link .elementor-button::after { content:'↗'; color:var(--hse-red); font-size:17px; }
.tpp-hse .tpp-hse-section-link .elementor-button:hover { color:var(--hse-red); }
.tpp-hse .tpp-hse-section { padding-block:48px; scroll-margin-top:100px; }
.tpp-hse .tpp-hse-tinted { background:#f4f7f7; }
.tpp-hse .tpp-hse-section > .tpp-hse-wrap { gap:27px; }
.tpp-hse .tpp-hse-section-head { gap:12px; max-width:750px; }
.tpp-hse .tpp-hse-policy-grid,.tpp-hse .tpp-hse-rules-grid,.tpp-hse .tpp-hse-programme-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; }
.tpp-hse .tpp-hse-policy-card { padding:24px 20px; gap:15px; border:1px solid var(--hse-line); border-radius:6px; background:#fff; box-shadow:0 8px 28px #182e3b06; }
.tpp-hse .tpp-hse-doc-tag { color:#9c1b25; font-size:10px; font-weight:600; letter-spacing:1.2px; text-transform:uppercase; }
.tpp-hse .tpp-hse-policy-card h2.elementor-heading-title { font-size:25px; letter-spacing:-.6px; }
.tpp-hse .tpp-hse-policy-summary { flex-grow:1; }
.tpp-hse .tpp-hse-document-gallery { width:100%; padding:16px 12px; background:#f4f7f7; border:1px solid #e6edef; border-radius:4px; }
.tpp-hse .tpp-hse-document-gallery .gallery { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin:0; }
.tpp-hse .tpp-hse-document-gallery .gallery-item { flex:1 1 44px; max-width:calc(25% - 6px); width:auto; margin:0!important; padding:0!important; }
.tpp-hse .tpp-hse-document-gallery .gallery-icon { margin:0; }
.tpp-hse .tpp-hse-document-gallery a { display:flex; align-items:center; justify-content:center; min-height:120px; min-width:44px; }
.tpp-hse .tpp-hse-document-gallery img { width:100%; height:120px; object-fit:contain; border:0!important; border-radius:0; filter:drop-shadow(0 3px 3px #182e3b20); }
.tpp-hse .tpp-hse-document-gallery .gallery br { display:none; }
.tpp-hse .tpp-hse-preview { width:100%; }
.tpp-hse .tpp-hse-preview .elementor-button { display:flex; justify-content:center; align-items:center; min-height:48px; padding:13px 18px; border:1px solid var(--hse-line); border-radius:3px; background:#fff; color:var(--hse-ink); font:600 13px/1.5 Inter,Arial,sans-serif; }
.tpp-hse .tpp-hse-preview .elementor-button:hover { background:var(--hse-ink); color:#fff; border-color:var(--hse-ink); }
.tpp-hse .tpp-hse-rule-card { padding:26px 22px; gap:12px; background:#fff; border:1px solid var(--hse-line); border-radius:5px; }
.tpp-hse .tpp-hse-rule-top,.tpp-hse .tpp-hse-programme-top { flex-direction:row; justify-content:space-between; align-items:center; margin-bottom:8px; }
.tpp-hse .tpp-hse-rule-image { width:72px; flex:0 0 72px; }
.tpp-hse .tpp-hse-rule-image img { width:72px; height:72px; object-fit:contain; }
.tpp-hse .tpp-hse-number { width:auto; color:#738691; font-size:12px; font-weight:500; letter-spacing:1.5px; }
.tpp-hse .tpp-hse-rule-subtitle { color:#9c1b25; font-size:11px; font-weight:600; line-height:1.6; letter-spacing:1px; text-transform:uppercase; }
.tpp-hse .tpp-hse-dashboard { border:1px solid var(--hse-line); border-radius:6px; overflow:hidden; }
.tpp-hse .tpp-hse-dashboard-head { gap:16px; background:var(--hse-ink); padding:24px 20px; }
.tpp-hse .tpp-hse-dashboard-title { gap:4px; }
.tpp-hse .tpp-hse-dashboard-title h3.elementor-heading-title { color:#fff; font-size:20px; }
.tpp-hse .tpp-hse-dashboard-title .tpp-hse-text { color:#d2dde3; font-size:12px; }
.tpp-hse .tpp-hse-period { align-self:flex-start; width:auto; padding:6px 12px; background:#ffffff12; color:#fff; border:1px solid #768791; border-radius:3px; font-size:12px; }
.tpp-hse .tpp-hse-dashboard-content { gap:20px; padding:20px 16px; background:#f7f9f9; }
.tpp-hse .tpp-hse-kpi-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; }
.tpp-hse .tpp-hse-kpi { gap:10px; padding:22px; background:#fff; border:1px solid var(--hse-line); border-left:3px solid var(--hse-red); border-radius:3px; }
.tpp-hse .tpp-hse-kpi-label { color:var(--hse-muted); font-size:11px; font-weight:600; letter-spacing:.8px; text-transform:uppercase; }
.tpp-hse .tpp-hse-kpi-value .elementor-heading-title { color:var(--hse-ink); font-size:42px; line-height:1; letter-spacing:-1.5px; }
.tpp-hse .tpp-hse-kpi-note { font-size:12px; }
.tpp-hse .tpp-hse-dashboard-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; }
.tpp-hse .tpp-hse-panel { padding:22px 16px; gap:8px; background:#fff; border:1px solid var(--hse-line); border-radius:4px; }
.tpp-hse .tpp-hse-panel h3.elementor-heading-title { font-size:18px; }
.tpp-hse .tpp-hse-small-label { font-size:11px; color:var(--hse-muted); margin-bottom:10px; }
.tpp-hse .tpp-hse-stat { padding:11px 13px; background:#f1f5f5; border-left:2px solid #d4dfe3; border-radius:2px; font-size:13px; font-weight:500; color:var(--hse-ink); }
.tpp-hse .tpp-hse-observations { margin-top:8px; padding:16px 13px; gap:5px; background:#edf4f2; border:1px solid #c9dcd5; border-radius:3px; }
.tpp-hse .tpp-hse-observations .tpp-hse-text { color:#315c4e; font-size:12px; }
.tpp-hse .tpp-hse-observations .elementor-heading-title { font-size:27px; color:#245642; }
.tpp-hse .tpp-hse-chart { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:2px; margin-top:20px; background:repeating-linear-gradient(to top,transparent 0px,transparent 44px,#edf1f2 44px,#edf1f2 45px); }
.tpp-hse .tpp-hse-chart-bar { position:relative; height:220px; }
.tpp-hse .tpp-hse-chart-bar .elementor-title { position:absolute; bottom:0; left:0; width:100%; font:500 9px/20px Inter,Arial,sans-serif; text-align:center; color:var(--hse-muted); white-space:nowrap; }
.tpp-hse .tpp-hse-chart-bar .elementor-progress-wrapper { position:absolute; bottom:30px; left:calc(50% + 5px); width:180px; height:10px; border-radius:2px; background:#eef2f3; transform:rotate(-90deg); transform-origin:0 100%; overflow:hidden; }
.tpp-hse .tpp-hse-chart-bar .elementor-progress-bar { height:10px; background:#77979e; border-radius:2px; }
.tpp-hse .tpp-hse-chart-bar:last-child .elementor-progress-bar { background:var(--hse-red); }
.tpp-hse .tpp-hse-chart-bar :is(.elementor-progress-text,.elementor-progress-percentage) { display:none; }
.tpp-hse .tpp-hse-programme-card { padding:24px 22px; gap:12px; background:#fff; border:1px solid var(--hse-line); border-radius:5px; }
.tpp-hse .tpp-hse-programme-icon { width:auto; }
.tpp-hse .tpp-hse-programme-icon .elementor-icon { display:flex; justify-content:center; align-items:center; width:46px; height:46px; background:#fbf0f0; border-radius:4px; color:#b4212b; font-size:20px; }
.tpp-hse .tpp-hse-programme-icon svg { width:20px; height:20px; fill:currentColor; }
.tpp-hse .tpp-hse-programme-card h3.elementor-heading-title { font-size:20px; }
.tpp-hse .tpp-hse-commitment { background:var(--hse-ink); }
.tpp-hse .tpp-hse-commitment .tpp-hse-wrap { gap:20px; padding-left:22px; border-left:3px solid var(--hse-red); }
.tpp-hse .tpp-hse-commitment h2.elementor-heading-title { max-width:900px; color:#fff; font-size:clamp(26px,5.6vw,42px); font-weight:500; }
.tpp-hse .tpp-hse-commitment .tpp-hse-text { max-width:760px; color:#d6e0e5; }
@media(min-width:600px) {
 .tpp-hse .tpp-hse-wrap { width:calc(100% - 64px); }
 .tpp-hse .tpp-hse-jump-links { grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; }
 .tpp-hse .tpp-hse-section-link .elementor-button { font-size:13px; }
 .tpp-hse .tpp-hse-kpi-grid,.tpp-hse .tpp-hse-programme-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .tpp-hse .tpp-hse-dashboard-head { flex-direction:row; align-items:center; justify-content:space-between; }
 .tpp-hse .tpp-hse-period { align-self:center; flex-shrink:0; }
 .tpp-hse .tpp-hse-dashboard-content { padding:24px; }
 .tpp-hse .tpp-hse-chart-bar .elementor-title { font-size:11px; }
 .tpp-hse .tpp-hse-chart-bar .elementor-progress-wrapper { left:calc(50% + 7px); height:14px; }
 .tpp-hse .tpp-hse-chart-bar .elementor-progress-bar { height:14px; }
}
@media(min-width:900px) {
 .tpp-hse .tpp-hse-hero { padding-block:58px 64px; }
 .tpp-hse .tpp-hse-section { padding-block:76px; }
 .tpp-hse .tpp-hse-section > .tpp-hse-wrap { gap:34px; }
 .tpp-hse .tpp-hse-policy-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; }
 .tpp-hse .tpp-hse-policy-card { padding:32px; gap:18px; }
 .tpp-hse .tpp-hse-rules-grid,.tpp-hse .tpp-hse-programme-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
 .tpp-hse .tpp-hse-rule-card { padding:30px 26px; }
 .tpp-hse .tpp-hse-document-gallery a,.tpp-hse .tpp-hse-document-gallery img { height:150px; }
 .tpp-hse .tpp-hse-dashboard-grid { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:20px; }
 .tpp-hse .tpp-hse-dashboard-head { padding:26px 30px; }
 .tpp-hse .tpp-hse-panel { padding:26px; }
 .tpp-hse .tpp-hse-chart { margin-top:50px; }
 .tpp-hse .tpp-hse-programme-card { padding:28px; }
}
@media(prefers-reduced-motion:reduce) { .tpp-hse *, .tpp-hse *::before, .tpp-hse *::after { scroll-behavior:auto!important; transition:none!important; } }
/* Elementor loads lightbox styling on demand; keep its full-screen container anchored. */
.tpp-hse-page .elementor-lightbox:not(.elementor-popup-modal) .dialog-widget-content { inset:0!important; width:100%; height:100%; }
.tpp-hse-page .elementor-lightbox:not(.elementor-popup-modal) { background:rgba(9,20,28,.94); }
.tpp-hse-page .elementor-lightbox .dialog-lightbox-close-button { min-width:44px; min-height:44px; align-items:center; justify-content:center; margin-top:5px; }
.tpp-hse-page .elementor-lightbox .elementor-slideshow__header > :is(i,svg) { box-sizing:border-box; width:44px; height:44px; padding:11px; margin:0; }
/* Two document thumbnails per row on compact phones; avoid an uneven 3+1 row. */
.tpp-hse .tpp-hse-document-gallery .gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.tpp-hse .tpp-hse-document-gallery .gallery-item { width:100%!important; max-width:100%!important; }
@media(min-width:480px) { .tpp-hse .tpp-hse-document-gallery .gallery:has(.gallery-item:nth-child(4)) { grid-template-columns:repeat(4,minmax(0,1fr)); } }
