.p360 *{box-sizing:border-box}
.p360 button{font:inherit;cursor:pointer}
.p360 button:focus-visible{outline:3px solid #f4c36c;outline-offset:5px}
.p360{--teal:#33d9c3;max-width:1280px;margin:auto;border:1px solid #315052;border-radius:28px;padding:40px;background:radial-gradient(ellipse at 48% 48%,#103d40 0,transparent 52%),linear-gradient(130deg,#142e32,#081c20 75%);overflow:hidden;position:relative}
.p360 .eyebrow{color:#f4c36c;font-size:13px;letter-spacing:2px;font-weight:bold;text-transform:uppercase}
.p360 .top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.p360 .explorer-title{font-size:clamp(28px,3.6vw,43px);letter-spacing:-1.1px;margin:15px 0 14px;line-height:1.12}
.p360 p{color:#b7cdce;line-height:1.6;margin:0;font-size:16px}
.p360 .demo-tag{font-size:12px;color:#bed0d0;padding:9px 12px;border:1px solid #355052;border-radius:30px;white-space:nowrap}
.p360 .stage{display:grid;grid-template-columns:220px minmax(230px,1fr) 350px;gap:18px;align-items:center;margin-top:42px;position:relative}
.p360 .label{font-size:12px;letter-spacing:1.8px;color:#a5c4c6;text-transform:uppercase;margin-bottom:18px}
.p360 .systems{display:grid;gap:10px}
.p360 .system{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:17px 16px;min-height:64px;border:1px solid #38575b;border-radius:12px;background:#193438;color:#dfebec;transition:background .25s,border-color .25s,transform .25s,box-shadow .25s}
.p360 .system:hover{border-color:#70bcb6}
.p360 .system[aria-pressed=true]{background:#174c4b;border-color:var(--teal);box-shadow:0 0 24px #19bea51c;color:#fff}
.p360 .icon{flex-shrink:0;width:26px;height:26px;display:grid;place-items:center;font-size:20px;color:#9bbcbf}
.p360 .system[aria-pressed=true] .icon{color:var(--teal)}
.p360 .system .selected{position:relative;flex-shrink:0;margin-left:auto;width:7px;height:7px;border-radius:50%;background:var(--teal);opacity:.65}
.p360 .system[aria-pressed=true] .selected{opacity:1}
.p360 .system[aria-pressed=true] .selected:before{content:"";position:absolute;inset:-5px;border:2px solid #ff942e;border-radius:50%}
.p360 .hub{position:relative;aspect-ratio:1;display:grid;place-items:center;min-width:0}
.p360 .orbit{position:absolute;width:96%;height:96%;border:2px dotted #3d9893;border-radius:50%;animation:p360-rotate 45s linear infinite;opacity:.8}
.p360 .orbit:before{content:'';position:absolute;width:12px;height:12px;border-radius:50%;background:#f4c36c;box-shadow:0 0 20px #f4c36c77;left:49%;top:-6px}
.p360 .orbit-inner{position:absolute;width:84%;height:84%;border:1px solid #2c7878;border-radius:50%}
.p360 .core{width:71%;aspect-ratio:1;border:1px solid #37c4b7;border-radius:50%;background:radial-gradient(circle at 40% 30%,#154a4e,#081f24);box-shadow:0 0 65px #28d5bd1c,inset 0 0 28px #26c6b412;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative}
.p360 .core small{font-size:10px;letter-spacing:1.8px;color:#f4c36c;font-weight:bold}
.p360 .core strong{font-size:clamp(54px,6vw,80px);line-height:1.12;color:var(--teal);letter-spacing:-3px}
.p360 .core span{font-size:13px;font-weight:bold;letter-spacing:3px}
.p360 .hub-caption{position:absolute;bottom:-26px;color:#a5c4c6;font-size:13px;text-align:center;width:100%;line-height:1.5}
.p360 .connections{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.p360 .connections path{fill:none;stroke:#33d9c3;stroke-width:1.5;opacity:.75;filter:drop-shadow(0 0 5px #33d9c333)}
.p360 .stage>div,.p360 .stage>article{z-index:1}
.p360 .beam{display:none;position:absolute;left:-18px;width:35px;height:2px;background:linear-gradient(90deg,#33d9c300,#33d9c3);box-shadow:0 0 15px #33d9c355}
.p360 .beam.right{left:auto;right:-18px;transform:rotate(180deg)}
.p360 .assistant{background:#081c22;border:1px solid #287471;border-radius:20px;padding:23px;box-shadow:0 20px 50px #0003;min-height:450px;position:relative}
.p360 .assistant-label{font-size:12px;letter-spacing:1px;color:#b6d3d2;display:flex;gap:9px;align-items:center}
.p360 .spark{color:var(--teal);font-size:19px}
.p360 .assistant-head{gap:8px;display:flex;align-items:center;justify-content:space-between;margin:18px 0 20px;padding-bottom:16px;border-bottom:1px solid #29454b}
.p360 .assistant-head h2{overflow-wrap:anywhere;font-size:21px;margin:0;letter-spacing:-.3px}
.p360 .count{flex-shrink:0;margin-left:10px;font-size:12px;color:#a4c4c6}
.p360 .ask-label{font-size:13px;color:#a5c4c6;margin-bottom:10px}
.p360 .questions{display:grid;gap:9px}
.p360 .question{background:#142e34;border:1px solid #345055;border-radius:10px;padding:13px;text-align:left;color:#dfebec;font-size:15px;line-height:1.45;transition:background .2s,border-color .2s}
.p360 .question:hover{border-color:var(--teal);background:#183e41}
.p360 .question[aria-pressed=true]{background:#19433f;border-color:#56b4a4;color:#fff}
.p360 .response{margin-top:17px;background:#103136;border-radius:12px;padding:15px;border-left:2px solid #f4c36c;animation:p360-arrive .35s ease}
.p360 .response-label{font-size:11px;color:#f4c36c;letter-spacing:1px;text-transform:uppercase;margin-bottom:7px}
.p360 .response p{font-size:14px;color:#d4e4e3;line-height:1.55}
.p360 .source{font-size:11px;color:#a5c4c6;margin-top:10px;line-height:1.5}
.p360 .bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:54px;border-top:1px solid #29464b;padding-top:23px}
.p360 .brand{font-size:13px;font-weight:bold;letter-spacing:2px;color:#f4c36c}
.p360 .brand span{display:block;color:#9fbdbf;font-size:12px;letter-spacing:0;font-weight:normal;margin-top:7px}
.p360 .tour{display:flex;gap:12px;align-items:center}
.p360 .tour span{font-size:13px;color:#afc9ca}
.p360 .tour button{border:1px solid #466063;color:#e0eceb;background:#173035;border-radius:8px;padding:10px 14px;font-size:13px;min-height:40px}
.p360 .note{font-size:12px;color:#9fbdbf;margin-top:18px}
.p360 .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@keyframes p360-rotate{to{transform:rotate(360deg)}}
@keyframes p360-arrive{from{transform:translateY(7px);opacity:.4}to{transform:translateY(0);opacity:1}}
@media(min-width:1150px){.p360 .stage{grid-template-columns:240px minmax(280px,1fr) 370px;gap:28px}
.p360 .assistant{padding:26px}}
@media(max-width:960px){.p360{padding:28px}
.p360 .stage{grid-template-columns:220px 1fr;gap:28px}
.p360 .hub{max-width:340px;justify-self:center;width:100%}
.p360 .assistant{grid-column:1/-1;min-height:0;margin-top:25px}
.p360 .questions{grid-template-columns:repeat(3,1fr)}
.p360 .beam.right{display:none}
.p360 .bottom{margin-top:28px}}
@media(max-width:540px){.p360{padding:23px 18px;border-radius:20px}
.p360 .top{display:block}
.p360 .demo-tag{display:inline-block;margin-top:16px}
.p360 .explorer-title{font-size:31px}
.p360 .stage{grid-template-columns:1fr;margin-top:28px;gap:20px}
.p360 .systems{grid-template-columns:1fr 1fr;gap:8px}
.p360 .system{padding:12px 10px;gap:8px;font-size:14px;min-height:58px}
.p360 .system:last-child{grid-column:1/-1}
.p360 .icon{font-size:17px;width:20px}
.p360 .label{margin-bottom:13px}
.p360 .hub{width:255px;max-width:100%;margin:0 auto 20px}
.p360 .hub-caption{bottom:-16px}
.p360 .connections{display:none}
.p360 .beam{display:none}
.p360 .assistant{padding:19px;margin-top:7px;grid-column:auto}
.p360 .questions{grid-template-columns:1fr}
.p360 .bottom{align-items:flex-start;flex-direction:column}
.p360 .tour{width:100%;justify-content:space-between}
.p360 .note{line-height:1.5}}
@media(prefers-reduced-motion:reduce){.p360 *,.p360 *:before{animation:none!important;transition:none!important}
.p360 .system:hover{transform:none}}
.p360 .connections{z-index:3}
.p360 .connections #flow-route{stroke:#33d9c3;stroke-width:1.5;filter:none;opacity:.55}
.p360 .connections #traveller{fill:#ff942e;filter:drop-shadow(0 0 5px #ff942e88)}
.p360 .connections #destination-cyan{fill:#33d9c3}
.p360 .connections #destination-ring{display:none}
.p360 .connections #traveller.is-arrived{animation:p360-signal-flash 1.5s ease-in-out infinite}
.p360 .assistant-head{padding-right:8px}
.p360 .system{padding-right:22px}
.p360 .system .selected{margin-left:auto}
@keyframes p360-signal-flash{0%,100%{opacity:1;filter:drop-shadow(0 0 8px #ff942ecc)}50%{opacity:.25;filter:drop-shadow(0 0 2px #ff942e44)}}
@media(max-width:960px){.p360 .assistant-label{padding-right:22px}}
@media(max-width:540px){.p360 .connections{display:block}
.p360 .systems{grid-template-columns:1fr}
.p360 .system:last-child{grid-column:auto}
.p360 .system{padding-right:24px}
.p360 .hub{margin-top:14px}
.p360 .assistant-head{padding-right:0}}
@media(prefers-reduced-motion:reduce){.p360 .connections #traveller.is-arrived{animation:none}}
.p360 .connections #orange-trail{stroke:#ff942e;stroke-width:2.5;stroke-linecap:round;opacity:1;filter:drop-shadow(0 0 4px #ff942e99)}
.p360 .connections #trail-haze{stroke:#ff942e;stroke-width:10;opacity:.34;filter:blur(5px);stroke-linecap:round}
.p360 .connections #laser-one,.p360 .connections #laser-two{stroke:#fff28b;stroke-width:3;stroke-linecap:round;opacity:.95;filter:drop-shadow(0 0 5px #ffe642)}
.p360 .response{position:relative;border-left-color:#ff942e}
.p360 .response:before{content:"";position:absolute;left:-2px;top:12px;bottom:12px;width:3px;background:#ff942e;border-radius:3px;transform-origin:center;pointer-events:none}
.p360.answer-arrival .response:before{animation:p360-answer-bar-hit 1.35s ease-out}
.p360.answer-arrival .response-label{animation:p360-answer-heading-hit 1.35s ease-out}
@keyframes p360-answer-bar-hit{0%{transform:scaleY(.25) scaleX(1);box-shadow:none}28%{transform:scaleY(1.13) scaleX(2);background:#fff28b;box-shadow:0 0 18px #ff942ecc}56%{transform:scaleY(1) scaleX(1.2);background:#ff942e;box-shadow:0 0 5px #ff942e55}75%{transform:scaleY(1.07) scaleX(1.65);background:#fff28b;box-shadow:0 0 14px #ff942eaa}100%{transform:scaleY(1) scaleX(1);background:#ff942e;box-shadow:none}}
@keyframes p360-answer-heading-hit{0%,100%{color:#f4c36c;text-shadow:none}28%,75%{color:#fff5b3;text-shadow:0 0 14px #ff942eaa}56%{color:#ff942e;text-shadow:0 0 3px #ff942e44}}
@media(prefers-reduced-motion:reduce){.p360.answer-arrival .response:before,.p360.answer-arrival .response-label{animation:none}}
.p360.flow-complete #energy-flow{display:none}
.p360.answer-arrival .assistant{animation:p360-knowledge-arrival 1s ease-out}
.p360.answer-arrival .response{animation:p360-answer-panel-glow 1s ease-out}
@keyframes p360-knowledge-arrival{0%,100%{border-color:#287471;box-shadow:0 20px 50px #0003;background:#081c22}28%{border-color:#ffb35c;box-shadow:0 0 36px #ff942e88,inset 0 0 28px #ff942e22;background:#192c2b}60%{border-color:#efa44e;box-shadow:0 0 22px #ff942e44,inset 0 0 16px #ff942e11;background:#112427}}
@keyframes p360-answer-panel-glow{0%,100%{background:#103136;box-shadow:none}28%{background:#3a3c29;box-shadow:0 0 26px #ff942e88,inset 0 0 18px #ffcf6422}60%{background:#273b31;box-shadow:0 0 14px #ff942e44}}
@media(prefers-reduced-motion:reduce){.p360.answer-arrival .assistant,.p360.answer-arrival .response{animation:none}}
/* Homepage integration and compact mobile explorer. */
.hero-showcase{padding:120px 0 46px;background:var(--navy);color:#edf7f6}.hero-showcase .p360{color:#edf7f6;font-family:var(--font-body);padding:28px;max-width:none;isolation:isolate}.p360 .eyebrow:before{display:none}.p360 .eyebrow{margin-bottom:0}.p360 .brand{display:block}.p360 .brand>span{display:block;line-height:1.5}.p360 .explorer-title{font-family:var(--font-display)}.p360 .system{min-height:56px;padding-top:12px;padding-bottom:12px}.p360 .systems{gap:8px}.p360 .stage{margin-top:30px}.p360 .label{font-size:13px}.p360 .core small{font-size:12px;letter-spacing:1px}.p360 .source,.p360 .response-label,.p360 .note{font-size:12px}.p360 .area-picker{min-width:0}.p360 .area-picker>summary{display:none}.p360 .mobile-picker-hint{font-size:13px;color:#b7cdce}.p360 .area-picker>summary:focus-visible{outline:3px solid #f4c36c;outline-offset:4px}.p360 .system>span:not(.icon):not(.selected){min-width:0}.hero-assessment{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px 4px 0}.hero-assessment p{max-width:820px;margin:0;color:#b7cdce;font-size:16px;line-height:1.6}.hero-assessment strong{color:#f4c36c}.hero-assessment .button{flex-shrink:0}
@media(min-width:1150px){.p360 .stage{grid-template-columns:260px minmax(230px,1fr) 360px;gap:26px}}
@media(max-width:960px){.p360 .stage{grid-template-columns:240px minmax(0,1fr)}}
@media(max-width:600px){.hero-showcase{padding-top:92px;padding-bottom:28px}.hero-showcase .section-shell{width:calc(100% - 24px)}.hero-showcase .p360{padding:20px 16px}.p360 .top{display:block}.p360 .explorer-title{font-size:clamp(28px,8vw,36px);letter-spacing:-.8px}.p360 .hub,.p360 .connections{display:none!important}.p360 .stage{grid-template-columns:1fr;gap:16px;margin-top:24px}.p360 .assistant{grid-column:auto;margin-top:0;padding:18px;min-height:0}.p360 .questions{grid-template-columns:1fr}.p360 .systems{grid-template-columns:1fr;padding-top:12px}.p360 .system:last-child{grid-column:auto}.p360 .area-picker>summary{display:flex;flex-direction:column;gap:3px;padding:14px 16px;border:1px solid #33d9c3;background:#173d40;border-radius:12px;list-style:none;cursor:pointer}.p360 .area-picker>summary::-webkit-details-marker{display:none}.p360 .area-picker>summary:after{content:'Show business areas';font-size:13px;color:#f4c36c}.p360 .area-picker[open]>summary:after{content:'Hide business areas'}.p360 #mobile-area-name{color:#edf7f6;font-size:17px;font-weight:bold;line-height:1.4}.p360 .bottom{margin-top:24px;align-items:flex-start;flex-direction:column}.p360 .tour{width:100%;justify-content:space-between}.hero-assessment{align-items:flex-start;flex-direction:column;gap:20px;padding-top:24px}.p360 .assistant-head h2{font-size:20px}.p360 .demo-tag{margin-top:16px}.p360 .assistant-label{font-size:12px;line-height:1.5}}

/* Assessment introduction leads the homepage; the explorer follows below. */
.hero-introduction{max-width:1050px;padding:22px 4px 48px}
.hero-introduction h1{font-family:var(--font-display);font-size:clamp(2.5rem,5.2vw,4.75rem);line-height:1.08;letter-spacing:-.04em;margin:0 0 24px;max-width:1000px}
.hero-introduction h1 span{color:var(--teal)}
.hero-introduction p{max-width:850px;color:#b9c8cb;font-size:clamp(1.08rem,1.45vw,1.25rem);line-height:1.65;margin:0 0 28px}
.hero-introduction .text-link{color:#edf7f6;border-color:#86a9a8}
.hero-introduction .text-link:hover{color:var(--teal);border-color:var(--teal)}
@media(max-width:600px){.hero-introduction{padding:20px 8px 32px}.hero-introduction h1{font-size:clamp(2.25rem,8.8vw,3.25rem)}.hero-introduction .button-row{align-items:flex-start}}

/* People and shared access methods above the operations assistant. */
.p360 .access-flow{width:350px;flex-shrink:0;max-width:100%;position:relative;padding-bottom:0}
.p360 .access-roles{display:flex;justify-content:center;gap:18px;margin-bottom:14px}
.p360 .access-roles>span{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;border:1px solid #287471;background:#174442;color:#ff942e;font-size:14px;box-shadow:0 4px 8px #0003;position:relative}
.p360 .access-roles>span:after{content:"";position:absolute;top:100%;left:50%;height:14px;width:1px;background:#287471}
.p360 .access-methods{position:relative;text-align:center;border:1px solid #287471;border-radius:12px;background:#174442;color:#edf7f6;padding:12px 16px;font-size:16px;line-height:1.4}
.p360 .access-methods:after{content:"";position:absolute;top:100%;left:50%;height:30px;width:1px;background:#287471}
@media(min-width:1150px){.p360 .access-flow{width:360px}}
@media(max-width:960px){.p360 .top{flex-wrap:wrap}.p360 .access-flow{width:100%;max-width:380px;margin-left:auto}.p360 .access-methods:after{display:none}}
@media(max-width:600px){.p360 .access-flow{margin:24px auto 0;max-width:350px}.p360 .access-roles{gap:16px}.p360 .access-roles>span{width:64px;height:64px;font-size:13px}.p360 .access-methods{padding:10px 14px;font-size:15px}}

/* Consistent Tabler outline icons; colour follows the selected system. */
.p360 .icon svg{display:block;width:24px;height:24px;stroke-width:1.8}
@media(max-width:600px){.p360 .icon svg{width:21px;height:21px}}

/* Plain-language interaction cue and matching orange edge on the selected question. */
.p360 .interaction-note{margin-top:12px;font-size:13px;color:#f4c36c;line-height:1.5;max-width:440px}
.p360 .question{border-left-width:2px}
.p360 .question[aria-pressed=true]{border-left-color:#ff942e}
