@font-face{font-family:Montserrat;src:url('/assets/Montserrat-Regular.ttf');font-weight:400;font-display:swap}@font-face{font-family:Montserrat;src:url('/assets/Montserrat-Medium.ttf');font-weight:500;font-display:swap}@font-face{font-family:Montserrat;src:url('/assets/Montserrat-SemiBold.ttf');font-weight:600;font-display:swap}@font-face{font-family:Montserrat;src:url('/assets/Montserrat-Bold.ttf');font-weight:700;font-display:swap}
:root{--ink:#172f3e;--blue:#355971;--plum:#7f3671;--paper:#fff;--soft:#f2f4f4;--muted:#586974;--line:#d8e0e3;--light:#c8d6de;--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:#fff;font-family:Montserrat,Arial,sans-serif;line-height:1.7}main{overflow:clip}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #ad74a1;outline-offset:5px}p,h1,h2,h3,figure{margin:0}h1,h2,h3{text-wrap:balance}h1{font-size:48px;line-height:1.18;font-weight:600}h2{font-size:48px;line-height:1.18;font-weight:600;max-width:100%}h3{font-size:20px;line-height:1.4;font-weight:600}.copy{color:var(--muted);font-size:16px;line-height:1.7;max-width:800px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.035em;line-height:1.4;color:var(--plum)}.subheading{font-size:26px;line-height:1.4}.section{padding:80px max(6.6667vw,calc((100vw - 1248px)/2));width:100%}.stack{display:flex;flex-direction:column;align-items:flex-start;gap:var(--gap,24px)}.stack>*{max-width:100%}.section>.row,.section>.stack,.section>.photo,.section>.divider{width:100%}.row{display:flex;align-items:flex-start;gap:var(--gap,24px);width:100%;min-width:0}.row>*{flex:1;min-width:0}.split{gap:64px;align-items:flex-start}.split>.photo{flex:1}.service-stack{gap:16px;width:100%}.service-stack .card{width:100%}.soft{background:var(--soft)}.paper{background:var(--paper)}.dark{background:var(--ink);color:white}.plum{background:var(--plum);color:white}.dark .copy,.plum .copy,.dark .eyebrow,.plum .eyebrow{color:var(--light)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:15px 24px;border:1px solid transparent;border-radius:3px;background:var(--plum);color:white;font-size:14px;font-weight:500;line-height:1.5;cursor:pointer;transition:background-color .2s,transform .2s;max-width:100%;text-align:center}.button:active{transform:scale(.97)}.outline{background:transparent;border-color:#b4c1cb;color:white}.plum .button{background:white;color:var(--plum)}.dark:not(.hero) .button{background:transparent;border-color:#9baebb}.actions{width:auto!important;flex-wrap:wrap;gap:14px}.actions .button{flex:none}.site-header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:24px max(6.6667vw,calc((100vw - 1248px)/2));gap:40px;background:rgba(255,255,255,.97);position:sticky;top:0;z-index:30;border-bottom:1px solid transparent;transition:box-shadow .2s}.site-header.scrolled{box-shadow:0 4px 28px #172f3e12}.brand{display:block;width:210px;flex-shrink:0}.brand img{width:100%;height:auto;display:block}.site-header nav{display:flex;align-items:center;gap:26px;font-size:13px;font-weight:500}.site-header [aria-current]{color:var(--plum);font-weight:600}.menu-toggle{display:none}.hero{position:relative;isolation:isolate;padding-top:88px;padding-bottom:88px;gap:32px;min-height:396px}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero:before{content:'';position:absolute;inset:0;background:rgba(9,20,31,.77);z-index:-1}.hero>.copy{max-width:800px}.home-hero{padding-top:98px;padding-bottom:144px;gap:24px;min-height:744px}.home-hero:before{background:linear-gradient(90deg,rgba(6,18,29,.9),rgba(6,18,29,.42) 65%,rgba(6,18,29,.04))}.home-hero h1{font-size:66px;line-height:1.12;max-width:850px}.home-hero .subheading{font-size:23px;font-weight:500}.home-hero .copy{max-width:640px;font-size:17px}.divider{width:100%;height:1px;background:var(--line)}.home-hero .divider{height:4px;width:72px;background:var(--plum)}.overlap{position:relative;margin-top:-64px;padding-top:0;padding-bottom:72px;background:linear-gradient(transparent 64px,var(--soft) 64px)}.area-card{display:flex;flex-direction:column;padding:26px;gap:14px;background:white;box-shadow:0 16px 40px #08142119;border-radius:4px}.area-index{justify-content:space-between}.area-index p{font-size:12px;color:var(--plum)}.area-index p:last-child{text-align:right;font-size:20px}.card{padding:24px;background:white;border-radius:3px}.card p{color:var(--muted);font-size:15px;line-height:1.65;margin-top:8px}.area-card .card{padding:0}.area-card h3{font-size:20px}.photo{overflow:hidden;border-radius:4px;width:100%;aspect-ratio:var(--ratio,1.5);position:relative}.photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.about-visual{position:relative}.about-visual .photo{width:100%}.seal{align-self:flex-end;padding:24px;background:var(--plum);color:#fff;margin-top:-30px;position:relative}.seal .copy,.seal .eyebrow{color:#fff}.home-about .split>div:first-child{flex:.8}.home-about .text-link{color:var(--plum);font-weight:600}.service-summary .grid-row>.stack{gap:0;width:100%}.service-summary .card{width:100%}.method-summary .card{background:#355971;color:white}.method-summary .card p{color:var(--light)}.method-summary .photo{margin-bottom:0}.linked-block{display:flex;flex-direction:column;background:white;min-width:0}.linked-block .card{width:100%}.text-link{color:var(--plum);font-size:14px;font-weight:600;line-height:1.6}.article-body{padding-left:max(24px,calc((100vw - 800px)/2));padding-right:max(24px,calc((100vw - 800px)/2))}.article-body .copy{font-size:17px;line-height:1.8}.article-body .subheading{margin-top:10px}.contact-form{background:#fff;padding:32px;display:flex;flex-direction:column;gap:24px}.contact-form h2{font-size:28px}.contact-form label{display:flex;flex-direction:column;gap:8px;font-size:15px;width:100%}.contact-form input{border:1px solid #b9c5cc;border-radius:4px;padding:14px 16px;width:100%;min-height:52px;color:var(--ink);background:#fff}.contact-form .button{align-self:flex-start}.form-note,#form-status{font-size:13px;color:var(--muted);line-height:1.6}footer{padding:48px max(6.6667vw,calc((100vw - 1248px)/2));display:flex;flex-direction:column;gap:32px;font-size:14px}.footer-top{display:flex;justify-content:space-between;gap:32px;padding-bottom:32px;border-bottom:1px solid var(--line)}.footer-top>div{display:flex;flex-direction:column;gap:10px;min-width:360px}.footer-top a{color:var(--blue)}footer nav{display:flex;flex-wrap:wrap;gap:26px;font-size:13px}.copyright{font-size:12px;color:var(--muted)}.skip{position:fixed;left:16px;top:-100px;z-index:100;background:#fff;padding:12px}.skip:focus{top:10px}.motion-ready [data-reveal]{transition:opacity 1000ms cubic-bezier(.2,.65,.3,1),transform 1200ms cubic-bezier(.16,1,.3,1);transition-delay:var(--delay,0ms)}.motion-ready [data-reveal]:not(.is-visible){opacity:0;transform:translate3d(0,22px,0)}.motion-ready [data-reveal=left]:not(.is-visible){transform:translate3d(-28px,0,0)}.motion-ready [data-reveal=right]:not(.is-visible){transform:translate3d(28px,0,0)}
@media(hover:hover) and (pointer:fine){.button:hover{background:#67265b;transform:translateY(-2px)}.plum .button:hover{background:#f3eaf1}.outline:hover{background:#ffffff18}.text-link:hover,nav a:not(.button):hover{color:var(--plum)}.linked-block:hover .photo img{transform:scale(1.035)}}
@media(min-width:1600px){.home-hero{min-height:800px}}
@media(max-width:1100px){h1,h2{font-size:40px}.section{padding:64px 48px}.hero{padding:72px 48px}.home-hero{padding-bottom:128px}.home-hero h1{font-size:56px}.site-header{padding:20px 48px;height:88px}.menu-toggle{display:flex;gap:16px;border:1px solid var(--line);background:white;border-radius:3px;padding:10px 14px;color:var(--ink)}.site-header nav{display:none;position:absolute;left:0;right:0;top:88px;background:white;padding:28px 48px;box-shadow:0 14px 20px #172f3e15}.site-header nav.open{display:flex;align-items:stretch;flex-direction:column}.split{flex-direction:column;gap:28px}.split>*{width:100%;flex:none!important}.split>.photo{order:-1;aspect-ratio:1.5}.grid-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.service-summary .grid-row{grid-template-columns:repeat(3,minmax(0,1fr))}.overlap{padding-top:0}.method-summary .photo{aspect-ratio:2.3}.about-visual{max-width:100%}.home-about .split>div:first-child{order:0}.home-about .split>div:last-child{order:1}.cta .photo{order:-1}.article-body{padding:64px 48px}footer{padding:48px}.photo{max-width:100%}}
@media(max-width:600px){h1,h2{font-size:32px;line-height:1.2}h3{font-size:20px}.subheading{font-size:23px}.section{padding:56px 24px}.hero{padding:56px 24px;gap:24px;min-height:360px}.home-hero{padding-top:64px;padding-bottom:112px;min-height:740px}.home-hero h1{font-size:42px;line-height:1.12}.home-hero .subheading{font-size:21px}.home-hero .copy{font-size:16px}.home-hero:before{background:linear-gradient(90deg,#06121ded,#06121d75)}.site-header{padding:20px 24px;height:80px}.brand{width:164px}.site-header nav{top:80px;padding:24px}.grid-row,.service-summary .grid-row{display:grid;grid-template-columns:1fr;gap:20px}.row:not(.area-index):not(.actions){flex-direction:column}.row>*{width:100%}.area-index{width:100%}.area-index p{width:auto}.overlap{padding-top:0;margin-top:-56px;padding-bottom:56px}.actions{width:100%!important;gap:12px}.actions .button{width:100%}.photo{aspect-ratio:1.55!important}.hero-image{object-position:65% center}.service-summary .photo{aspect-ratio:342/220!important}.home-about .photo{aspect-ratio:1.25!important}.cta h2 br{display:none}.cta h2{max-width:100%}.card{padding:24px}.article-body{padding:48px 24px}.contact-form{padding:24px}.contact-form h2{font-size:26px}.footer-top{flex-direction:column}.footer-top>div{min-width:0}footer{padding:40px 24px}footer nav{gap:18px 24px}.motion-ready [data-reveal=left]:not(.is-visible),.motion-ready [data-reveal=right]:not(.is-visible){transform:translate3d(0,16px,0)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready [data-reveal]:not(.is-visible){opacity:1;transform:none}}

.motion-copy{display:flex;flex-direction:column;align-items:flex-start;gap:var(--gap,24px);width:100%;min-width:0}.motion-ready [data-reveal].is-visible{opacity:1;transform:translate3d(0,0,0)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.contact-form .button:disabled{opacity:.6;cursor:progress}
