/* Compact page openings and the editorial pages for solutions, people and contact. */
.detail-page .detail-hero{min-height:0;padding:91px 0 20px}
.detail-page .detail-hero-grid{min-height:245px;gap:26px}
.detail-page .detail-breadcrumb{margin-bottom:20px}
.detail-page .detail-hero h1{font-size:clamp(48px,5vw,72px);margin:15px 0 14px}
.detail-page .detail-hero-copy>p{margin:0;line-height:1.7}
.detail-page .detail-down{margin-top:21px}
.detail-page .detail-hero-art{min-height:245px;max-height:250px}
.detail-page .detail-hero-art img{width:min(73%,305px)}
.detail-page .detail-content{padding:59px 0 78px}
.detail-page .detail-content-supplement{padding-top:54px;background:#eef6fb}
.detail-content-supplement .detail-side{top:100px}
.solutions.section{padding-top:78px}
.solutions-showcase{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.72fr);align-items:center;min-height:290px;margin:0 0 25px;overflow:hidden;border:1px solid #77cade47;border-radius:22px;background:radial-gradient(circle at 76% 49%,#316eac99,#102e59 45%,#071b38 85%);box-shadow:0 25px 55px #0b3e5d25;color:#fff}
.solutions-showcase:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#d6faff0a 1px,transparent 1px),linear-gradient(90deg,#d6faff0a 1px,transparent 1px);background-size:42px 42px;pointer-events:none}
.solutions-showcase-copy{position:relative;z-index:1;padding:38px 25px 38px 40px}
.solutions-showcase-copy>span{color:#8ef4e2;font-size:10px;font-weight:850;letter-spacing:.17em}
.solutions-showcase-copy h3{max-width:560px;margin:14px 0 12px;font-size:clamp(27px,3vw,43px);letter-spacing:-.055em;line-height:1.11}
.solutions-showcase-copy p{max-width:540px;margin:0;color:#bfd4e4;font-size:13px;line-height:1.72}
.solutions-showcase-copy a{display:inline-flex;align-items:center;gap:18px;margin-top:20px;border-bottom:1px solid #83f4de;padding-bottom:6px;color:#8bf4dd;font-size:11px;font-weight:850}
.solutions-showcase-art{position:relative;display:grid;place-items:center;height:290px}
.solutions-showcase-art img{position:relative;width:min(78%,300px);filter:drop-shadow(0 24px 25px #0009);animation:signature-float 9s ease-in-out infinite}
.solutions-showcase-ring{position:absolute;width:70%;aspect-ratio:1;border:1px solid #7cdeee85;border-radius:50%;transform:rotate(-24deg) scaleY(.5);box-shadow:0 0 24px #64cfea68}
.solutions-showcase-steps{position:absolute;bottom:17px;right:24px;display:flex;gap:14px;color:#bad4e6;font-size:9px;font-weight:800;letter-spacing:.1em}
.contact-stage .contact-inner{padding-top:79px}
.story-eyebrow{display:inline-flex;align-items:center;gap:10px;color:#078fa5;font-size:10px;font-weight:850;letter-spacing:.19em}
.story-eyebrow:before{content:"";width:25px;height:2px;background:#0eaeae}
.people-story,.solutions-story,.contact-directory{scroll-margin-top:74px}
.people-story,.solutions-story{background:linear-gradient(180deg,#f4f9fd,#fff)}
.people-story>.container,.solutions-story>.container{padding-top:74px;padding-bottom:82px}
.people-intro,.solutions-story-head{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:40px}
.people-intro{display:block;max-width:930px}
.people-intro h2,.solutions-story-head h2,.contact-directory-head h2{margin:17px 0 15px;color:#102a48;font-size:clamp(40px,4.6vw,64px);letter-spacing:-.065em;line-height:1.07}
.people-intro h2 em,.solutions-story-head h2 em,.contact-directory-head h2 em{font-style:normal;color:#168b9e}
.people-intro>p,.solutions-story-head>p,.contact-directory-head>p{max-width:620px;margin:0;color:#597086;font-size:15px;line-height:1.8}
.people-profiles{display:grid;gap:24px}
.person-profile{display:grid;grid-template-columns:minmax(220px,.36fr) minmax(0,.64fr);overflow:hidden;min-height:410px;border:1px solid #dce8f1;border-radius:22px;background:#fff;box-shadow:0 24px 55px #163d6511;transition:transform .35s,box-shadow .35s}
.person-profile{scroll-margin-top:90px}
.team-card .team-photo{display:block;object-fit:cover;object-position:center 20%;border-radius:50%;border:2px solid #a5e8e8;box-shadow:0 6px 17px #174e6926}
.team-profile-link{display:inline-flex;align-items:center;gap:13px;margin-top:17px;border-bottom:1px solid #138b9b;padding-bottom:5px;color:#0c8294;font-size:11px;font-weight:850}
.team-profile-link:hover{color:#065d71;gap:18px}
.team-all-link{margin-top:29px}
.person-profile:hover{transform:translateY(-5px);box-shadow:0 30px 68px #163d6523}
.person-profile:nth-child(even){grid-template-columns:minmax(0,.64fr) minmax(220px,.36fr)}
.person-profile:nth-child(even) .person-photo{order:2}
.person-profile:nth-child(even) .person-info{order:1}
.person-photo{position:relative;min-height:400px;overflow:hidden;background:linear-gradient(145deg,#18365c,#4b7b9a)}
.person-photo:after{content:"";position:absolute;inset:38% 0 0;background:linear-gradient(transparent,#07182b94);pointer-events:none}
.person-photo img{width:100%;height:100%;object-fit:cover;object-position:center 22%;transition:transform .6s}
.person-profile:hover .person-photo img{transform:scale(1.045)}
.person-photo>span{position:absolute;bottom:24px;left:25px;z-index:1;color:#e9fcff;font-size:9px;font-weight:850;letter-spacing:.16em}
.person-info{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(28px,3.5vw,53px)}
.person-overline{color:#148ba5;font-size:10px;font-weight:850;letter-spacing:.15em}
.person-info h3{margin:12px 0 14px;color:#102a48;font-size:clamp(32px,3.2vw,45px);line-height:1.1;letter-spacing:-.06em}
.person-info p{max-width:670px;color:#52677c;font-size:14px;line-height:1.78;margin:0 0 15px}
.person-info .person-lead{color:#1b4161;font-size:16px;font-weight:700;line-height:1.55}
.person-expertise{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 23px}
.person-expertise span{padding:7px 10px;border:1px solid #cbe4ed;border-radius:100px;background:#eef9fb;color:#136b85;font-size:10px;font-weight:800}
.person-contact{display:inline-flex;gap:16px;align-items:center;margin-top:auto;border-bottom:1px solid #3ab0bc;padding:9px 0;color:#087d92;font-size:12px;font-weight:850;transition:color .2s,gap .2s}
.person-contact:hover{gap:23px;color:#0b536d}
.detail-team-mosaic{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;min-height:245px;isolation:isolate}
.detail-team-mosaic:before{content:"";position:absolute;z-index:-1;width:75%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#58c0e26b,transparent 68%);filter:blur(20px)}
.detail-team-mosaic img{width:30%;height:190px;object-fit:cover;object-position:center 23%;border:3px solid #c7f1ff96;border-radius:15px;box-shadow:0 18px 35px #01091e73;transform:rotate(-5deg) translateY(9px);animation:page-portrait-float 6s ease-in-out infinite alternate}
.detail-team-mosaic img:nth-child(2){height:228px;z-index:1;transform:translateY(-6px);animation-delay:-2s}
.detail-team-mosaic img:nth-child(3){transform:rotate(5deg) translateY(12px);animation-delay:-4s}
@keyframes page-portrait-float{to{translate:0 -10px}}
.solutions-story-head>div{max-width:790px}
.solutions-story-head>p{max-width:340px}
.solutions-flow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:29px;padding:19px 23px;border:1px solid #b9dce8;border-radius:15px;background:#e8f7fa}
.solutions-flow span{display:inline-flex;align-items:center;gap:9px;color:#204968;font-size:12px;font-weight:800;white-space:nowrap}
.solutions-flow b{color:#0e8fa4;font-size:10px}
.solutions-flow i{color:#69b9c4;font-style:normal}
.solutions-story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.solution-feature{min-width:0;overflow:hidden;border:1px solid #dae7f1;border-radius:22px;background:#fff;box-shadow:0 21px 45px #163d6510;transition:transform .35s,box-shadow .35s}
.solution-feature:hover{transform:translateY(-7px);box-shadow:0 30px 60px #163d6524}
.solution-feature-art{position:relative;display:grid;place-items:center;height:225px;overflow:hidden;background:radial-gradient(circle at 56% 55%,#2f73b68c,#143b6b 45%,#0c2347 78%)}
.solution-feature:nth-child(2n) .solution-feature-art{background:radial-gradient(circle at 56% 55%,#5a5cb58c,#183c70 45%,#101f4a 78%)}
.solution-feature:nth-child(3n) .solution-feature-art{background:radial-gradient(circle at 56% 55%,#0fabb990,#1b4d70 45%,#0d2b47 78%)}
.solution-feature-art:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff10 1px,transparent 1px),linear-gradient(90deg,#ffffff10 1px,transparent 1px);background-size:36px 36px}
.solution-feature-orbit{position:absolute;width:260px;aspect-ratio:1;border:1px solid #8fe4ee8c;border-radius:50%;transform:rotate(-24deg) scaleY(.42);box-shadow:0 0 25px #4bd9f544}
.solution-feature-art img{position:relative;width:min(56%,245px);height:225px;object-fit:contain;filter:drop-shadow(0 20px 25px #0009);animation:signature-float 8s ease-in-out infinite}
.solution-feature-art>span{position:absolute;left:20px;bottom:17px;right:20px;color:#c9e9f0;font-size:9px;font-weight:800;letter-spacing:.15em}
.solution-feature-copy{padding:28px 29px 30px}
.solution-feature-index{color:#0b8ca5;font-size:10px;font-weight:850;letter-spacing:.15em}
.solution-feature-copy h3{margin:11px 0 11px;color:#0f2e4d;font-size:clamp(24px,2.35vw,33px);line-height:1.17;letter-spacing:-.045em}
.solution-feature-copy>p{min-height:52px;color:#506b80;font-size:13px;line-height:1.68;margin:0 0 12px}
.solution-feature-detail{color:#5c7081;font-size:12px;line-height:1.65}
.solution-feature-detail p{margin:0 0 8px}
.solution-feature-detail ul{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:10px 0 21px}
.solution-feature-detail li{margin:0;padding:6px 9px;border:1px solid #d8e9ef;border-radius:8px;background:#f5fafc;color:#2b6377;font-size:10px;font-weight:700}
.solution-feature-copy>a{display:inline-flex;align-items:center;gap:17px;color:#087f95;border-bottom:1px solid #3bb7bd;padding-bottom:7px;font-size:11px;font-weight:850;transition:gap .2s}
.solution-feature-copy>a:hover{gap:24px}
.solutions-outro{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-top:25px;padding:35px;border:1px solid #b5d7e3;border-radius:20px;background:linear-gradient(115deg,#e7f7f7,#eaf1ff)}
.solutions-outro h3{margin:11px 0 8px;color:#103653;font-size:clamp(22px,2.3vw,31px);letter-spacing:-.04em}
.solutions-outro p{max-width:650px;margin:0;color:#597286;font-size:13px;line-height:1.7}
.solutions-outro>a{flex:none;display:inline-flex;gap:16px;align-items:center;padding:13px 17px;border-radius:10px;background:#0c3457;color:#d8fff7;font-size:11px;font-weight:800}
.contact-directory{background:linear-gradient(140deg,#edf8fb,#f5f8ff)}
.contact-directory>.container{padding-top:68px;padding-bottom:76px}
.contact-directory-head{max-width:760px;margin-bottom:31px}
.contact-directory-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:20px}
.contact-directory-emails,.contact-directory-people{padding:30px;border:1px solid #d5e8ee;border-radius:19px;background:#fff;box-shadow:0 20px 45px #183c5a12}
.contact-directory-emails>span,.contact-directory-people>span{display:block;margin-bottom:21px;color:#0b8194;font-size:10px;font-weight:850;letter-spacing:.16em}
.contact-directory-emails>a{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 0;border-top:1px solid #e2edf1;color:#173c58;font-size:clamp(16px,1.5vw,22px);font-weight:750;overflow-wrap:anywhere}
.contact-directory-emails>a b{color:#13a4a8;font-size:19px}
.contact-directory-emails>a:hover,.contact-directory-people>a:hover{color:#078da0}
.contact-directory-emails p{max-width:450px;margin:20px 0 0;color:#637a8d;font-size:13px;line-height:1.75}
.contact-directory-people>a{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:15px;padding:15px 0;border-top:1px solid #e2edf1;color:#173c58}
.contact-directory-people>a strong,.contact-directory-people>a small{display:block}
.contact-directory-people>a strong{font-size:15px}
.contact-directory-people>a small{margin-top:2px;color:#748ca0;font-size:11px}
.contact-directory-people>a b{font-size:12px;white-space:nowrap}
.contact-directory-people>a i{font-size:18px;font-style:normal;color:#0fa4ae}
.vira-story{scroll-margin-top:74px;background:linear-gradient(180deg,#f1f8fc,#fff)}
.vira-story>.container{padding-top:70px;padding-bottom:80px}
.vira-story-head{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:27px}
.vira-story-head>div{max-width:760px}
.vira-story-head h2{margin:17px 0 0;color:#102c4c;font-size:clamp(39px,4.4vw,60px);line-height:1.08;letter-spacing:-.06em}
.vira-story-head h2 em{font-style:normal;color:#1193a4}
.vira-story-head>p{max-width:350px;color:#5c7288;font-size:14px;line-height:1.78;margin:0}
.vira-stage-note{display:flex;align-items:center;gap:13px;margin-bottom:18px;padding:13px 16px;border:1px solid #addde0;border-radius:11px;background:#e8f9f8;color:#205a66;font-size:12px}
.vira-stage-note strong{white-space:nowrap}
.vira-stage-note p{margin:0;color:#536f7d}
.vira-status-dot{width:8px;height:8px;flex:none;border-radius:50%;background:#14b69f;box-shadow:0 0 0 5px #14b69f24,0 0 15px #14b69f}
.vira-process{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;list-style:none;margin:0 0 23px;padding:0;overflow:hidden;border:1px solid #cde0e9;border-radius:16px;background:#cde0e9}
.vira-process li{display:flex;flex-direction:column;gap:7px;min-width:0;padding:20px 17px;background:#fff}
.vira-process b{color:#0d9aaa;font-size:10px}
.vira-process strong{color:#173a58;font-size:13px;line-height:1.25}
.vira-process span{color:#74879b;font-size:10px;line-height:1.4}
.vira-story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:20px}
.vira-story-copy{padding:35px;border:1px solid #d5e6ee;border-radius:18px;background:#fff}
.vira-story-copy h3{margin:13px 0 14px;color:#123351;font-size:clamp(27px,2.6vw,37px);line-height:1.14;letter-spacing:-.05em}
.vira-story-copy>p{color:#5c7185;font-size:13px;line-height:1.8}
.vira-research{margin:23px 0;padding-top:20px;border-top:1px solid #dce8ef}
.vira-research strong{color:#133d5b;font-size:12px}
.vira-research ul{margin:10px 0 0;padding-left:18px;color:#5d788a;font-size:12px;line-height:1.8}
.vira-story-copy>a{display:inline-flex;gap:14px;border-bottom:1px solid #1da9b2;padding-bottom:7px;color:#087d91;font-size:11px;font-weight:850}
.vira-story-visual{display:flex;flex-direction:column;justify-content:center;min-width:0;margin:0;padding:25px;border:1px solid #5aa6c264;border-radius:18px;background:radial-gradient(circle at 50% 42%,#2e668a,#0d3156 65%,#0a2445);box-shadow:0 22px 42px #0c3d5a22}
.vira-story-visual img{display:block;width:100%;height:auto;max-height:390px;object-fit:contain;border-radius:9px}
.vira-story-visual figcaption{margin-top:14px;color:#b4d3de;font-size:10px;text-align:center}
.detail-page a:focus-visible,.people-story a:focus-visible,.solutions-story a:focus-visible,.contact-directory a:focus-visible{outline:3px solid #0aa8b9;outline-offset:4px}
@media(max-width:900px){.detail-page .detail-hero-grid{min-height:260px}.detail-page .detail-hero-art{min-height:240px}.people-intro,.solutions-story-head,.vira-story-head{display:block}.solutions-story-head>p,.vira-story-head>p{max-width:680px;margin-top:13px}.person-profile,.person-profile:nth-child(even){grid-template-columns:260px minmax(0,1fr)}.person-profile:nth-child(even) .person-photo,.person-profile:nth-child(even) .person-info{order:initial}.person-info{padding:29px}.person-photo{min-height:410px}.solutions-flow{flex-wrap:wrap}.solutions-flow i{display:none}.vira-process{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.detail-page .detail-hero{padding:115px 0 28px}.detail-page .detail-hero-grid{display:block;min-height:0}.detail-page .detail-breadcrumb{display:none}.detail-page .detail-hero h1{font-size:clamp(45px,8.8vw,64px)}.detail-page .detail-hero-copy>p{max-width:610px}.detail-page .detail-hero-art{right:-30px;bottom:-50px;width:42%;opacity:.18}.detail-team-mosaic{position:absolute;right:5%;bottom:-22px;width:39%;min-height:210px;opacity:.3;pointer-events:none}.detail-team-mosaic img{height:145px}.detail-team-mosaic img:nth-child(2){height:175px}.solutions-showcase{grid-template-columns:1fr minmax(210px,.7fr)}.solutions-showcase-copy{padding-left:28px}.contact-directory-grid{grid-template-columns:1fr}.solutions-story-grid{grid-template-columns:1fr 1fr}.solutions-flow{justify-content:flex-start}.people-story>.container,.solutions-story>.container{padding-top:58px}}
@media(max-width:680px){.person-profile,.person-profile:nth-child(even){grid-template-columns:1fr}.person-profile:nth-child(even) .person-photo{order:0}.person-profile:nth-child(even) .person-info{order:1}.person-photo{height:340px;min-height:0}.person-info{padding:28px}.solutions-story-grid{grid-template-columns:1fr}.solution-feature-art{height:200px}.solution-feature-art img{height:200px}.solutions-outro{display:block}.solutions-outro>a{margin-top:20px}.contact-directory-people>a{grid-template-columns:1fr auto}.contact-directory-people>a b{grid-column:1}.contact-directory-people>a i{grid-column:2;grid-row:1/3}.vira-story-grid{grid-template-columns:1fr}.vira-process{grid-template-columns:repeat(2,minmax(0,1fr))}.vira-stage-note{align-items:flex-start;flex-wrap:wrap}.vira-stage-note p{flex-basis:100%;margin-left:20px}}
@media(max-width:560px){.detail-page .detail-hero{padding:115px 0 25px}.detail-page .detail-hero h1{font-size:clamp(43px,11vw,56px)}.detail-page .detail-hero-copy>p{font-size:14px;line-height:1.6}.detail-page .detail-down{margin-top:17px}.detail-page .detail-hero-art{width:49%;right:-55px;bottom:-48px}.detail-page .detail-content{padding:49px 0 64px}.detail-page .detail-content-supplement{padding-top:44px}.solutions.section{padding-top:70px}.solutions-showcase{display:block}.solutions-showcase-copy{padding:28px 25px 135px}.solutions-showcase-copy h3{font-size:29px}.solutions-showcase-art{position:absolute;right:-45px;bottom:-49px;width:62%;height:225px;opacity:.58}.solutions-showcase-art img{width:85%}.solutions-showcase-steps{left:25px;right:auto;bottom:19px;flex-wrap:wrap;gap:7px;font-size:8px}.contact-stage .contact-inner{padding-top:67px}.people-story,.solutions-story,.contact-directory,.vira-story{scroll-margin-top:64px}.people-story>.container,.solutions-story>.container,.contact-directory>.container,.vira-story>.container{padding-top:47px;padding-bottom:56px}.people-intro h2,.solutions-story-head h2,.contact-directory-head h2,.vira-story-head h2{font-size:clamp(38px,10vw,49px)}.people-intro>p,.solutions-story-head>p,.contact-directory-head>p,.vira-story-head>p{font-size:14px}.person-photo{height:310px}.person-info p{font-size:13px}.person-info .person-lead{font-size:15px}.solutions-flow{gap:10px;padding:14px}.solutions-flow span{font-size:10px}.solutions-flow b{font-size:9px}.solutions-outro{padding:25px}.contact-directory-emails,.contact-directory-people{padding:22px}.contact-directory-emails>a{font-size:17px}.vira-process li{padding:16px 12px}.vira-story-copy{padding:25px}}
@media(prefers-reduced-motion:reduce){.detail-team-mosaic img,.solution-feature-art img,.solutions-showcase-art img{animation:none}.person-profile,.solution-feature,.person-photo img,.person-contact,.solution-feature-copy>a{transition:none}.person-profile:hover,.solution-feature:hover,.person-profile:hover .person-photo img{transform:none}}
