@font-face{font-family:Manrope;src:url('assets/manrope-light.ttf') format('truetype');font-weight:300;font-display:swap}@font-face{font-family:Manrope;src:url('assets/manrope-regular.ttf') format('truetype');font-weight:400 800;font-display:swap}:root{color-scheme:dark;--bg:#070304;--white:#faf6f7;--pink:#ff2878;--muted:#d4c8cc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--white);font-family:Manrope,Arial,sans-serif;font-weight:300;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--pink);outline-offset:7px}::selection{color:white;background:#a01248}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:300;letter-spacing:-.055em;line-height:1.08}em{font-style:normal;color:var(--pink)}.skip{position:fixed;top:-100px;left:20px;background:var(--pink);padding:15px;color:black;z-index:100}.skip:focus{top:15px}.journey{position:relative;isolation:isolate;width:100%;max-width:1920px;margin:auto;container-type:inline-size}.continuous-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:-2;pointer-events:none}header{height:8cqw;padding:0 8%;display:flex;align-items:center;justify-content:space-between;gap:30px}.wordmark{font-size:clamp(17px,1.65cqw,30px);font-weight:400;letter-spacing:.34em}.wordmark:hover{color:var(--pink)}nav{display:flex;gap:2.8cqw;align-items:center;font-size:clamp(12px,1.05cqw,17px)}nav>a:not(.button):hover{color:var(--pink)}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:17px 24px;min-height:48px;color:#120007;background:var(--pink);font-size:clamp(14px,1.2cqw,20px);font-weight:600;line-height:1.4;transition:background .2s,transform .2s}.button:hover{background:#ff639b;transform:translateY(-2px)}.nav-call{padding:12px 20px;min-height:42px;font-size:clamp(12px,1cqw,16px)}.menu-toggle{display:none}.eyebrow{font-size:clamp(11px,1.05cqw,17px);font-weight:400;letter-spacing:.22em;line-height:1.6;margin-bottom:2cqw}h1{font-size:6.5cqw}h2{font-size:5.7cqw}.hero{position:relative;height:58cqw;padding:18cqw 8% 0}.hero-copy{max-width:72%}.intro{font-size:2cqw;line-height:1.55;margin:2.2cqw 0 3cqw;max-width:38cqw}.scroll-note{display:flex;gap:22px;align-items:center;margin-top:3cqw;color:#d9c4cc;font-size:12px;letter-spacing:.04em}.scroll-note:hover{color:var(--pink)}section{scroll-margin-top:40px}.expertise{height:65cqw;position:relative}.expertise-heading{position:absolute;left:8%;top:3cqw}.services{position:absolute;inset:0}.service{position:absolute;width:27%;padding:1.2cqw;transition:transform .3s}.service-test{left:10%;top:36cqw}.service-assess{left:46%;top:27cqw}.service-guide{left:75%;top:14cqw;width:23%}.service .eyebrow{font-size:clamp(11px,.95cqw,16px);margin-bottom:1.2cqw;letter-spacing:.18em}.service h3{font-size:3.75cqw;line-height:1.12;letter-spacing:-.04em}.service>p:not(.eyebrow){font-size:1.65cqw;line-height:1.5;margin:1.4cqw 0 2cqw;max-width:90%}.service-link{display:inline-flex;align-items:center;gap:12px;padding:13px 17px;background:transparent;font-weight:400;font-size:clamp(14px,1.12cqw,18px);transition:background .25s,color .25s}.service-link span{font-size:23px}.service-link:focus-visible{background:var(--pink);color:#120007}@media(hover:hover){.service-link:hover{background:var(--pink);color:#120007}}.mobile-ribbon{display:none}.approach{height:70cqw;position:relative}.approach-heading{position:absolute;top:7cqw;left:28%}.steps{position:absolute;left:51%;right:9%;top:24cqw;margin:0;padding:0;list-style:none}.steps li{position:relative;border-left:1px solid #ac155263;padding:0 0 8cqw 5cqw}.steps li:last-child{border:0;padding-bottom:0}.step-number{position:absolute;left:-1.6cqw;top:-.15cqw;display:grid;place-items:center;width:3.2cqw;height:3.2cqw;border:1px solid #b61d57;border-radius:50%;color:var(--pink);font-size:1.2cqw;background:#090305}.steps h3{font-size:2.2cqw;letter-spacing:-.035em;line-height:1.3}.steps p{font-size:1.6cqw;line-height:1.5;color:var(--muted);margin-top:1cqw}.steps .current .step-number{background:var(--pink);color:#100006}.steps .current h3{color:white}.about{height:45cqw;padding:7cqw 15% 0}.about h2{font-size:5.3cqw}.about-copy{font-size:2cqw;line-height:1.5;margin:2.3cqw 0 3cqw}.credentials{display:flex;gap:4cqw}.credentials>div{display:flex;flex-direction:column;gap:1cqw}.credentials>div+div{padding-left:4cqw;border-left:1px solid #e195b033}.credentials strong{font-size:1.5cqw;font-weight:400}.credentials span{font-size:1.35cqw;color:var(--muted);line-height:1.4}.contact{height:39cqw;padding:9cqw 15% 0}.contact h2{font-size:5.9cqw;margin-bottom:3.4cqw}footer{height:12cqw;padding:2.5cqw 8% 0}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:3cqw;font-size:12px;color:#b99faa}.footer-bottom button{font-size:12px}.footer-bottom button:hover{color:white}body.reduced *{transition:none!important}body.reduced .service:hover{transform:none}
@media(min-width:801px) and (max-width:1050px){.button{padding:13px 18px}.intro{font-size:18px}.service>p:not(.eyebrow),.steps p{font-size:16px}.steps h3{font-size:23px}.approach-heading{left:18%;top:5cqw}.steps{left:42%;right:7%;top:25cqw}.steps li{padding-bottom:6cqw}.credentials strong,.credentials span{font-size:14px}.footer-bottom{font-size:11px}}
@media(max-width:800px){.journey{overflow:hidden}.continuous-art{height:100%;width:160%;left:-30%;opacity:.42;object-fit:fill}header{height:95px;padding:0 7%;position:relative;z-index:10}.wordmark{font-size:19px;letter-spacing:.32em}.menu-toggle{display:block;font-size:16px;padding:12px 0}header nav{display:none;position:absolute;top:80px;left:5%;right:5%;padding:25px;background:#1c080f;border:1px solid #63273d;align-items:stretch;gap:22px;font-size:17px}header nav.open{display:flex;flex-direction:column}.hero{height:auto;min-height:610px;padding:115px 7% 75px}.hero-copy{max-width:100%}h1{font-size:clamp(40px,8.3vw,66px);line-height:1.1}h2{font-size:clamp(37px,8vw,60px)}.eyebrow{font-size:11px;letter-spacing:.17em;margin-bottom:22px}.intro{font-size:18px;max-width:100%;line-height:1.6;margin:25px 0 30px}.button{font-size:15px;min-height:49px;padding:16px 20px}.scroll-note{margin-top:34px;font-size:12px}.expertise{height:auto;position:relative;padding:50px 7% 50px;isolation:isolate;min-height:1300px}.mobile-ribbon{display:block;position:absolute;z-index:-1;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;mask-image:linear-gradient(transparent,#000 8%,#000 91%,transparent)}.expertise-heading{position:relative;left:auto;top:auto;margin-bottom:155px}.services{position:relative;inset:auto;display:flex;flex-direction:column;gap:100px}.service{position:relative;left:auto;top:auto;width:80%;padding:0;min-height:235px}.service-assess{margin-left:17%;width:83%}.service-guide{margin-top:15px;margin-left:3%}.service .eyebrow{font-size:11px;margin-bottom:18px}.service h3{font-size:clamp(34px,7.7vw,53px)}.service>p:not(.eyebrow){font-size:17px;line-height:1.5;margin:20px 0 20px;max-width:100%}.service-link{font-size:15px;min-height:48px}.service:hover,.service:focus-within{transform:none}.approach{height:auto;min-height:770px;padding:70px 9% 70px 15%}.approach-heading{position:relative;left:auto;top:auto}.steps{position:relative;left:auto;right:auto;top:auto;margin:55px 0 0 22px}.steps li{padding:0 0 clamp(80px,18vh,145px) 35px}.step-number{left:-16px;top:0;width:32px;height:32px;font-size:12px}.steps h3{font-size:23px}.steps p{font-size:17px;margin-top:13px;line-height:1.6}.about{height:auto;padding:70px 8% 80px}.about h2{font-size:clamp(34px,7.5vw,52px)}.about-copy{font-size:18px;margin:27px 0 35px;line-height:1.6}.credentials{gap:20px;flex-wrap:wrap}.credentials>div{gap:10px}.credentials>div+div{padding-left:20px}.credentials strong{font-size:14px}.credentials span{font-size:13px;line-height:1.5}.contact{height:auto;min-height:410px;padding:80px 8% 75px}.contact h2{font-size:clamp(36px,8vw,58px);margin-bottom:35px}footer{height:auto;padding:40px 8% 30px}.footer-top{align-items:flex-start;flex-direction:column;gap:30px}footer nav{font-size:13px;gap:22px;flex-wrap:wrap}.footer-bottom{font-size:11px;line-height:1.6;margin-top:30px;align-items:flex-start}.footer-bottom span{max-width:210px}.footer-bottom button{font-size:11px;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Feather only the artwork where a centred canvas meets the page background. */
:root{--art-edge-mask:linear-gradient(to right,transparent,rgb(0 0 0 / .1) 2%,rgb(0 0 0 / .4) 5%,rgb(0 0 0 / .82) 8%,#000 12%,#000 84%,rgb(0 0 0 / .88) 88%,rgb(0 0 0 / .5) 93%,rgb(0 0 0 / .12) 97%,transparent)}
@media (min-width:1921px){.continuous-art{-webkit-mask-image:var(--art-edge-mask);mask-image:var(--art-edge-mask)}}

.wordmark{display:inline-flex;align-items:center;flex:none;line-height:1}.wordmark img{display:block;width:clamp(164px,12cqw,196px);height:auto}.wordmark:hover img{opacity:.78}@media(max-width:800px){.wordmark img{width:168px}}

.step-number{transition:background-color .55s ease,color .55s ease,border-color .55s ease}.steps h3{transition:color .55s ease}.steps .current .step-number{border-color:var(--pink)}

/* Contour OO interaction. */
.wordmark{min-height:44px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.wordmark-svg{display:block;width:clamp(164px,12cqw,196px);height:auto;overflow:visible}
.wordmark-oo .oo-front{fill:#faf6f7;transition:fill .24s ease}
.wordmark-oo .oo-rear{fill:#c9bdc2;transition:fill .24s ease}
.wordmark:is(:hover,:focus-visible,:active) .oo-front{fill:var(--pink)}
.wordmark:is(:hover,:focus-visible,:active) .oo-rear{fill:#a01248}
@media(max-width:800px){.wordmark-svg{width:168px}}
@media(prefers-reduced-motion:reduce){.wordmark-oo path{transition:none}}

/* Service navigation uses a native disclosure for keyboard and touch access. */
header{position:relative;z-index:20}
.services-menu{position:relative}
.services-menu summary{display:flex;align-items:center;gap:9px;min-height:44px;list-style:none;cursor:pointer;white-space:nowrap}
.services-menu summary::-webkit-details-marker{display:none}
.services-menu summary svg{fill:none;stroke:currentColor;stroke-width:1.3;transition:transform .2s}
.services-menu[open] summary,.services-menu summary:hover{color:var(--pink)}
.services-menu[open] summary svg{transform:rotate(180deg)}
.services-menu summary:focus-visible{outline:2px solid var(--pink);outline-offset:5px}
.services-dropdown{position:absolute;top:calc(100% + 10px);left:-24px;width:330px;padding:23px;background:#16090f;border:1px solid #63273d;box-shadow:0 24px 55px #0008}
.services-menu-label{font-size:10px;font-weight:400;letter-spacing:.18em;color:#b99faa;margin-bottom:10px}
.services-dropdown a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:62px;padding:12px 0;font-size:15px;line-height:1.4;font-weight:400}
.services-dropdown a>span:first-child{min-width:0}
.services-dropdown small{display:block;margin-top:5px;color:var(--muted);font-size:12px;font-weight:300;line-height:1.5}
.services-dropdown a:hover,.services-dropdown a[aria-current="page"]{color:var(--pink)}
.services-dropdown a:focus-visible{outline-offset:4px}
.services-dropdown .services-overview{min-height:44px;margin-top:12px;padding:17px 0 0;border-top:1px solid #63273d;font-size:12px;color:var(--muted)}
.services-dropdown .services-overview:hover{color:var(--pink)}
@media(max-width:800px){
  header nav.open{max-height:calc(100dvh - 100px);overflow-y:auto}
  .services-menu summary{justify-content:space-between;min-height:24px}
  .services-dropdown{position:static;width:auto;margin-top:20px;padding:0 0 0 17px;border:0;border-left:1px solid #63273d;background:transparent;box-shadow:none}
  .services-menu-label{display:none}
  .services-dropdown a{font-size:15px}
  .services-dropdown a:first-of-type{padding-top:0}
}

.services-dropdown a.framework-menu-link{font-size:14px;min-height:44px;padding:10px 0 10px 16px;border-left:1px solid #63273d;margin-left:2px;color:#d8bdcb}
.services-dropdown a.framework-menu-link:hover{color:var(--pink)}
.services-dropdown{max-height:calc(100dvh - 110px);overflow-y:auto}
@media(max-width:800px){.services-dropdown{max-height:none;overflow:visible}}
