/* V09 — deliberate surfaces, consistent reading scale, quiet depth. */
.visual-v9{--reading-size:17px;--heading-size:clamp(36px,4.5vw,64px);--question-size:clamp(27px,2.7vw,38px);--meta-size:12px}
.visual-v9 .site-header{background:#101013;backdrop-filter:none}
.visual-v9 :is(.section-heading,.heading-inline) h2{font-size:var(--heading-size);line-height:1.08;letter-spacing:-.045em}
.visual-v9 :is(.section-intro,.challenge-answer>p,.product-summary .lead,.about-story>div>p){font-size:var(--reading-size);line-height:1.65}
.visual-v9 .section-heading{margin-bottom:44px;gap:28px 48px}
.visual-v9 .section-heading>.eyebrow{font-size:11px;line-height:1.55;letter-spacing:.1em}
.visual-v9 .section-heading .section-intro{margin:24px 0 0;max-width:590px;color:#514658}
/* The motion canvas occupies its own layer and cannot cover text or capture input. */
.ambient-host{position:relative;isolation:isolate}
.ambient-field{position:absolute;z-index:-1;pointer-events:none;overflow:hidden;contain:strict;user-select:none}
.ambient-field canvas{display:block;width:100%;height:100%;pointer-events:none}
.ambient-edge{width:min(66%,800px);height:min(100%,650px);right:-4%;top:0;opacity:.46;mask-image:linear-gradient(90deg,transparent,#000 60%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 60%)}
.ambient-full{inset:0;opacity:.66}
.ambient-card{inset:0 -15% 0 22%;opacity:.56;mask-image:linear-gradient(90deg,transparent,#000 55%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 55%)}
.visual-v9 .product-visual>.ambient-field{z-index:1;opacity:.55}
.visual-v9 .chapter-visual>.ambient-field{z-index:1;inset:0 0 0 22%;opacity:.62}
.visual-v9 .spatial-detail>.ambient-field{z-index:-1}
.visual-v9 .page-hero:not(.knowledge-hero){background-image:radial-gradient(ellipse at 92% 25%,#462c51,transparent 63%),linear-gradient(120deg,#121116,#19131f)}
.visual-v9 .kinetic-digital{background:none}
.visual-v9 .kinetic-digital>.ambient-field{opacity:.48}
.visual-v9 .editorial-card>.ambient-field{z-index:-1;opacity:.32}
.visual-v9 .editorial-strategy>.ambient-field{opacity:.56}
.visual-v9 .product-data-pulse{display:none}
/* Replace empty paper panels with a varied but related sequence. */
.visual-v9 .composed-surface{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 100% 0,#d7cbdc8c,transparent 57%),linear-gradient(135deg,#f3efe9,#e8e2eb);color:#211a27}
.visual-v9 :is(.product-summary,.about-story).composed-surface{background:radial-gradient(ellipse at 100% 60%,#cfbedc,transparent 66%),linear-gradient(120deg,#f6eee5,#e8dfee)}
.visual-v9 :is(.industries,.career-jobs,.product-case).composed-surface{background:radial-gradient(ellipse at 80% 0,#f3cdb54d,transparent 66%),linear-gradient(125deg,#f5eee7,#e8e2df)}
.visual-v9 .composed-surface>.ambient-field{opacity:.3}
.visual-v9 .composed-surface .eyebrow{color:#64536e}
.visual-v9 .capability-grid{gap:20px}
.visual-v9 .capability-grid>div{padding:28px;background:#ffffff63;border:0;box-shadow:0 12px 30px #32213908}
.visual-v9 .capability-grid h3{font-size:25px;line-height:1.2;letter-spacing:-.025em}
.visual-v9 .capability-grid p{font-size:16px;line-height:1.65;color:#574b5c}
.visual-v9 .product-summary h2{font-size:var(--heading-size);line-height:1.1;letter-spacing:-.045em;max-width:850px}
.visual-v9 .product-summary .lead{color:#44374d;max-width:760px;margin-block:28px}
.visual-v9 .technology-note{margin-top:52px;padding-top:36px;border-color:#84718b50}
.visual-v9 .technology-note h3{font-size:30px;line-height:1.15}
.visual-v9 .technology-note p{font-size:16px;line-height:1.65}
/* Four questions read as editorial entries, with depth away from their reading edge. */
.visual-v9 .challenge-entry{background:radial-gradient(ellipse at 88% 14%,#d9cbe6,transparent 50%),linear-gradient(145deg,#eee8e1,#e6e0e9);padding-block:80px}
.visual-v9 .challenge-entry .section-heading{grid-template-columns:.65fr 1.35fr}
.question-frame{display:inline-block;background:#211a27;color:#f6eee8;padding:.045em .14em .085em;margin-top:.13em}
.visual-v9 .challenge-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;background:none;border:0}
.visual-v9 .challenge-grid>a{position:relative;isolation:isolate;overflow:hidden;min-height:306px;padding:32px!important;background:radial-gradient(ellipse at 90% 95%,#524362,transparent 66%),#1f1828;color:#f7f0ed;border:0!important;box-shadow:0 14px 38px #27133016;transition:box-shadow .25s}
.visual-v9 .challenge-grid>a:nth-child(2){background:radial-gradient(ellipse at 100% 80%,#bca4d8,transparent 67%),#ded1ef;color:#24162e}
.visual-v9 .challenge-grid>a:nth-child(3){background:radial-gradient(ellipse at 100% 95%,#bc513c,transparent 67%),#6d292a;color:#fff5ec}
.visual-v9 .challenge-grid>a:nth-child(4){background:radial-gradient(ellipse at 100% 95%,#c8c7ea,transparent 70%),#ede7e0;color:#251c31}
.visual-v9 .challenge-grid .eyebrow{font-size:11px;line-height:1.5;letter-spacing:.09em;color:inherit;opacity:.8;max-width:80%;margin:0}
.visual-v9 .challenge-grid h3{font-size:var(--question-size);line-height:1.15;letter-spacing:-.04em;min-height:0;margin:34px 0 40px;max-width:480px;color:inherit}
.visual-v9 .challenge-grid a:hover h3{color:inherit}
.visual-v9 .challenge-grid a>div:not(.ambient-field){position:relative;display:flex;align-items:center;gap:20px;justify-content:space-between;margin-top:auto}
.visual-v9 .challenge-grid a>div>span:not(.rs-mini){font-size:12px;line-height:1.5;color:inherit;opacity:.75;max-width:none}
.challenge-number{position:absolute;right:28px;top:27px;font-size:12px;font-weight:400;letter-spacing:.04em;opacity:.5}
.visual-v9 .challenge-grid>a:is(:hover,:focus-visible){outline:2px solid #9d739b;outline-offset:3px;box-shadow:0 18px 40px #22172c26}
/* One complete question-and-answer panel, instead of a long white list. */
.visual-v9 .challenge-details{background:linear-gradient(140deg,#e9e2eb,#e4dfd9);padding-block:78px}
.visual-v9 .challenge-panel{border:0;display:grid;grid-template-columns:1fr 1.15fr;gap:0;padding:0;margin:0 0 28px;box-shadow:0 16px 45px #1d0d2520;overflow:hidden;scroll-margin-top:94px}
.visual-v9 .challenge-question{padding:38px 34px;min-width:0;min-height:340px;background:radial-gradient(ellipse at 100% 85%,#594663,transparent 70%),#211829;color:#fff4ee;display:flex;flex-direction:column}
.visual-v9 .challenge-panel-2 .challenge-question{background:radial-gradient(ellipse at 100% 90%,#bfa4d6,transparent 65%),#e0d3ee;color:#281a32}
.visual-v9 .challenge-panel-3 .challenge-question{background:radial-gradient(ellipse at 100% 95%,#b74c37,transparent 70%),#6e292a}
.visual-v9 .challenge-panel-4 .challenge-question{background:radial-gradient(ellipse at 100% 95%,#9898c6,transparent 75%),#ded9e9;color:#25182f}
.visual-v9 .challenge-question>.eyebrow{font-size:11px;line-height:1.5;letter-spacing:.1em;color:inherit;opacity:.8;max-width:80%}
.visual-v9 .challenge-question h3{font-size:var(--question-size);line-height:1.14;letter-spacing:-.035em;margin:36px 0 30px;max-width:500px}
.visual-v9 .challenge-question .role-label{font-size:12px;line-height:1.5;color:inherit;opacity:.76;margin:auto 0 0}
.visual-v9 .challenge-answer{padding:38px 34px;background:linear-gradient(145deg,#f9f4ef,#ece3eb);min-width:0}
.visual-v9 .challenge-answer>p{margin:0 0 20px;max-width:630px;color:#362a3e}
.visual-v9 .challenge-measures{display:flex;gap:8px;flex-wrap:wrap;padding:0;margin:24px 0 30px;color:#56445f;font-size:12px;line-height:1.4}
.visual-v9 .challenge-measures>span{padding:6px 9px;background:#dbcfdf75;border:0}
.visual-v9 .challenge-answer>.related-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#6a576f;margin:0 0 10px}
.visual-v9 .related-products{border:0;display:grid;gap:8px;margin:0}
.visual-v9 .related-products>a{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:16px 18px;min-height:58px;border:0;background:#ffffffa6;color:#211729;font-size:15px;line-height:1.5;transition:background .2s}
.visual-v9 .related-products>a:hover{background:#dfd0eb}
.visual-v9 .evidence-link{display:inline-flex;align-items:center;gap:14px;font-size:13px;line-height:1.6;color:#56405d;margin-top:25px;text-underline-offset:5px}
/* Five real portraits; monochrome is enforced on every people composition. */
.visual-v9 :is(.chapter-people,.career-people,.team-grid,.career-portrait-wall) img{filter:grayscale(1);object-fit:cover;object-position:center 24%;border:0;box-shadow:none}
.visual-v9 .chapter-people{inset:-25px -22px 0 27%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:start;padding-top:126px;transform:rotate(-7deg) scale(1.03);background:radial-gradient(ellipse at 80% 0,#3e2d47,transparent 75%),#151019}
.visual-v9 .chapter-people img{height:auto;aspect-ratio:.63;width:100%;transform:none;object-position:50% 16%;margin:0;border:1px solid #ffffff12}
.visual-v9 .chapter-people img:nth-child(1){margin-top:10px}
.visual-v9 .chapter-people img:nth-child(2){margin-top:92px}
.visual-v9 .chapter-people img:nth-child(3){margin-top:32px}
.visual-v9 .chapter-people img:nth-child(4){margin-top:112px}
.visual-v9 .chapter-people img:nth-child(5){margin-top:50px}
.visual-v9 .chapter-careers::after{background:linear-gradient(90deg,#101013ed,transparent 88%),linear-gradient(0deg,#101013 5%,transparent 85%)}
.visual-v9 .career-people{width:100%;max-width:none;margin:0;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;align-items:start}
.visual-v9 .career-people img,.visual-v9 .career-people img:nth-child(3){grid-column:span 2;width:100%;aspect-ratio:.85;margin:0;transform:rotate(-4deg)}
.visual-v9 .career-people img:nth-child(2){margin-top:40px}
.visual-v9 .career-people img:nth-child(3){margin-top:7px}
.visual-v9 .career-people img:nth-child(4){grid-column:2/span 2;margin-top:-6px}
.visual-v9 .career-people img:nth-child(5){grid-column:4/span 2;margin-top:20px}
.visual-v9 .career-people>span{grid-column:1/-1;margin:14px 0 0;font-size:10px;line-height:1.6;color:inherit;opacity:.6;letter-spacing:.08em}
.visual-v9 .team-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:22px}
.visual-v9 .team-grid img{width:100%;max-width:none;aspect-ratio:.8;height:auto;margin-bottom:18px}
.visual-v9 .team-grid h3{font-size:clamp(19px,1.7vw,24px);line-height:1.18;letter-spacing:-.025em;margin:0}
.visual-v9 .team-grid .leader:nth-child(even){padding-top:44px}
.visual-v9 .career-hero .career-visual{background:#19121f;position:relative;isolation:isolate;overflow:hidden;min-height:530px}
.career-portrait-wall{position:absolute;inset:20px -20px 20px -20px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;transform:rotate(-7deg) scale(1.06)}
.visual-v9 .career-portrait-wall img{width:100%;height:100%;min-height:0}
.visual-v9 .career-portrait-wall img:nth-child(4){grid-column:1;transform:translateX(38%)}
.visual-v9 .career-portrait-wall img:nth-child(5){grid-column:2;transform:translateX(38%)}
.visual-v9 .career-hero .career-visual>p{position:absolute;z-index:1;left:22px;bottom:22px;background:#f6ede6;color:#211729;max-width:160px;font-size:13px;line-height:1.7;padding:18px}
/* One unobtrusive, always reachable stop control for continuous decorative motion. */
.ambient-toggle{position:fixed;right:18px;bottom:18px;z-index:40;display:flex;align-items:center;gap:9px;background:#19141eed;color:#f3e9fa;border:1px solid #cbb9d657;border-radius:2px;box-shadow:0 4px 16px #0002;padding:10px 13px;min-height:42px;font:400 11px/1.3 Arial,sans-serif;cursor:pointer}
.ambient-toggle[hidden]{display:none}
.ambient-toggle:hover{background:#34223d}
.ambient-toggle:focus-visible{outline:3px solid #fa4900;outline-offset:4px}
.ambient-toggle-icon{width:9px;height:10px;border-inline:2px solid currentColor;opacity:.8}
.ambient-toggle[aria-pressed=true] .ambient-toggle-icon{width:0;height:0;border:5px solid transparent;border-left:8px solid currentColor;border-right:0}
.v9-handoff h2{margin-top:26px}.v9-handoff p{max-width:950px}
@media(min-width:1500px){.visual-v9 .chapter-people{inset:-30px -18px 0 27%;padding-top:90px}.visual-v9 .chapter-people img{aspect-ratio:.62}}
@media(max-width:1100px){.visual-v9 .challenge-question,.visual-v9 .challenge-answer{padding:30px 26px}.visual-v9 .team-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.visual-v9 .team-grid .leader:nth-child(even){padding-top:0}.visual-v9 .team-grid .leader:nth-child(2){padding-top:35px}.visual-v9 .chapter-people{inset:-10px -15px 0 5%;padding-top:90px}}
@media(max-width:760px){
 .visual-v9{--reading-size:16px;--heading-size:clamp(34px,7.7vw,49px);--question-size:clamp(27px,5.5vw,34px)}
 .visual-v9 .section-heading,.visual-v9 .challenge-entry .section-heading{grid-template-columns:1fr;gap:20px;margin-bottom:32px}
 .visual-v9 .section-heading .section-intro{margin-top:24px}
 .visual-v9 :is(.challenge-entry,.challenge-details){padding:52px 22px}
 .visual-v9 .challenge-grid{grid-template-columns:1fr;gap:17px}
 .visual-v9 .challenge-grid>a{padding:27px 24px!important;min-height:260px}
 .visual-v9 .challenge-grid h3{max-width:480px;margin:28px 0 34px}
 .visual-v9 .challenge-grid .eyebrow{font-size:10px}
 .visual-v9 .challenge-grid a>div>span:not(.rs-mini){font-size:12px}
 .challenge-number{top:24px;right:24px;font-size:11px}
 .visual-v9 .challenge-panel{grid-template-columns:1fr;margin-bottom:24px;scroll-margin-top:86px}
 .visual-v9 .challenge-question{min-height:245px;padding:28px 24px}
 .visual-v9 .challenge-question h3{max-width:490px;margin:28px 0 30px}
 .visual-v9 .challenge-question .eyebrow{font-size:10px}
 .visual-v9 .challenge-answer{padding:27px 24px 30px}
 .visual-v9 .challenge-measures{margin:20px 0 25px;font-size:11px;gap:6px}
 .visual-v9 .related-products>a{font-size:14px;padding:14px 15px;gap:18px;min-height:58px}
 .visual-v9 .evidence-link{font-size:12px;margin-top:22px}
 .visual-v9 .capability-grid{gap:14px}
 .visual-v9 .capability-grid>div{padding:24px}
 .visual-v9 .capability-grid h3{font-size:25px}
 .visual-v9 .capability-grid p{font-size:16px}
 .visual-v9 .product-summary h2{font-size:var(--heading-size)}
 .visual-v9 .composed-surface>.ambient-field{width:100%;right:-25%;height:410px;opacity:.25}
 .visual-v9 .chapter-people{inset:-5px -10px 0 -10px;padding:28px 0 0;gap:7px;transform:rotate(-7deg) scale(1.06);align-items:start}
 .visual-v9 .chapter-people img{aspect-ratio:.48;object-position:50% 12%;margin:0}
 .visual-v9 .chapter-people img:nth-child(1){margin-top:20px}
 .visual-v9 .chapter-people img:nth-child(2){margin-top:70px}
 .visual-v9 .chapter-people img:nth-child(3){margin-top:32px}
 .visual-v9 .chapter-people img:nth-child(4){margin-top:88px}
 .visual-v9 .chapter-people img:nth-child(5){margin-top:46px}
 .visual-v9 .chapter-careers::after{background:linear-gradient(0deg,#101013 0%,#101013f5 36%,#101013a8 63%,#10101315 100%)}
 .visual-v9 .chapter-visual>.ambient-field{inset:0 -18% 0 0;opacity:.65}
 .visual-v9 .career-people{gap:12px;max-width:560px}
 .visual-v9 .team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 18px}
 .visual-v9 .team-grid .leader:nth-child(2){padding-top:0}
 .visual-v9 .team-grid h3{font-size:21px;line-height:1.15}
 .visual-v9 .team-grid img{aspect-ratio:.82}
 .visual-v9 .career-hero .career-visual{min-height:480px}
 .ambient-toggle{right:12px;bottom:12px;padding:10px;gap:7px;font-size:10px;background:#19141ef5}
}
@media(max-width:390px){.visual-v9 .challenge-entry,.visual-v9 .challenge-details{padding-inline:20px}.visual-v9 .challenge-question,.visual-v9 .challenge-answer{padding-inline:21px}.visual-v9 .team-grid h3{font-size:19px}.visual-v9 .chapter-people{padding-top:40px;gap:6px}}
@media(prefers-reduced-motion:reduce){.ambient-toggle{display:none}.visual-v9 .product-visual>img{transition:none;transform:none}.ambient-field{animation:none!important}}
@media print{.ambient-toggle,.ambient-field{display:none!important}.visual-v9 .challenge-panel{break-inside:avoid;box-shadow:none}}
.visual-v9 .challenge-grid .ambient-field{display:block;margin:0}
/* Retain absolute positioning when an existing full-bleed art layer is a motion host. */
.visual-v9 .chapter-visual{position:absolute}
.visual-v9 :is(.page-hero,.method,.position,.career-scope){overflow:hidden}
