/* V40: responsive editorial system, content-first UI. Intentionally does not affect parent websites. */
html{scroll-behavior:smooth;scroll-padding-top:100px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.v40-progress{height:3px;position:fixed;top:0;left:0;right:0;z-index:1100;pointer-events:none;opacity:0}
.v40-progress span{display:block;width:100%;height:100%;background:var(--accent,#22b9f0);transform:scaleX(0);transform-origin:left;will-change:transform}
.v40-progress.v40-active{opacity:1}
.v40-hero{position:relative;background:radial-gradient(ellipse at 80% 15%,color-mix(in srgb,var(--accent) 15%,transparent),transparent 58%);min-height:600px}
.v40-hero .v33-copy h1{font-size:clamp(2.05rem,3.1vw,3.35rem)!important;line-height:1.1;max-width:22ch!important;overflow-wrap:break-word}.v40-hero.v40-long-title .v33-copy h1{font-size:clamp(1.95rem,2.7vw,2.9rem)!important;line-height:1.12}.v40-hero .v33-copy p{max-width:58ch}.v40-hero .v33-label{letter-spacing:.12em}
.v40-hero:not(.v33-full-bleed) .v33-art img{object-fit:contain!important;aspect-ratio:1200/680!important;max-height:none!important}
.v40-hero.v33-full-bleed .v33-art img{opacity:.18!important;filter:blur(2px) saturate(.85);object-fit:cover!important}
.v40-hero.v33-full-bleed .v33-copy{max-width:880px;padding:clamp(1.25rem,3vw,3rem);border:1px solid #ffffff16;border-radius:22px;background:#071525d9;backdrop-filter:blur(4px)}
.v40-hero .v33-art img{background:linear-gradient(135deg,#0b1731,#1e3456);transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s}
.v40-hero .v33-art:hover img{transform:translateY(-5px);box-shadow:0 34px 95px #0008}
.v40-operator-note{font-size:.81rem!important;max-width:55ch;opacity:.85;line-height:1.55;margin-top:1.3rem}
.v40-operator-note a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.v40-section-nav{position:relative;border-block:1px solid var(--line,#ffffff21);background:var(--panel,#122039);overflow-x:auto;scrollbar-width:thin}
.v40-nav-inner{display:flex;align-items:center;gap:clamp(1rem,3vw,3rem);min-height:68px;white-space:nowrap}
.v40-nav-inner a{font-size:.88rem;font-weight:720;color:inherit;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.v40-nav-inner a:hover{text-decoration:underline;text-underline-offset:7px}
.v40-nav-label{font-size:.8rem;color:var(--muted);margin-right:auto;max-width:30ch;overflow:hidden;text-overflow:ellipsis}
.v40-section{padding:clamp(3.6rem,7vw,7.5rem) 0;scroll-margin-top:90px}
.v40-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem}
.v40-heading>div{max-width:730px}.v40-heading h2,.v40-qa-layout h2,.v40-final h2{font-size:clamp(2rem,4vw,4rem);letter-spacing:-.045em;line-height:1.09;margin:.6rem 0 1rem;text-wrap:balance}
.v40-heading p,.v40-qa-layout p{color:var(--muted);line-height:1.7;max-width:63ch}
.v40-eyebrow{color:var(--accent);font-size:.77rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.v40-link{color:var(--accent);font-weight:760;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.v40-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.v40-service-card{min-width:0;position:relative;display:flex;flex-direction:column;align-items:start;min-height:265px;padding:clamp(1.1rem,2vw,2rem);border:1px solid var(--line,#ffffff26);border-radius:22px;text-decoration:none;color:inherit;background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 9%,transparent),var(--panel,#112039));box-shadow:0 12px 30px #0002;overflow:hidden;transition:transform .25s,border-color .25s,box-shadow .25s}
.v40-service-card:after{content:'';width:130px;height:130px;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:50%;position:absolute;right:-56px;top:-63px;pointer-events:none}
.v40-service-card:hover{transform:translateY(-6px);border-color:var(--accent);box-shadow:0 25px 55px #0004}
.v40-service-card h3{font-size:clamp(1.1rem,1.5vw,1.45rem);line-height:1.25;letter-spacing:-.02em;margin:1rem 0 .8rem}
.v40-service-card p{color:var(--muted);font-size:.92rem;line-height:1.65;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.v40-card-count{color:var(--accent);font-size:.76rem;font-weight:850;font-variant-numeric:tabular-nums}
.v40-card-arrow{color:var(--accent);font-size:.88rem;font-weight:850;margin-top:auto;padding-top:1.25rem}
.v40-prepare-wrap{padding-top:clamp(3rem,6vw,6rem);background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--accent) 6%,transparent),transparent)}
.v40-prepare-wrap>.container>.v40-heading{margin-bottom:0}.v40-prepare-wrap .v38-feature{padding:2rem 0 clamp(3rem,6vw,6rem)!important}
.v40-prepare-wrap .v38-diagram img{aspect-ratio:16/9;object-fit:contain}
.v40-visuals{background:color-mix(in srgb,var(--accent) 3%,var(--panel,#111f30))}
.v40-media-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:1.3rem;align-items:start}
.v40-media-primary .v26-media{margin:0;min-height:220px}.v40-media-primary video{width:100%;aspect-ratio:16/9}
.v40-media-primary .v26-video-label{max-width:65%;line-height:1.25}
.v40-disclaimer{font-size:.78rem;line-height:1.5;color:var(--muted);margin:.65rem .3rem}
.v40-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0}
.v40-gallery .v26-tile img{height:auto;aspect-ratio:16/9;width:100%;object-fit:contain}
.v40-gallery .v26-tile span{font-size:.86rem;font-weight:650;line-height:1.4}
.v40-qa-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.v40-accordion details{border-bottom:1px solid var(--line,#ffffff32);padding:.8rem 0}
.v40-accordion summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-weight:780;font-size:clamp(1rem,1.3vw,1.2rem);padding:1rem .35rem;min-height:52px;cursor:pointer;list-style:none}
.v40-accordion summary::-webkit-details-marker{display:none}
.v40-accordion summary span{font-size:1.7rem;color:var(--accent);font-weight:400;transition:transform .2s}
.v40-accordion details[open] summary span{transform:rotate(45deg)}
.v40-accordion-body{color:var(--muted);padding:.25rem .35rem 1.2rem;line-height:1.8}
.v40-tools{background:linear-gradient(165deg,color-mix(in srgb,var(--accent) 10%,transparent),transparent 55%)}
.v40-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.v40-tool-grid a{display:flex;gap:1rem;align-items:center;justify-content:space-between;text-decoration:none;color:inherit;border:1px solid var(--line,#ffffff25);padding:1.4rem 1.5rem;background:var(--panel,#122239);border-radius:17px;min-height:100px;transition:border-color .2s,transform .2s}
.v40-tool-grid a:hover{border-color:var(--accent);transform:translateY(-3px)}.v40-tool-grid strong{font-size:1.08rem}.v40-tool-grid span{color:var(--accent);font-size:1.15rem}
.v40-final{position:relative;overflow:hidden;background:radial-gradient(circle at 80% 40%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 50%)}
.v40-final-inner{border-radius:28px;border:1px solid color-mix(in srgb,var(--accent) 37%,transparent);padding:clamp(1.6rem,4vw,4rem);display:flex;align-items:center;justify-content:space-between;gap:2rem;background:linear-gradient(120deg,var(--panel,#122039),color-mix(in srgb,var(--accent) 10%,var(--panel,#122039)))}
.v40-final-inner>div{max-width:670px}.v40-final-inner p{color:var(--muted);line-height:1.65}.v40-final-inner>.btn{white-space:nowrap;min-height:48px}
.v40-final-operator{font-size:.8rem;opacity:.8;margin-top:1.4rem}
.v40-service-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:start}
.v40-service-visual img{display:block;width:100%;height:auto;border-radius:22px;border:1px solid var(--line);box-shadow:0 25px 65px #0003}
.v40-service-detail-grid h2{font-size:clamp(1.9rem,3.2vw,3.2rem);margin:.6rem 0 1rem}
.v40-service-detail-grid p{line-height:1.75;color:var(--muted)}
.v40-detail-highlights{display:grid;gap:1rem;margin-top:1.5rem}
.v40-detail-highlights>div{border-left:2px solid var(--accent);padding:.2rem 0 .2rem 1.1rem}
.v40-detail-highlights h3{margin:.15rem 0 .3rem;font-size:1.05rem}
.v40-detail-highlights p{margin:.2rem 0;font-size:.92rem}
.v40-detail-requirements{background:color-mix(in srgb,var(--accent) 6%,var(--panel,#122039))}
.v40-requirement-list{list-style:none;padding:0;counter-reset:requirements;margin:0;display:grid;gap:12px}
.v40-requirement-list li{counter-increment:requirements;position:relative;padding:1.15rem 1.15rem 1.15rem 4.3rem;border:1px solid var(--line);border-radius:14px;background:var(--panel);line-height:1.55;min-height:64px}
.v40-requirement-list li:before{content:counter(requirements,decimal-leading-zero);position:absolute;left:1.1rem;top:1.2rem;font-weight:850;font-size:.78rem;color:var(--accent)}
.v40-related-links{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.6rem}.v40-related-links a{color:var(--accent);font-weight:650}
.v40-resource-card img{border-radius:12px;max-width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.v40-no-results{border:1px solid var(--line);padding:1rem;border-radius:12px}
@media(max-width:1100px){.v40-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v40-media-grid{grid-template-columns:1fr}.v40-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.v40-gallery .v26-tile span{font-size:.77rem}}
@media(max-width:760px){.v40-hero{min-height:unset}.v40-section{padding:3rem 0}.v40-heading{display:block}.v40-service-grid,.v40-tool-grid,.v40-service-detail-grid,.v40-qa-layout{grid-template-columns:1fr}.v40-service-card{min-height:185px}.v40-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.v40-nav-label{display:none}.v40-nav-inner{gap:1.4rem}.v40-final-inner{display:block}.v40-final-inner>.btn{margin-top:1.25rem}.v40-hero .v33-copy h1,.v40-hero.v40-long-title .v33-copy h1{font-size:clamp(1.95rem,7vw,2.8rem)!important}}
@media(prefers-reduced-motion:reduce){.v40-hero .v33-art img,.v40-service-card,.v40-tool-grid a,.v40-accordion summary span{transition:none!important}.v40-service-card:hover,.v40-tool-grid a:hover,.v40-hero .v33-art:hover img{transform:none!important}.v40-progress span{will-change:auto}}
