/* Luthuli's original palette, rebuilt as a responsive participant companion. */
.safety-chapter{--safety-blue:#123f52;--safety-deep:#0c2e3e;--safety-gold:#edc85d;--safety-cream:#fff1d1}
.safety-app{background:var(--safety-blue);color:var(--safety-cream);border:1px solid #123f52;box-shadow:0 26px 65px #28251618;overflow:hidden}
.safety-app button,.safety-app input{font:inherit}
.safety-app button{cursor:pointer}
.safety-app button:disabled{cursor:default;opacity:.4}
.safety-app button:focus-visible,.safety-app input:focus-visible,.safety-app a:focus-visible,.safety-originals a:focus-visible,.safety-originals summary:focus-visible{outline:2px solid var(--safety-gold);outline-offset:4px}
.safety-app-header{display:flex;align-items:center;gap:32px;padding:30px 32px;border-bottom:1px solid #fff1d123}
.safety-app-header>img{width:150px;height:64px;object-fit:contain}
.safety-app-name{border-left:1px solid #fff1d13b;padding-left:28px}
.safety-app-name>span{font-size:8px;letter-spacing:.14em;color:#d9dbcd}
.safety-app-name h3{margin:7px 0 0;font-size:28px;font-weight:500;letter-spacing:-.04em;line-height:1}
.safety-progress{margin-left:auto;display:flex;align-items:center;gap:12px}
.safety-progress-ring{position:relative;width:44px;height:44px;flex-shrink:0}
.safety-progress-ring svg{width:44px;height:44px;transform:rotate(-90deg);overflow:visible}
.safety-progress-ring circle{fill:none;stroke:#fff1d123;stroke-width:2}
.safety-progress-ring .safety-progress-arc{stroke:var(--safety-gold);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset .5s ease}
.safety-progress-ring b{position:absolute;inset:0;display:grid;place-items:center;font-size:13px;font-weight:500}
.safety-progress strong{display:block;font-size:12px;font-weight:500}
.safety-progress small{display:block;font-size:9px;color:#c5d3d1;margin-top:6px}
.safety-app.is-complete .safety-progress strong{color:var(--safety-gold)}
.safety-app-body{display:grid;grid-template-columns:230px minmax(0,1fr)}
.safety-topics{display:flex;flex-direction:column;padding:20px 16px;border-right:1px solid #fff1d123;gap:4px;background:#0c2e3e3b}
.safety-topics button{display:flex;align-items:center;gap:12px;min-height:57px;min-width:0;border:1px solid transparent;border-radius:6px;background:transparent;color:#d3deda;text-align:left;padding:11px 12px;transition:background .2s,color .2s,border-color .2s;font-size:12px}
.safety-topics button>svg{width:23px;height:23px;flex-shrink:0}
.safety-topics button:hover{background:#fff1d10b}
.safety-topics button[aria-selected=true]{background:var(--safety-gold);color:var(--safety-deep);border-color:var(--safety-gold)}
.safety-topic-state{margin-left:auto;flex-shrink:0;width:15px;height:15px;border:1px solid #fff1d166;border-radius:50%;display:grid;place-items:center}
.safety-topic-state svg{width:12px;height:12px;opacity:0}
.safety-topics button[aria-selected=true] .safety-topic-state{border-color:#123f5266}
.safety-topics button.is-ready .safety-topic-state{background:var(--safety-gold);border-color:var(--safety-gold);color:var(--safety-deep)}
.safety-topics button[aria-selected=true].is-ready .safety-topic-state{background:var(--safety-blue);border-color:var(--safety-blue);color:var(--safety-gold)}
.safety-topics button.is-ready .safety-topic-state svg{opacity:1}
.safety-panel{padding:40px 36px 24px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-rows:1fr auto auto;column-gap:26px;row-gap:26px;min-height:530px;outline-offset:-4px}
.safety-tip-copy{min-width:0;align-self:center}
.safety-kicker{display:flex;align-items:center;gap:9px;color:var(--safety-gold);font-size:9px;letter-spacing:.075em;text-transform:uppercase;line-height:1.5}
.safety-kicker i{width:3px;height:3px;border-radius:50%;background:currentColor}
.safety-tip-copy h3{font-size:clamp(30px,3.4vw,48px);line-height:1.04;letter-spacing:-.045em;font-weight:500;margin:24px 0 22px;text-wrap:balance}
.safety-tip-copy>p{font-size:13px;line-height:1.8;color:#d3deda;margin:0;max-width:380px}
.safety-tip-copy ul{padding:0;margin:24px 0 0;display:flex;flex-direction:column;gap:12px;list-style:none}
.safety-tip-copy li{display:flex;gap:9px;font-size:11px;line-height:1.6;color:#ede9d4}
.safety-tip-copy li svg{width:14px;height:18px;color:var(--safety-gold);flex-shrink:0}
.safety-tip-visual{position:relative;min-width:0;align-self:center;display:flex;justify-content:center;align-items:center;min-height:300px;background:radial-gradient(ellipse at 50% 50%,#1e596744,transparent 72%)}
.safety-scene{width:100%;height:auto;max-height:315px;overflow:visible}
.safety-tip-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #fff1d123;padding-top:22px}
.safety-ready{display:flex;gap:10px;align-items:center;min-height:46px;padding:12px 18px;background:var(--safety-gold);color:var(--safety-deep);border:1px solid var(--safety-gold);border-radius:25px;font-size:12px!important;transition:background .2s,color .2s}
.safety-ready svg{width:18px;height:18px}.safety-ready:hover{background:#ffdc7b}
.safety-ready[aria-pressed=true]{background:#ffffff08;color:var(--safety-gold);border-color:#edc85d77}
.safety-step-controls{display:flex;align-items:center;gap:12px;font-variant-numeric:tabular-nums;font-size:10px}
.safety-step-controls button{background:transparent;border:1px solid #fff1d145;border-radius:50%;color:var(--safety-cream);width:42px;height:42px;display:grid;place-items:center}
.safety-step-controls button:hover{border-color:var(--safety-gold);color:var(--safety-gold)}
.safety-step-controls svg{width:20px;height:20px}.safety-step-controls [data-safety-prev] svg{transform:rotate(180deg)}
.safety-panel .safety-source{grid-column:1/-1;justify-self:start;font-size:10px;color:#d3deda;padding:5px 0;border-bottom:1px solid #fff1d14d;line-height:1.6}
.safety-source span{margin-left:15px}
.safety-app-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #fff1d123;padding:16px 32px;font-size:10px;color:#c5d3d1}
.safety-app-footer button{border:0;border-bottom:1px solid #fff1d14d;background:none;padding:8px 0;color:var(--safety-cream);font-size:10px}
.safety-footer-actions{display:flex;gap:20px;flex-shrink:0}
.safety-product{height:315px;width:100%;position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate}
.safety-product img{max-width:100%;width:auto;height:285px;object-fit:contain;position:relative;z-index:1;transition:translate .35s ease}
.safety-product:hover img{translate:0 -6px}
.safety-product-phone img{height:265px;max-width:180px}
.safety-orbit{position:absolute;inset:20% 0;border:1px solid #edc85d33;border-radius:50%;transform:rotate(-28deg);z-index:0}
.safety-orbit:before{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:var(--safety-gold);left:10%;top:16%}
.safety-charge{position:absolute;bottom:0;z-index:2;display:flex;align-items:center;gap:8px;background:var(--safety-gold);color:var(--safety-deep);border-radius:20px;padding:8px 12px;font-size:9px}
.safety-charge i{width:6px;height:6px;border-radius:50%;background:var(--safety-blue)}
.safety-kit{display:flex;flex-direction:column;gap:12px;width:100%;max-width:230px;transform:rotate(-4deg)}
.safety-kit>div{display:flex;align-items:center;gap:12px;padding:20px 16px;background:#fff1d10a;border:1px solid #fff1d12e;border-radius:10px}
.safety-kit>div:nth-child(2){translate:16px 0;background:#edc85d;color:var(--safety-deep);border-color:#edc85d}
.safety-kit span{font-size:8px;opacity:.6}.safety-kit svg{width:24px;height:24px}.safety-kit strong{font-size:12px;font-weight:500}.safety-kit svg:last-child{width:15px;margin-left:auto}
.safety-sound-demo{width:100%;max-width:270px;padding:10px}
.safety-wave{height:145px;display:flex;align-items:center;justify-content:center;gap:5px;padding:20px 0}
.safety-wave i{display:block;flex:1;max-width:7px;min-height:3px;height:calc(var(--bar) * (.15 + var(--volume) * .85));background:var(--safety-gold);border-radius:5px;transition:height .2s;animation:safety-wave 1.3s ease-in-out infinite alternate;animation-delay:var(--delay)}
.is-muted .safety-wave i{height:3px;animation:none}
.safety-sound-label{display:flex;align-items:center;justify-content:space-between;font-size:10px;margin:16px 0 8px}.safety-sound-label output{color:var(--safety-gold)}
.safety-sound-demo input{width:100%;height:30px;accent-color:var(--safety-gold);cursor:ew-resize;margin:0}
.safety-range-labels{display:flex;justify-content:space-between;color:#c5d3d1;font-size:9px}
.safety-sound-demo p{color:#d3deda;font-size:10px;line-height:1.6;margin:22px 0 8px}
.safety-demo-note{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:#c5d3d1}
.safety-originals{margin-top:22px;border-block:1px solid #28251645}
.safety-originals summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;list-style:none;padding:22px 0;font-size:13px}
.safety-originals summary::-webkit-details-marker{display:none}.safety-originals summary>span:last-child{font-size:10px}.safety-originals summary b{display:inline-block;font-size:16px;margin-left:14px;font-weight:400;transition:rotate .2s}.safety-originals[open] summary b{rotate:45deg}
.safety-source-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:12px 0 30px}
.safety-source-gallery a{min-width:0}.safety-source-gallery img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}.safety-source-gallery span{display:block;font-size:10px;margin-top:10px}
.safety-walker{animation:safety-walk 2.5s ease-in-out infinite;animation-delay:var(--delay)}
.safety-pulse{animation:safety-pulse 2.5s ease-in-out infinite}.safety-route{animation:safety-route 3s linear infinite}
.safety-app:not(.is-in-view) *,.safety-app.motion-paused *{animation-play-state:paused!important}
@keyframes safety-walk{0%,100%{translate:0 0}50%{translate:0 -6px}}
@keyframes safety-pulse{0%,100%{opacity:.45}50%{opacity:1}}
@keyframes safety-route{to{stroke-dashoffset:-28}}
@keyframes safety-wave{from{scale:1 .7}to{scale:1 1}}
@media(max-width:1100px){
 .safety-app-header{gap:22px;padding:24px}.safety-app-header>img{width:130px}.safety-app-name{padding-left:20px}.safety-progress small{max-width:130px;line-height:1.5}
 .safety-app-body{grid-template-columns:200px minmax(0,1fr)}.safety-topics{padding:16px 10px}.safety-topics button{gap:9px;padding:10px 8px;font-size:11px}
 .safety-panel{padding:30px 24px 22px;column-gap:16px}.safety-tip-copy h3{font-size:34px}.safety-tip-visual{min-height:250px}.safety-product{height:270px}.safety-product img{height:245px}.safety-kit{max-width:180px}.safety-kit>div{padding:17px 10px;gap:8px}.safety-kit>div:nth-child(2){translate:5px 0}.safety-kit span{display:none}
}
@media(max-width:850px){
 .safety-app-header{flex-wrap:wrap}.safety-app-name{flex:1}.safety-progress{margin-left:0;border-top:1px solid #fff1d123;width:100%;padding-top:20px}.safety-progress small{max-width:none}
 .safety-app-body{grid-template-columns:1fr}.safety-topics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-right:0;border-bottom:1px solid #fff1d123;padding:14px;gap:7px}.safety-topics button{flex-wrap:wrap;min-height:76px;position:relative;padding:10px;font-size:10px;gap:8px;border-color:#fff1d123}.safety-topics button>span:not(.visually-hidden){width:100%}.safety-topic-state{position:absolute;right:9px;top:13px}.safety-topics button>svg{width:20px;height:20px}
 .safety-panel{min-height:460px;padding:30px}.safety-tip-copy h3{font-size:38px}.safety-tip-visual{min-height:280px}.safety-source-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:540px){
 .safety-app-header{padding:20px;gap:16px}.safety-app-header>img{width:108px;height:52px}.safety-app-name{padding-left:16px}.safety-app-name>span{font-size:7px;letter-spacing:.09em;line-height:1.4;display:block;max-width:110px}.safety-app-name h3{font-size:25px}
 .safety-progress{padding-top:16px}.safety-progress-ring{width:36px;height:36px}.safety-progress-ring svg{width:36px;height:36px}.safety-progress-ring b{font-size:11px}
 .safety-topics{grid-template-columns:1fr 1fr;gap:6px;padding:12px}.safety-topics button{flex-wrap:nowrap;min-height:45px;gap:7px;padding:9px 7px;font-size:10px}.safety-topics button>span:not(.visually-hidden){width:auto}.safety-topic-state{position:static;width:12px;height:12px}.safety-topic-state svg{width:10px;height:10px}.safety-topics button>svg{width:18px;height:18px}
 .safety-panel{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;padding:25px 20px 20px;gap:20px;min-height:0}
 .safety-tip-copy h3{font-size:36px;margin:19px 0}.safety-tip-copy>p{font-size:12px;line-height:1.8}.safety-tip-copy ul{margin-top:17px;gap:8px}.safety-tip-copy li{font-size:10px}
 .safety-tip-visual{min-height:210px;max-height:260px}.safety-scene{max-height:220px;width:min(100%,270px)}.safety-product{height:260px}.safety-product img{height:235px}.safety-product-phone img{height:230px}.safety-orbit{inset:17% 14%}
 .safety-kit{max-width:220px;gap:10px}.safety-kit>div{padding:14px}.safety-kit>div:nth-child(2){translate:8px 0}.safety-kit span{display:block}
 .safety-sound-demo{max-width:260px;padding:0 10px}.safety-wave{height:90px;padding:5px 0}.safety-sound-label{margin-top:7px}.safety-sound-demo p{margin-top:15px}.safety-range-labels{font-size:8px}
 .safety-tip-actions{gap:9px;padding-top:18px}.safety-ready{padding:10px 12px;font-size:11px!important;gap:7px;min-height:44px}.safety-ready svg{width:15px}.safety-step-controls{gap:7px;font-size:9px}.safety-step-controls button{width:34px;height:44px;border-radius:18px}.safety-step-controls svg{width:17px}
 .safety-app-footer{padding:13px 20px;font-size:9px;flex-wrap:wrap}.safety-footer-actions{gap:20px}.safety-app-footer button{font-size:9px;min-height:44px}.safety-originals summary{font-size:12px;gap:14px}.safety-originals summary>span:last-child{font-size:9px;max-width:145px;line-height:1.5}.safety-originals summary b{margin-left:7px}.safety-source-gallery{gap:20px 12px}.safety-source-gallery span{font-size:9px;line-height:1.5}
}
@media(prefers-reduced-motion:reduce){
 .safety-chapter *,.safety-chapter *:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}.safety-product:hover img{translate:none}
}

/* Photographic materials and the original print / social carousel. */
.safety-panel{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr)}
.safety-photo{margin:0;width:100%;align-self:center}
.safety-photo>div{overflow:hidden;border-radius:5px;aspect-ratio:1;background:var(--safety-deep)}
.safety-photo img{width:100%;height:100%;object-fit:contain;animation:safety-photo-breathe 12s ease-in-out infinite alternate}
.safety-photo figcaption{font-size:8px;letter-spacing:.06em;text-transform:uppercase;color:#c5d3d1;padding-top:10px;line-height:1.5}
@keyframes safety-photo-breathe{from{transform:scale(1)}to{transform:scale(1.035)}}
.safety-originals{margin-top:52px;border-top:1px solid #28251645;border-bottom:0;padding-top:30px}
.safety-print-header{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}
.safety-print-header h3{font-size:clamp(25px,3vw,38px);font-weight:500;letter-spacing:-.04em;margin:10px 0}
.safety-print-header p{font-size:12px;line-height:1.7;max-width:450px;margin:0}
.safety-print-controls{display:flex;align-items:center;gap:16px;flex-shrink:0}
.safety-print-controls button{width:44px;height:44px;display:grid;place-items:center;border:1px solid currentColor;background:transparent;border-radius:50%;color:inherit;cursor:pointer}
.safety-print-controls button:hover{background:#123f52;color:#fff1d1;border-color:#123f52}
.safety-print-controls button svg{width:20px;height:20px}.safety-print-controls [data-print-prev] svg{rotate:180deg}
.safety-print-position{font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}
.safety-source-gallery{display:flex;gap:24px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#123f5277 transparent;padding:0 0 20px}
.safety-source-gallery>a{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start;min-width:0}
.safety-source-gallery:after{content:"";flex:0 0 calc((100% - 48px)*2/3 + 24px)}
.safety-source-gallery>a>span{font-size:11px}.safety-source-gallery img{aspect-ratio:1;object-fit:contain}
.safety-print-controls button:focus-visible,.safety-source-gallery:focus-visible,.safety-source-gallery a:focus-visible{outline:2px solid #123f52;outline-offset:4px}
@media(max-width:850px){.safety-source-gallery>a{flex-basis:calc((100% - 20px)/2)}.safety-source-gallery{gap:20px}.safety-source-gallery:after{flex-basis:calc((100% - 20px)/2)}}
@media(max-width:540px){.safety-panel{grid-template-columns:1fr}.safety-tip-visual:has(.safety-photo){max-height:none;min-height:0}.safety-photo{max-width:340px}.safety-print-header{align-items:flex-start;flex-direction:column;gap:20px}.safety-print-header p{font-size:11px}.safety-source-gallery>a{flex-basis:86%}.safety-source-gallery:after{flex-basis:14%}.safety-source-gallery{gap:14px}.safety-originals{margin-top:35px}.safety-print-controls{align-self:flex-end}}
@media(prefers-reduced-motion:reduce){.safety-photo img{animation:none}}
