@font-face{font-family:Manrope;src:url('assets/manrope-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-semibold.ttf') format('truetype');font-style:normal;font-weight:500 800;font-display:swap}
:root{color-scheme:dark;--surface:#111c21;--text:#f0f3ee;--muted:#aab6b7;--line:#334044;--accent:#d1ea99;--accent-ink:#182218;--page-gutter:clamp(24px,5.6vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:var(--surface);color:var(--text);font-family:Manrope,Arial,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:7px}::selection{background:var(--accent);color:var(--accent-ink)}.wrap{width:min(100%,1600px);padding-inline:var(--page-gutter);margin-inline:auto}.skip-link{position:fixed;left:20px;top:-70px;background:var(--accent);color:var(--accent-ink);padding:12px 20px;z-index:10}.skip-link:focus{top:16px}
/* Layer scale: background 0, foreground 1, accessibility link 10. */
.hero-shell{position:relative;isolation:isolate;background:#111c21;color:#f0f3ee}.hero-media{position:absolute;inset:0;z-index:-1;overflow:hidden}.hero-media img,.hero-media video{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:60% center}.hero-media video{opacity:0;transition:opacity 1s}.hero-media video.is-playing{opacity:1}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,22,28,.92) 0%,rgba(10,22,28,.79) 42%,rgba(10,22,28,.48) 100%),linear-gradient(0deg,#111c21 0%,transparent 30%);pointer-events:none}.header{display:flex;align-items:center;justify-content:space-between;height:112px;gap:30px}.brand{display:inline-flex;align-items:center;gap:13px;font-size:29px;letter-spacing:-1.6px;line-height:1;font-weight:600;white-space:nowrap}.brand-divider{height:22px;width:1px;background:currentColor;opacity:.45;margin-left:5px}.brand-descriptor{font-size:12px;letter-spacing:2px;line-height:1}.header nav{display:flex;align-items:center;gap:38px;margin-left:auto;margin-right:40px;font-size:14px;color:#d6dddc}.header nav a,.header-contact,.text-link,.email{transition:color .2s}.header nav a:hover,.header-contact:hover,.text-link:hover,.email:hover{color:var(--accent)}.header-contact{font-size:14px;border-bottom:1px solid #9eacae;padding:10px 0;display:flex;align-items:center;gap:30px}.header-contact span{font-size:21px}.hero{min-height:calc(100svh - 112px);min-height:max(690px,calc(100svh - 112px));display:flex;flex-direction:column;justify-content:center;position:relative;padding-top:70px;padding-bottom:32px}.hero-copy{padding-bottom:110px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:2.1px;font-weight:600;margin:0 0 29px}.hero .eyebrow{color:#d5dddb}.hero h1{font-size:clamp(44px,5.65vw,84px);line-height:1.12;letter-spacing:-.055em;font-weight:500;margin:0 0 28px;max-width:1100px}.hero h1 span{color:#bdc9c9}.hero-description{font-size:17px;line-height:1.8;color:#c9d3d3;max-width:505px;margin:0 0 34px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;background:var(--accent);color:var(--accent-ink);padding:19px 24px;font-size:15px;line-height:1.4;font-weight:600;border-radius:4px;transition:background .2s,transform .2s;min-height:60px}.button span{font-size:23px;line-height:1}.button:hover{background:#e2f5b9;transform:translateY(-2px)}.button:active{transform:translateY(0)}.cta-note{font-size:12px;line-height:1.6;color:#abb9ba;margin:17px 0 0}.hero-bottom{position:absolute;bottom:32px;left:var(--page-gutter);right:var(--page-gutter);display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:22px;border-top:1px solid rgba(213,228,226,.22)}.hero-bottom p{font-size:12px;letter-spacing:.2px;color:#b9c7c7;margin:0}.hero-bottom button{display:flex;align-items:center;gap:10px;min-height:44px;border:0;background:transparent;color:#c6d2d0;cursor:pointer;font-size:12px;padding:0 0 0 16px}.playback-icon{font-size:12px;width:12px}.section{padding-top:110px;padding-bottom:110px}.section .eyebrow{color:var(--muted);margin-bottom:23px}h2{font-size:clamp(32px,3.2vw,46px);line-height:1.2;letter-spacing:-.045em;font-weight:500;margin:0}p{line-height:1.7}.services{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%}.section-intro>p:last-child{color:var(--muted);font-size:16px;margin-top:25px}.service-list{display:grid;grid-template-columns:1fr 1fr;gap:46px 42px}.service-tag{font-size:12px;display:block;color:var(--accent);margin-bottom:15px}.service-list h3{font-size:19px;letter-spacing:-.5px;line-height:1.4;font-weight:600;margin:0 0 10px}.service-list p{font-size:16px;line-height:1.8;color:var(--muted);margin:0;max-width:300px}.approach{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;position:relative}.approach:before,.contact:before,.footer:before{content:"";position:absolute;left:var(--page-gutter);right:var(--page-gutter);top:0;height:1px;background:var(--line)}.approach-body{max-width:480px;padding-top:35px}.approach-body p{font-size:18px;line-height:1.8;color:var(--muted);margin:0 0 24px}.text-link{font-size:14px;display:inline-flex;align-items:center;gap:30px;padding-bottom:8px;border-bottom:1px solid var(--line)}.text-link span{font-size:20px}.contact{position:relative;padding-block:100px;text-align:center}.contact h2{font-size:clamp(38px,4.3vw,61px)}.contact>p:not(.eyebrow){color:var(--muted);margin:22px 0 30px;font-size:17px}.contact .email{display:block;width:fit-content;margin:22px auto 0;font-size:12px;color:var(--muted)}.footer{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:34px}.footer .brand{font-size:23px}.footer .brand-descriptor{font-size:10px}.footer>span,.footer small{font-size:12px;color:var(--muted)}
@media(prefers-color-scheme:light){:root{color-scheme:light;--surface:#edf1ef;--text:#17272c;--muted:#4e6268;--line:#c8d2ce;--accent:#d1ea99}.service-tag{color:#425c29}.hero-media:after{background:linear-gradient(90deg,rgba(10,22,28,.92),rgba(10,22,28,.76) 42%,rgba(10,22,28,.48)),linear-gradient(0deg,rgba(10,22,28,.75),transparent 40%)}.services{padding-top:95px}.text-link:hover,.email:hover{color:#3d5b26}}
@media(min-width:1600px){.hero-bottom{left:88px;right:88px}.hero{min-height:780px}}
@media(max-width:1000px){.header nav{margin-right:15px;gap:24px}.hero h1{font-size:clamp(46px,6.5vw,70px)}.services,.approach{gap:6%;grid-template-columns:.85fr 1.15fr}.service-list{gap:32px 24px}.section{padding-block:80px}.hero{min-height:690px}}
@media(max-width:767px){.header{height:90px;gap:16px}.brand{font-size:25px;gap:9px}.brand-divider{margin-left:3px;height:19px}.brand-descriptor{font-size:10px}.header nav{display:none}.header-contact{gap:13px;font-size:13px}.hero{padding-top:58px;min-height:calc(100svh - 90px);min-height:max(620px,calc(100svh - 90px));justify-content:flex-start}.hero-copy{padding-bottom:115px}.hero h1{font-size:clamp(39px,7vw,54px);line-height:1.14;letter-spacing:-.055em}.hero .eyebrow{font-size:11px;margin-bottom:25px}.hero-description{font-size:15px;max-width:380px;line-height:1.85;margin-top:25px}.desktop-break{display:none}.button{font-size:14px;padding:17px 21px;min-height:57px;gap:30px}.cta-note{font-size:11px}.hero-bottom{bottom:22px;padding-top:12px}.hero-bottom p{font-size:11px;max-width:190px}.playback-label{font-size:11px}.hero-media:after{background:linear-gradient(90deg,rgba(10,22,28,.89),rgba(10,22,28,.68)),linear-gradient(0deg,rgba(10,22,28,.8),transparent)}.hero-media img,.hero-media video{object-position:59% center}.section{padding-block:65px}.services,.approach{grid-template-columns:1fr;gap:35px}.section-intro>p:last-child{margin-bottom:0}.service-list{gap:32px 26px}.service-list h3{font-size:17px}.service-list p{font-size:16px}.approach-body{padding-top:0}.approach-body p{font-size:16px}.contact{padding-block:70px}.contact h2{font-size:38px}.footer{flex-wrap:wrap;padding-block:30px;gap:25px}.footer>span{display:none}.footer small{font-size:10px}.footer .brand{font-size:21px}.footer .brand-descriptor{font-size:9px}}
@media(max-width:380px){.hero h1{font-size:35px}.hero-bottom p{max-width:160px}.service-list{grid-template-columns:1fr}.header-contact{gap:8px}.brand{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}.hero-media video:not(.motion-opt-in){display:none}}
