/* KZN Touch governed public content + newsletter overlay. */
.home-hero__media.cl-managed-hero-active > .home-hero__frame{visibility:hidden}.home-hero__media.cl-managed-hero-active > .cl-managed-hero-set{position:absolute;inset:0;display:grid;grid-template-rows:1fr 1fr;grid-template-columns:minmax(0,1.5fr) minmax(9rem,.72fr);gap:3px;z-index:1}.home-hero__media.cl-managed-hero-active .cl-managed-hero-frame{visibility:visible}.home-hero__media.cl-managed-hero-active .cl-managed-hero-frame.home-hero__frame--main{grid-row:1/-1}.home-hero__media.cl-managed-hero-active .cl-managed-hero-frame .smooth-gallery-image{position:absolute;inset:0}.home-hero__media.cl-managed-hero-active .cl-managed-hero-frame img{object-fit:cover;filter:saturate(.88) contrast(1.13);width:100%;height:100%;position:absolute;inset:0}.home-hero__media.cl-managed-hero-active .cl-managed-hero-frame.home-hero__frame--main img{object-position:58% center}.home-hero__media.cl-managed-hero-active .cl-managed-hero-frame.home-hero__frame--top img{object-position:42% 42%}.home-hero__media.cl-managed-hero-active .cl-managed-hero-frame.home-hero__frame--bottom img{object-position:55% center}
.cl-managed-gallery-dialog{position:fixed;inset:0;z-index:12000;background:#05090df2;display:grid;place-items:center;padding:clamp(1rem,3vw,2.5rem)}.cl-managed-gallery-dialog img{display:block;max-width:min(100%,78rem);max-height:84vh;width:auto;height:auto;object-fit:contain}.cl-managed-gallery-dialog__close{position:fixed;top:1.2rem;right:1.2rem;border:1px solid #7e8b96;background:#0a1118;color:#fff;min-height:2.7rem;padding:.65rem .9rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;cursor:pointer}.cl-managed-gallery-dialog__close:focus-visible{outline:3px solid #20c6e8;outline-offset:3px}
.cl-managed-home-gallery-feature{display:block;position:relative;overflow:hidden}.cl-managed-home-gallery-feature img,.cl-managed-home-gallery-control img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.06);transition:filter .6s ease,transform .72s ease}.cl-managed-home-gallery-feature:hover img,.cl-managed-home-gallery-control:hover img{filter:grayscale(0) contrast(1);transform:scale(1.025)}
.cl-resource-file-icon{display:grid;place-items:center;width:2rem;height:2rem;border:1px solid currentColor;font-size:.5rem;font-weight:900;letter-spacing:.05em}.cl-resource-arrow{font-size:1.1rem}.cl-contact-arrow{font-size:1rem}
.cl-newsletter-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.cl-newsletter-status{margin-top:.7rem;padding:.65rem .75rem;border-left:3px solid #20c6e8;background:#101a23;color:#dce7ee;font-size:.72rem;line-height:1.45}.cl-newsletter-status.is-success{border-left-color:#71ddb5}.cl-newsletter-status.is-warning{border-left-color:#f0ce71}.cl-newsletter-status.is-error{border-left-color:#ef7171}.cl-newsletter-status.is-pending{opacity:.8}
@media (max-width:900px){.home-hero__media.cl-managed-hero-active > .cl-managed-hero-set{grid-template-columns:minmax(0,1.45fr) minmax(9rem,.55fr)}}@media (max-width:680px){.home-hero__media.cl-managed-hero-active > .cl-managed-hero-set{grid-template-columns:1fr}.home-hero__media.cl-managed-hero-active .cl-managed-hero-frame.home-hero__frame--top,.home-hero__media.cl-managed-hero-active .cl-managed-hero-frame.home-hero__frame--bottom{display:none}.home-hero__media.cl-managed-hero-active .cl-managed-hero-frame.home-hero__frame--main{grid-column:1}.home-hero__media.cl-managed-hero-active .cl-managed-hero-frame.home-hero__frame--main img{object-position:67% center}}
.cl-public-notice{position:fixed;z-index:13000;top:calc(var(--site-shell-height,4rem) + .75rem);right:.75rem;width:min(25rem,calc(100vw - 1.5rem));display:grid;grid-template-columns:1fr auto;gap:.25rem .75rem;padding:.9rem 1rem;border:1px solid #33424e;border-left:4px solid #71ddb5;background:#0a1118;color:#fff;box-shadow:0 16px 42px #0006}.cl-public-notice strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.cl-public-notice span{grid-column:1;color:#b9c7d1;font-size:.72rem;line-height:1.45}.cl-public-notice button{grid-column:2;grid-row:1/3;align-self:start;border:0;background:transparent;color:#fff;font-size:1.25rem;cursor:pointer}.cl-public-notice--warning{border-left-color:#f0ce71}.cl-public-notice--error{border-left-color:#ef7171}
