/* One viewport-sized canvas continues behind every page and section. */
body.ms-site{background:#03110e;color:#edf6ec;isolation:isolate;--ms-line:rgba(185,223,184,.24)}
body.ms-site>.ghost-fibers-container{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at 65% 40%,#0a241c,#020b08 80%)}
body.ms-site>.ghost-fibers-container canvas{display:block;width:100%;height:100%}
.ms-site .ms-hero,.ms-site .ms-page-hero,.ms-site .ms-page-hero.dark,.ms-site .ms-section,.ms-site .ms-section.tint,.ms-site .ms-section.dark,.ms-site .ms-section:has(.ms-service-grid),.ms-site .journey-section,.ms-site .ms-cta,.ms-site .ms-footer{background:rgba(2,14,10,.3)}
.ms-site .ms-hero:before,.ms-site .ms-hero:after{display:none}
.ms-site .ms-section,.ms-site .ms-page-hero,.ms-site .ms-cta{border-bottom:1px solid rgba(185,223,184,.1)}
.ms-site .ms-display,.ms-site .ms-quote,.ms-site .ms-step h3,.ms-site .ms-timeline h3,.ms-site .ms-contact-details{color:#f0f7eb;text-shadow:0 2px 14px #001008}
.ms-site .ms-display em{color:#c6e99a}
.ms-site .ms-head p,.ms-site .ms-copy,.ms-site .ms-feature-grid p,.ms-site .ms-page-hero p,.ms-site .ms-step p,.ms-site .ms-timeline p,.ms-site .ms-keypoints,.ms-site .ms-contact-details a{color:#d4e5d7;text-shadow:0 2px 10px #001008}
.ms-site .ms-eyebrow,.ms-site .ms-step>span,.ms-site .ms-timeline li>span,.ms-site .ms-contact-details small{color:#c2dda8}
.ms-site .ms-related a{color:#e2f1d5;background:#102b21;border-color:#52714b}
.ms-site .ms-btn.ms-dark{background:#d9f77a;color:#142322}
.ms-site .ms-timeline li{background:rgba(3,20,14,.42)}
/* Content surfaces and photographs stay solid above the animated layer. */
.ms-site .ms-service-card,.ms-site .ms-detail-card,.ms-site .ms-founder,.ms-site .ms-form{background:#f7f9f1;color:#142322}
.ms-site .ms-detail-card p,.ms-site .ms-founder p,.ms-site .ms-form .form-status{color:#586765;text-shadow:none}
.ms-site .ms-founder a{color:#265a37}
.ms-site .ms-visual,.ms-site .ms-hero-art,.ms-site .ms-service-image{opacity:1;isolation:isolate}
.ms-site img{opacity:1;mix-blend-mode:normal}
.ms-site .ms-footer{background:rgba(2,14,10,.55)}
.ms-founder-statement{margin:22px 0 0;padding:0}
.ms-founder-statement p{font-size:16px;line-height:1.75}
.ms-founder-statement p:first-child{font-family:'DM Serif Display',Georgia,serif;font-size:25px;line-height:1.35}
.ms-founder-statement footer{display:flex;flex-direction:column;gap:4px;margin-top:24px;color:#254532;font-size:14px}
.ms-founder-statement footer span{font-size:12px;letter-spacing:.06em}
/* Full-bleed photographic homepage hero; the fixed fibers continue below it. */
.ms-site .ms-hero{min-height:700px;min-height:min(820px,calc(100svh - 84px));background:#081313;align-items:center}
.ms-site .ms-hero-art{position:absolute;inset:0;width:100%;height:100%;margin:0;border:0;border-radius:0;box-shadow:none;z-index:0}
.ms-site .ms-hero-art img{width:100%;height:100%;object-fit:cover;object-position:center center}
.ms-site .ms-hero-art:after{background:linear-gradient(90deg,rgba(1,13,12,.48),rgba(1,13,12,.16) 55%,rgba(1,13,12,0)),linear-gradient(0deg,rgba(2,15,12,.7),transparent 35%)}
.ms-site .ms-hero-inner{padding:105px 0 130px;position:relative;z-index:2}
.ms-site .ms-hero h1{max-width:850px;font-size:clamp(56px,6.5vw,94px);line-height:1.03;text-shadow:0 3px 24px #0008}
.ms-site .ms-hero p{max-width:565px;color:#eef4ef;text-shadow:0 2px 14px #0008}
.ms-site .ms-hero .ms-eyebrow{color:#e3eedc}
.ms-site .ms-hero .ms-hero-note{color:#d1dfd4}
@media(max-width:600px){.ms-site .ms-hero{min-height:660px;min-height:calc(100svh - 68px);align-items:center}.ms-site .ms-hero-art{inset:0;width:100%;height:100%;border-radius:0}.ms-site .ms-hero-art img{object-position:55% center}.ms-site .ms-hero-art:after{background:linear-gradient(90deg,rgba(1,13,12,.72),rgba(1,13,12,.3)),linear-gradient(0deg,#03110ed9,transparent 65%)}.ms-site .ms-hero-inner{padding:70px 0 85px}.ms-site .ms-hero h1{font-size:52px}.ms-site .ms-hero p{font-size:16px}.ms-site .ms-hero .ms-actions{gap:12px}.ms-site .ms-hero .ms-btn{padding:12px 19px}}

/* Never allow sideways scrolling or panning on any device. `clip` avoids creating a scroll container, so the sticky header keeps working. */
html{overflow-x:hidden;max-width:100%;overscroll-behavior-x:none}
body{overflow-x:clip;max-width:100%}

/* Drawn arrows replace the "↗" character, which iOS renders as a blue emoji box. */
.ms-ico{display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.14em;overflow:visible}
.ms-arrow .ms-ico,.ms-service-arrow .ms-ico{width:.95em;height:.95em;vertical-align:middle}
.ms-visual.abstract .route:after,.ms-keypoints li:before{content:'';display:inline-block;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") center/contain no-repeat}
.ms-visual.abstract .route:after{width:28px;height:28px}
.ms-keypoints li:before{width:1em;height:1em;vertical-align:-.12em}
