/* Shared interaction layer */
.hero-network{position:absolute;inset:0;z-index:0;width:100%;height:100%;opacity:0;pointer-events:none;transition:opacity .7s ease}
.hero-network.is-ready{opacity:.75}
.hero-content{position:relative;z-index:2}
.hero-orbit{z-index:2}
.sw-card[hidden],.case-card[hidden],.detail-card[hidden],.faq-list details[hidden],main>section[hidden],.industry-actions[hidden],.product-tray a[hidden]{display:none!important}
.tech-reactive{position:relative;isolation:isolate;overflow:hidden}
.tech-reactive:not(.service-row)::before{position:absolute;inset:0;z-index:0;content:"";background:radial-gradient(250px circle at var(--glow-x,50%) var(--glow-y,50%),rgba(119,213,181,.16),transparent 72%);opacity:0;pointer-events:none;transition:opacity .25s ease}
.tech-reactive:not(.service-row):hover::before{opacity:1}
.tech-reactive:not(.service-row)>*{position:relative;z-index:1}
.tech-tabs,.lab-tabs{display:flex;flex-wrap:wrap;gap:8px}
.tech-tabs button,.lab-tabs button,.timeline-nav button{min-height:38px;padding:7px 13px;border:1px solid #c7d8cf;background:#fff;color:#2f5548;font-size:12px;font-weight:650;line-height:1.4;transition:border-color .2s,background .2s,color .2s,transform .2s}
.tech-tabs button:hover,.lab-tabs button:hover,.timeline-nav button:hover{border-color:#548d76;transform:translateY(-2px)}
.tech-tabs button.is-active,.lab-tabs button.is-active,.timeline-nav button.is-active{border-color:#17382f;background:#17382f;color:#e4f68b}
.tech-tabs button:focus-visible,.lab-tabs button:focus-visible,.timeline-nav button:focus-visible,.product-add:focus-visible{outline:2px solid #7ba88e;outline-offset:2px}

/* Service details */
.service-lab{overflow:hidden;border-top:1px solid #d4e3d7;border-bottom:1px solid #d4e3d7;background:linear-gradient(115deg,#e8f0eb 0%,#f3f4ef 55%,#e8eeed 100%)}
.service-lab-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,.92fr);align-items:center;gap:clamp(28px,6vw,90px)}
.service-lab-copy h2{max-width:570px;font-size:clamp(28px,3.4vw,42px)}
.lab-note{max-width:510px;margin:20px 0 27px;color:#62766c;font-size:14px}
.lab-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.lab-tabs button{text-align:left;min-height:53px;padding:11px 14px}
.lab-status{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:12px;border-top:1px solid #cbd9d1;color:#658071;font-size:11px;letter-spacing:.04em}
.lab-status strong{color:#254b3f;font-size:17px}
.lab-stage{min-height:360px;padding:28px;border:1px solid rgba(191,233,213,.25);background:#102b25;color:#f5f7ee;box-shadow:16px 18px 0 rgba(93,145,115,.12),0 24px 45px rgba(20,62,48,.14)}
.lab-stage::before{z-index:0;background:radial-gradient(230px circle at var(--glow-x,72%) var(--glow-y,30%),rgba(158,235,178,.18),transparent 75%);opacity:1}
.lab-stage>*{position:relative;z-index:1}
.lab-stage-top{display:flex;justify-content:space-between;gap:20px;color:#9fc9af;font-size:10px;letter-spacing:.08em}
.lab-live::before{display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:#d8ef67;box-shadow:0 0 10px #d8ef67;content:"";vertical-align:middle}
.lab-signal{display:flex;gap:7px;width:100%;height:78px;align-items:center;transform-origin:left center}
.lab-signal span{position:relative;flex:1;height:1px;background:#547363}
.lab-signal span::before{position:absolute;top:-3px;left:0;width:7px;height:7px;border:1px solid #79b19c;border-radius:50%;background:#102b25;content:""}
.lab-signal span.is-active,.lab-signal span.is-active::before{background:#d8ef67;border-color:#d8ef67;box-shadow:0 0 14px rgba(216,239,103,.4)}
.lab-stage h3{margin:4px 0 12px;color:#fff;font-size:26px}
.lab-stage p{min-height:64px;max-width:440px;color:#c6ded0;font-size:14px;line-height:1.8}
.lab-stage-outcome{display:grid;gap:4px;margin-top:34px;padding-top:17px;border-top:1px solid rgba(216,239,103,.2)}
.lab-stage-outcome small{color:#96b5a5;font-size:10px}
.lab-stage-outcome strong{color:#d8ef67;font-size:14px;font-weight:600}
.tech-stage-enter h3,.tech-stage-enter p,.tech-stage-enter .lab-stage-outcome{animation:stage-in .35s ease both}
@keyframes stage-in{from{opacity:.35;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

/* Product and case explorers */
.product-explorer{padding:52px 0 30px;background:#e8efea;border-bottom:1px solid #d6e2d8}
.product-explorer-heading{display:flex;align-items:end;justify-content:space-between;gap:24px}
.product-explorer-heading h2{font-size:clamp(26px,3vw,36px)}
.product-count,.faq-count{color:#577365;font-size:12px;white-space:nowrap}
.product-explorer-controls{display:grid;grid-template-columns:minmax(220px,300px) 1fr;align-items:center;gap:20px;margin:25px 0 18px}
.product-search,.faq-search{width:100%;min-height:41px;padding:9px 13px;border:1px solid #b7cebe;border-radius:0;background:#fff;color:#18372d;font-size:13px}
.product-search:focus,.faq-search:focus{border-color:#28634e;outline:2px solid rgba(56,124,89,.16)}
.product-tray{display:flex;align-items:center;gap:12px;min-height:53px;padding:10px 0;border-top:1px solid #c8d8cc}
.product-tray>strong{flex:none;color:#24483b;font-size:12px}
.product-tray-items{display:flex;flex:1;flex-wrap:wrap;gap:5px}
.product-tray-items span{padding:4px 8px;border:1px solid #c7d8c8;color:#4a6b57;font-size:10px}
.product-tray .button{flex:none}
.sw-card{transition:border-color .22s,box-shadow .22s,transform .22s}
.sw-card:hover,.case-card:hover{border-color:#8dbba4;box-shadow:0 12px 26px rgba(20,66,45,.08);transform:translateY(-2px)}
.product-add{align-self:flex-start;margin-top:17px;padding:7px 10px;border:1px solid #a5bfb0;background:transparent;color:#285746;font-size:11px;font-weight:700}
.product-add:hover,.product-add[aria-pressed="true"]{border-color:#204b39;background:#204b39;color:#e4f68b}
.industry-explorer,.case-explorer{margin:0 0 25px;padding:20px;border:1px solid #cdded0;background:#ecf2ec}
.industry-explorer-top{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:13px}
.industry-explorer-top strong,.case-explorer>strong{color:#214838;font-size:15px}
.industry-explorer-top span{color:#698075;font-size:11px}
.industry-actions{margin-top:16px}
.case-explorer>strong{display:block;margin-bottom:12px}
.case-stage-track{margin:0 0 14px}
.case-stage-track .tech-tabs{gap:5px}
.case-stage-track button{min-height:29px;padding:4px 9px;font-size:10px}
.case-facts>div{padding:8px;border-left:2px solid transparent;transition:background .2s,border-color .2s}
.case-facts>div.is-spotlight{border-color:#80a953;background:#eff5e6}

/* Timeline, team, FAQ and contact */
.timeline{position:relative;padding-left:24px}
.timeline-progress{position:absolute;top:0;bottom:0;left:0;width:2px;background:#8bb29b;transform-origin:top center}
.timeline-nav{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 22px}
.timeline-nav button{min-height:32px;font-size:11px}
.timeline-item{transition:background .22s,padding .22s}
.timeline-item.is-spotlight{padding-left:12px;background:#eaf3ea}
.org-box{cursor:pointer;transition:border-color .2s,background .2s,transform .2s}
.org-box:hover,.org-box.is-active{border-color:#8ebaa0;background:#e9f3e9;transform:translateY(-2px)}
.org-detail{display:grid;gap:3px;margin-top:16px;padding:18px 20px;border-left:3px solid #aac768;background:#ebf1eb}
.org-detail .eyebrow{margin:0}
.org-detail strong{font-size:18px;color:#214939}
.org-detail p{margin:0;color:#5a7262;font-size:13px}
.faq-search-bar{display:flex;align-items:center;gap:18px;margin:0 0 16px}
.faq-search{max-width:420px}
.contact-guide{margin:20px 0;padding:18px;border:1px solid #ceded1;background:#eff3ee}
.contact-guide .eyebrow{display:block;margin-bottom:5px;font-size:10px}
.contact-guide strong{display:block;color:#254a3a;font-size:13px}
.contact-guide ol{display:none;gap:5px;margin:13px 0 0;padding-left:20px;color:#557063;font-size:12px}
.contact-guide.has-selection ol{display:grid}
@media(max-width:900px){.service-lab-layout{grid-template-columns:1fr}.lab-stage{min-height:310px}.product-explorer-controls{grid-template-columns:1fr}.hero-network{opacity:0!important}}
@media(max-width:600px){.service-lab{padding:64px 0}.lab-tabs{grid-template-columns:1fr 1fr}.lab-tabs button{min-height:56px;padding:9px;font-size:11px}.lab-stage{padding:20px;box-shadow:8px 9px 0 rgba(93,145,115,.12)}.lab-stage h3{font-size:22px}.product-explorer{padding:38px 0 22px}.product-explorer-heading{display:block}.product-count{display:block;margin-top:11px}.product-explorer-controls{gap:14px}.product-tray{align-items:flex-start;flex-wrap:wrap}.product-tray-items{min-width:55%}.product-tray .button{width:100%}.industry-explorer,.case-explorer{padding:15px}.industry-explorer-top{align-items:flex-start;flex-direction:column;gap:2px}.tech-tabs button{font-size:11px;padding:6px 9px}.faq-search-bar{align-items:flex-start;flex-direction:column;gap:5px}.faq-search{max-width:none}}
@media(prefers-reduced-motion:reduce){.hero-network{display:none}.tech-stage-enter h3,.tech-stage-enter p,.tech-stage-enter .lab-stage-outcome{animation:none}.sw-card,.case-card,.org-box,.timeline-item,.tech-tabs button,.lab-tabs button{transition:none}}
