@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500 700;font-display:swap;src:url('fonts/cormorant-garamond-latin.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('fonts/dm-sans-latin.woff2') format('woff2')}
:root{--purple:#4e2c73;--purple-deep:#341c4c;--purple-soft:#70518d;--grey:#686a6d;--ink:#24212a;--cream:#f8f6f3;--line:#e6e0e8;--white:#fff;--font:'DM Sans',Arial,sans-serif;--display:'Manrope',Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:#fff;font-family:var(--font);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}button,a{font:inherit}a{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a883cb;outline-offset:4px}.skip-link{position:absolute;top:-100px;left:20px;z-index:1000;background:#fff;padding:8px 14px}.skip-link:focus{top:10px}.wrap{width:min(100% - 96px,1370px);margin-inline:auto}.section-pad{padding:125px 0}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.19em;color:var(--purple);line-height:1.5;margin:0 0 28px}.eyebrow.light{color:#e9ddf3}.eyebrow span{padding:0 10px;color:#bd9ed1}.display-title{font-family:var(--display);font-size:clamp(42px,4.7vw,75px);font-weight:500;letter-spacing:-.075em;line-height:1.15;margin:0}.display-title em,h1 em{font-style:normal;color:var(--purple-soft)}.site-header{height:96px;background:#fff;position:sticky;top:0;z-index:50}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:block;width:245px;line-height:0;flex:none}.brand img,.footer-brand img{display:block;width:100%;height:auto}.primary-nav{display:flex;align-items:center;gap:33px}.primary-nav a{text-decoration:none;font-weight:600;font-size:13px;transition:color .25s}.primary-nav a:not(.nav-cta):hover{color:var(--purple-soft)}.primary-nav .nav-cta{background:var(--purple);color:#fff;padding:14px 20px;margin-left:10px}.nav-cta span,.button span,.service-link span{padding-left:14px;transition:transform .25s;display:inline-block}.nav-cta:hover span,.button:hover span,.service-link:hover span{transform:translate(3px,-3px)}.menu-toggle{display:none}
.hero{min-height:min(790px,calc(100svh - 96px));position:relative;display:flex;align-items:center;color:#fff;overflow:hidden;background:#4c3c54}.hero-media,.hero-shade{position:absolute;inset:0}.hero-media{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.04);animation:heroReveal .65s cubic-bezier(.2,.6,.2,1) both}.hero-shade{background:linear-gradient(90deg,rgba(32,19,46,.92) 0%,rgba(46,29,62,.76) 33%,rgba(42,28,50,.3) 65%,rgba(35,25,40,.1) 100%)}.hero-content{position:relative;z-index:2;padding-top:55px;padding-bottom:85px}.hero h1{font-family:var(--display);font-size:clamp(54px,6.2vw,100px);line-height:1.08;letter-spacing:-.08em;font-weight:500;max-width:850px;margin:0}.hero h1 em{color:#e4d5ef}.hero-intro{max-width:530px;font-size:18px;line-height:1.75;margin:32px 0 35px;color:#f1ecf3}.hero-actions{display:flex;align-items:center;gap:34px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;text-decoration:none;font-weight:700;font-size:13px;letter-spacing:.02em;padding:16px 22px;min-height:57px;transition:background .25s,color .25s,transform .25s}.button:hover{transform:translateY(-2px)}.button-light{background:#fff;color:var(--purple-deep)}.button-light:hover{background:#e9ddf3}.text-link{font-size:13px;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px}.light-link{color:#fff}.text-link span{padding-left:10px}@keyframes heroReveal{from{transform:scale(1.08)}to{transform:scale(1.04)}}
.intro{background:#fff}.intro-grid{display:grid;grid-template-columns:30% 1fr;gap:30px}.section-marker{font-size:11px;font-weight:700;letter-spacing:.17em;color:var(--purple);padding-top:16px}.marker-line{display:inline-block;width:28px;height:1px;background:var(--purple);vertical-align:middle;margin-right:12px}.intro .display-title{max-width:1000px}.intro-bottom{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-top:45px}.intro-bottom p{max-width:560px;margin:0;font-size:18px;color:#595660}.circle-link{width:72px;height:72px;border-radius:50%;background:var(--purple);color:#fff;display:grid;place-items:center;font-size:26px;text-decoration:none;flex:none;transition:transform .25s,background .25s}.circle-link:hover{transform:rotate(-45deg);background:#6c458f}
.services{background:var(--cream)}.section-heading-row{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:62px}.section-heading-row .display-title{max-width:680px}.section-heading-row>p{width:320px;color:#65616a;margin:0 0 5px}.service-list{border-top:1px solid #d8d1d9}.service-card{display:grid;grid-template-columns:21% 1fr 170px;gap:35px;padding:57px 6px;border-bottom:1px solid #d8d1d9;transition:background .3s,padding .3s}.service-card:hover{background:#fff;padding-left:26px;padding-right:26px}.service-number{font-size:13px;font-weight:700;color:var(--purple);letter-spacing:.1em;padding-top:15px}.service-number span{display:inline-block;width:50px;height:1px;background:#c4b6cd;vertical-align:middle;margin-left:16px}.service-copy h3{font-family:var(--display);font-size:clamp(35px,3.7vw,58px);font-weight:500;line-height:1.2;letter-spacing:-.065em;margin:0 0 16px}.service-copy>p{max-width:700px;color:#5e5963;margin:0 0 22px}.service-copy ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px 20px;padding:0;margin:0 0 30px}.service-copy li{font-size:12px;font-weight:600;color:#5e5366;display:flex;align-items:center;gap:7px}.service-copy li::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--purple-soft)}.service-link{display:inline-block;font-weight:700;font-size:13px;color:var(--purple);text-decoration:none;border-bottom:1px solid #8a68a3;padding-bottom:5px}.service-icon{align-self:center;justify-self:end;width:125px;height:125px;border:1px solid #ded5e5;border-radius:50%;display:grid;place-items:center;color:#a28bb0}.service-icon svg{width:68px;height:68px;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.approach{display:grid;grid-template-columns:1fr 1fr;min-height:790px}.approach-image{background:#d8d0ca url('images/approach.webp') center/cover no-repeat}.approach-content{background:var(--purple-deep);color:#fff;display:flex;align-items:center;padding:85px clamp(40px,7vw,120px)}.approach-inner{max-width:620px}.approach .display-title{font-size:clamp(44px,4.4vw,70px)}.approach .display-title em{color:#d1b7e4}.approach-inner>p:not(.eyebrow){color:#e0d6e6;max-width:550px;margin:25px 0 32px}.approach-steps{border-top:1px solid #725b82;margin-bottom:32px}.approach-steps>div{display:grid;grid-template-columns:35px 1fr;gap:0 12px;padding:15px 0;border-bottom:1px solid #725b82}.approach-steps span{font-size:11px;color:#d4bce4;font-weight:700;padding-top:3px}.approach-steps strong{font-size:14px;font-weight:600}.approach-steps p{grid-column:2;margin:3px 0 0;color:#d6cbdc;font-size:13px;line-height:1.5}.button-outline{border:1px solid #c7b2d6;color:#fff}.button-outline:hover{background:#fff;color:var(--purple-deep)}
.about{background:#fff}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.about .display-title{max-width:630px}.about-copy{padding-top:52px;max-width:550px;color:#625d66}.about-copy p{margin:0 0 22px}.about-copy .lead{font-family:var(--display);font-size:27px;line-height:1.45;letter-spacing:-.045em;color:var(--ink)}.about-copy .service-link{margin-top:18px}
.faq{background:#f3f0f4}.faq-grid{display:grid;grid-template-columns:38% 1fr;gap:9%}.faq-intro .display-title{font-size:clamp(41px,4.1vw,65px)}.faq-intro>p:last-child{max-width:330px;color:#6c6570;margin-top:24px}.faq-list{border-top:1px solid #d6cbdc}.faq-list details{border-bottom:1px solid #d6cbdc}.faq-list summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 0;list-style:none;font-weight:600;font-size:17px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:24px;font-weight:300;color:var(--purple);transition:transform .25s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{margin:0 35px 24px 0;color:#655d6b}.faq-note{font-size:12px;color:#6a6470;margin-top:27px}.faq-note a{color:var(--purple)}
.contact{background:var(--purple);color:#fff;padding:105px 0 100px}.contact-grid{display:grid;grid-template-columns:1.1fr .65fr;gap:12%;align-items:end}.contact .display-title{font-size:clamp(47px,5.1vw,80px)}.contact .display-title em{color:#dec9ed}.contact-grid>div:first-child>p:not(.eyebrow){max-width:490px;color:#eadff0;margin:24px 0 30px}.contact-details{padding-bottom:8px}.contact-details>div{border-bottom:1px solid #886a9e;padding:22px 0}.contact-details span{display:block;font-size:10px;letter-spacing:.18em;color:#d8c2e5;font-weight:700;margin-bottom:8px}.contact-details a,.contact-details div p{font-family:var(--display);font-size:clamp(20px,2.3vw,31px);font-weight:500;letter-spacing:-.04em;text-decoration:none;margin:0}.contact-details a:hover{text-decoration:underline}.contact-details .contact-small{font-size:11px;color:#dfd2e9;line-height:1.6;margin-top:18px}
.site-footer{background:#fff}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:42px 0}.footer-brand{width:250px;line-height:0}.footer-top nav{display:flex;gap:30px}.footer-top nav a{text-decoration:none;font-size:12px;font-weight:700}.footer-top nav a:hover{color:var(--purple)}.footer-bottom{border-top:1px solid #e6e1e8;display:flex;justify-content:space-between;gap:30px;padding:18px 0 25px;color:#777078;font-size:11px}.footer-bottom p{margin:0}
@media (prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s ease}.reveal.is-visible{opacity:1;transform:none}}
@media(max-width:1050px){.wrap{width:min(100% - 60px,1370px)}.brand{width:205px}.primary-nav{gap:18px}.primary-nav a{font-size:12px}.service-card{grid-template-columns:14% 1fr 110px;gap:25px}.service-icon{width:100px;height:100px}.service-icon svg{width:57px;height:57px}.approach-content{padding:70px 50px}}
@media(max-width:760px){html{scroll-padding-top:72px}.wrap{width:min(100% - 38px,1370px)}.section-pad{padding:78px 0}.site-header{height:72px}.brand{width:175px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:42px;height:42px;border:0;background:transparent;cursor:pointer;padding:8px}.menu-toggle span{display:block;width:26px;height:2px;background:var(--purple);transition:transform .25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.primary-nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:20px 19px 28px;box-shadow:0 14px 20px #21102720;flex-direction:column;align-items:stretch;gap:0}.primary-nav.is-open{display:flex}.primary-nav a{font-size:15px;padding:13px 4px;border-bottom:1px solid #eee8ef}.primary-nav .nav-cta{margin:17px 0 0;text-align:center;padding:12px}.hero{min-height:660px;align-items:end}.hero-media{object-position:64% center}.hero-shade{background:linear-gradient(0deg,rgba(31,18,43,.96),rgba(41,24,55,.68) 55%,rgba(41,24,55,.16))}.hero-content{padding:90px 0 88px}.hero h1{font-size:clamp(47px,9.5vw,70px)}.hero-intro{font-size:16px;line-height:1.65;margin:22px 0 28px}.display-title{font-size:clamp(38px,9vw,60px)}.intro-grid{grid-template-columns:1fr;gap:25px}.intro-bottom{margin-top:25px}.intro-bottom p{font-size:16px}.circle-link{width:56px;height:56px}.section-heading-row{display:block;margin-bottom:38px}.section-heading-row>p{width:auto;max-width:490px;margin:22px 0 0}.service-card{grid-template-columns:1fr 64px;gap:0 12px;padding:35px 0}.service-card:hover{padding:35px 0}.service-number{grid-column:1/-1;padding:0 0 17px}.service-copy h3{font-size:41px}.service-copy{grid-column:1}.service-icon{grid-column:2;grid-row:2;align-self:start;width:62px;height:62px}.service-icon svg{width:37px;height:37px}.service-copy ul{display:block}.service-copy li{margin-bottom:3px}.approach{grid-template-columns:1fr}.approach-image{min-height:430px}.approach-content{padding:76px 19px}.approach-inner{max-width:none}.approach .display-title{font-size:clamp(43px,9vw,65px)}.about-grid,.faq-grid,.contact-grid{grid-template-columns:1fr;gap:30px}.about-copy{padding:0}.faq-intro>p:last-child{margin:18px 0 0}.contact{padding:80px 0}.contact-details{padding:10px 0 0}.footer-top{align-items:flex-start;flex-direction:column;gap:22px}.footer-brand{width:215px}.footer-bottom{flex-direction:column;gap:6px}}
@media(max-width:430px){.hero{min-height:690px}.hero h1{font-size:47px}.hero-actions{align-items:flex-start;flex-direction:column;gap:19px}.hero .eyebrow{font-size:9px;letter-spacing:.13em}.hero .eyebrow span{padding:0 5px}.intro-bottom{align-items:flex-start;flex-direction:column}.service-copy h3{font-size:38px}.service-copy>p{font-size:14px}.service-icon{width:55px;height:55px}.footer-top nav{flex-wrap:wrap;gap:8px 22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* People, navigation progress and the more expressive scroll details. */
.scroll-progress{position:fixed;top:0;left:0;z-index:100;width:100%;height:3px;background:#8a64ac;transform:scaleX(var(--scroll-progress,0));transform-origin:left;pointer-events:none}
.approach,.approach-content{overflow:hidden}
.people-section{background:#f5f2f5;padding-bottom:103px}.people-heading{display:flex;justify-content:space-between;align-items:end;gap:40px}.people-heading .display-title{max-width:870px}.people-heading>p{max-width:270px;color:#655e68;margin:0 0 7px}.people-figure{margin:54px auto 0}.people-collage{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;overflow:hidden;background:#e6dce8}.collage-tile{aspect-ratio:.89;background-image:url('images/people-collage.webp');background-size:400% 200%;background-repeat:no-repeat;filter:saturate(.86);transition:filter .5s ease,transform .7s ease,opacity .7s ease}.collage-tile:hover{filter:saturate(1.05)}.tile-1{background-position:0 0}.tile-2{background-position:33.333% 0}.tile-3{background-position:66.667% 0}.tile-4{background-position:100% 0}.tile-5{background-position:0 100%}.tile-6{background-position:33.333% 100%}.tile-7{background-position:66.667% 100%}.tile-8{background-position:100% 100%}.people-figure figcaption{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#837987;text-align:right;margin-top:10px}
.approach-steps .step-icon{grid-row:1/3;display:grid;place-items:center;width:37px;height:37px;padding:0;color:#e0caed}.step-icon svg{width:26px;height:26px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.approach-steps strong{align-self:center}.approach-steps p{padding-bottom:3px}.contact-details span{display:flex;align-items:center;gap:8px}.contact-details span svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.footer-company{display:flex;flex-direction:column;align-items:flex-start;min-width:185px;color:#69626c;font-size:12px;line-height:1.8}.footer-company strong{color:var(--purple-deep);font-size:12px;letter-spacing:.08em}.footer-company a{text-decoration:none;color:var(--purple)}.footer-company a:hover{text-decoration:underline}.service-icon{transition:background .35s,color .35s,transform .35s}.service-card:hover .service-icon{background:var(--purple);color:#fff;transform:rotate(-6deg)}
@media(prefers-reduced-motion:no-preference){.collage-tile.reveal{opacity:0;transform:translateY(40px) scale(.96);filter:grayscale(.35)}.collage-tile.reveal.is-visible{opacity:1;transform:none;filter:saturate(.86)}.collage-tile:nth-child(2){transition-delay:60ms}.collage-tile:nth-child(3){transition-delay:120ms}.collage-tile:nth-child(4){transition-delay:180ms}.collage-tile:nth-child(5){transition-delay:90ms}.collage-tile:nth-child(6){transition-delay:150ms}.collage-tile:nth-child(7){transition-delay:210ms}.collage-tile:nth-child(8){transition-delay:270ms}.approach-image.reveal{opacity:0;transform:scale(1.04);transition:opacity .8s ease,transform 1s cubic-bezier(.2,.7,.2,1)}.approach-image.reveal.is-visible{opacity:1;transform:none}.approach-step.reveal{transform:translateX(25px)}.approach-step.reveal.is-visible{transform:none}.approach-step:nth-child(2){transition-delay:100ms}.approach-step:nth-child(3){transition-delay:200ms}}
@media(max-width:1050px){.footer-top nav{gap:18px}.people-heading>p{max-width:230px}}
@media(max-width:760px){.people-section{padding-bottom:78px}.people-heading{display:block}.people-heading>p{max-width:520px;margin:20px 0 0}.people-figure{margin:33px auto 0}.people-collage{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}.footer-company{margin-top:2px}.footer-top nav{gap:10px 22px}}

/* A more editorial heading style, with slightly larger reading copy. */
:root{--display:'Cormorant Garamond',Georgia,serif}
body{font-size:17px}
.display-title{font-size:clamp(48px,5.4vw,84px);font-weight:600;letter-spacing:-.035em;line-height:1.04}
.hero h1{font-size:clamp(65px,7vw,112px);font-weight:600;letter-spacing:-.045em;line-height:.98}
.hero-intro,.intro-bottom p{font-size:19px}
.service-copy h3{font-size:clamp(42px,4.2vw,65px);font-weight:600;letter-spacing:-.025em;line-height:1.05}
.service-copy li{font-size:13px}
.approach-steps strong{font-size:15px}.approach-steps p{font-size:14px}
.about-copy .lead{font-size:32px;letter-spacing:-.02em;line-height:1.24}
.faq-list summary{font-size:18px}
.contact-details a,.contact-details div p{font-family:var(--font);letter-spacing:-.02em}
.contact-details .contact-small,.footer-bottom{font-size:12px}
@media(max-width:760px){.display-title{font-size:clamp(44px,10vw,65px)}.hero h1{font-size:clamp(54px,11vw,77px)}.hero-intro,.intro-bottom p{font-size:17px}.service-copy h3{font-size:46px}.approach .display-title{font-size:clamp(49px,10vw,70px)}}
@media(max-width:430px){.hero h1{font-size:54px}.service-copy h3{font-size:43px}.service-copy>p{font-size:16px}}

/* Compact editorial sections that layer over one another as the page scrolls. */
main{isolation:isolate}
main>section{position:relative}
main.stack-panels>section{position:sticky;top:min(var(--header-height,96px),calc(100svh - var(--panel-height,100svh)))}
main>section:not(.hero){margin-top:-48px;border-radius:28px 28px 0 0;box-shadow:0 -13px 34px rgba(30,17,43,.12)}
main>.hero{z-index:0}
main>.intro{z-index:1}
main>.services{z-index:2}
main>.approach{z-index:3}
.approach{background:#d8d0ca}
main>.people-section{z-index:4}
main>.about{z-index:5}
main>.faq{z-index:6}
main>.contact{z-index:7}
.section-pad{padding:88px 0}
.intro-grid{display:block}
.intro .display-title{max-width:1080px}
.intro-bottom{max-width:910px;margin-top:27px}
.section-heading-row{margin-bottom:40px}
.approach-content{padding-top:68px;padding-bottom:68px}
.people-section{padding-bottom:85px}
.people-figure{margin-top:32px}
.about-copy{padding-top:12px}
.contact{padding:82px 0}
.footer-bottom{padding:16px 0 19px}

@media(max-width:760px){
  main.stack-panels>section{--header-height:72px}
  main>section:not(.hero){margin-top:-30px;border-radius:20px 20px 0 0;box-shadow:0 -9px 24px rgba(30,17,43,.11)}
  .section-pad{padding:62px 0}
  .intro-bottom{margin-top:21px}
  .section-heading-row{margin-bottom:28px}
  .approach-content{padding:58px 19px}
  .people-section{padding-bottom:62px}
  .people-figure{margin-top:25px}
  .about-copy{padding-top:0}
  .contact{padding:62px 0}
}
@media(prefers-reduced-motion:reduce){main.stack-panels>section{position:relative;top:auto}}

/* EMC Protect wordmark and a centred, compact footer. */
.hero-content{padding-bottom:68px}
.footer-top{flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:38px 0 32px;text-align:center}
.footer-brand{width:250px}
.footer-company{align-items:center;min-width:0;font-size:13px;line-height:1.65}
.footer-company strong{font-size:13px}
.footer-top nav{justify-content:center;flex-wrap:wrap;gap:12px 28px}
.footer-top nav a{font-size:13px}
.footer-bottom{flex-direction:column;justify-content:center;align-items:center;gap:4px;text-align:center;line-height:1.5;padding:16px 0 22px}
.footer-bottom a{color:var(--purple);font-weight:600;text-underline-offset:3px}
.footer-bottom a:hover{color:var(--purple-deep)}
@media(max-width:760px){
  .hero-content{padding-bottom:67px}
  .footer-top{align-items:center;gap:18px;padding:34px 0 28px}
  .footer-brand{width:215px}
  .footer-top nav{justify-content:center;gap:10px 22px}
  .footer-bottom{align-items:center;gap:5px;padding:16px 0 22px}
}
