@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{color-scheme:light;--ink:#141a26;--muted:#5b6070;--paper:#f9fafe;--accent:#2f5dff;--green:#12b886;--grad:linear-gradient(135deg,#1a2c7e 0%,#0c5f4a 100%);--line:#dfe1ec;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;overflow-x:clip}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #2f5dff;outline-offset:6px}a:hover{text-decoration:underline;text-underline-offset:5px}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.nav{display:flex;justify-content:space-between;align-items:center;min-height:112px;border-bottom:1px solid var(--line);gap:32px}.brand{display:flex;align-items:center;gap:16px;font-size:.875rem;line-height:1.4}.brand strong{font-weight:450;color:var(--muted)}.monogram{display:block;width:64px;height:64px;border-radius:50%;object-fit:cover}nav{display:flex;gap:34px;align-items:center;font-size:.875rem}.nav-cta{border:1px solid #c2c8dc;border-radius:100px;padding:13px 20px;display:flex;gap:30px;transition:transform .18s ease,border-color .18s ease,background .18s ease}.nav-cta:hover{transform:translateY(-2px);border-color:var(--accent);background:rgba(47,93,255,.06);text-decoration:none}.hero{padding-top:68px}.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.12em;line-height:1.6}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:clamp(3.7rem,6.9vw,6.65rem);line-height:1.045;letter-spacing:-.06em;font-weight:500;margin:32px 0 38px}em{font-style:normal;color:#2f5dff}h1 em{background:linear-gradient(90deg,#2f5dff,var(--green),#2f5dff) 0 0/200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;box-decoration-break:clone;-webkit-box-decoration-break:clone;transition:background-position .6s ease}
h1 em:hover{background-position:100% 0}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:70px}.hero-bottom p{max-width:590px;font-size:1.18rem;line-height:1.65;margin:0;color:var(--muted)}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;background:var(--ink);color:white;border-radius:100px;padding:20px 26px;font-weight:500;white-space:nowrap;transition:background .2s,transform .18s ease,box-shadow .18s ease}.button:hover{background:var(--grad);text-decoration:none;transform:translateY(-3px);box-shadow:0 14px 30px -14px rgba(15,31,60,.55)}.button:active{transform:translateY(-1px)}.button span{font-size:1.3rem;color:var(--accent);transition:transform .18s ease}.button:hover span{transform:translate(3px,-3px)}.hero-caption{border-top:1px solid var(--line);margin-top:58px;padding:24px 0 32px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:.875rem}.hero-caption span:first-child{font-size:.75rem;letter-spacing:.08em}.approach{background:var(--grad);color:var(--paper);padding:86px 0}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.approach .eyebrow{color:#a7b2d6}h2{font-size:clamp(2.2rem,3.4vw,3.25rem);font-weight:500;letter-spacing:-.045em;line-height:1.14;margin:26px 0}.approach em{background:linear-gradient(90deg,#6f93ff,#3ce3ab);-webkit-background-clip:text;background-clip:text;color:transparent}.approach-copy{padding-top:34px}.approach-copy p{font-size:1rem;line-height:1.8;color:#c2c7d5;margin-top:0}.approach-copy .large{font-size:1.45rem;line-height:1.55;color:var(--paper)}.principle{display:flex;gap:25px;border-top:1px solid #363f57;margin-top:28px;padding-top:28px}.principle>span{font-size:2rem;color:var(--accent)}.principle p{margin:0}.principle strong{font-weight:500;color:var(--paper)}.work{padding-top:82px;padding-bottom:92px}.section-top{display:flex;justify-content:space-between;gap:60px;align-items:flex-start}.section-top h2{margin:0;width:58%}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin-top:60px}.steps article{border-top:1px solid #a9afc3;padding-top:26px;transition:transform .25s cubic-bezier(.16,.84,.44,1),border-color .25s ease}.steps article:hover{transform:translateY(-6px);border-color:var(--accent)}.steps article:hover .step-number{color:var(--accent)}.step-number{font-size:.875rem;font-family:monospace;color:#2f49c9;transition:color .25s ease}.steps h3{font-size:1.25rem;font-weight:600;letter-spacing:-.035em;margin:30px 0 14px}.steps p{font-size:1rem;line-height:1.8;color:var(--muted);margin:0}.contact{background:var(--grad);color:#fff;padding:50px 52px 54px;border-radius:4px}.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:center}.contact h2{font-size:clamp(2.7rem,4.5vw,4.3rem);margin-bottom:0}.contact em{color:#cdd8ff}.contact p{font-size:1.05rem;line-height:1.7}.contact .button{margin-top:13px}.contact-pending{border-top:1px solid rgba(255,255,255,.35);padding-top:15px;font-size:.875rem!important}footer{display:flex;gap:25px;justify-content:space-between;color:var(--muted);font-size:.875rem;padding-top:36px;padding-bottom:36px}footer a{margin-left:auto}@media(min-width:1500px){.hero{padding-top:90px}}@media(max-width:900px){.wrap{width:calc(100% - 56px)}.hero-bottom{gap:30px;align-items:flex-start;flex-direction:column}.approach-grid,.contact-grid{gap:40px}.steps{gap:25px}.contact{padding:35px}.section-top{gap:24px}.section-top h2{width:65%}}@media(max-width:600px){.wrap{width:calc(100% - 40px)}.nav{min-height:91px;gap:12px}.brand{font-size:.75rem}.monogram{width:54px;height:54px}nav>a:not(.nav-cta){display:none}.nav-cta{font-size:.75rem;padding:11px 13px;gap:12px}.hero{padding-top:40px}h1{font-size:clamp(2.7rem,10.3vw,4rem);letter-spacing:-.055em;margin:25px 0 28px}.eyebrow{font-size:.75rem;letter-spacing:.075em}.hero-bottom p{font-size:1.05rem}.hero-caption{flex-direction:column;gap:9px;margin-top:36px;padding-bottom:27px}.approach{padding:48px 0}.approach-grid,.contact-grid{grid-template-columns:1fr;gap:10px}.approach-copy{padding-top:0}.approach-copy .large{font-size:1.25rem}.work{padding-top:47px;padding-bottom:48px}.section-top{display:block}.section-top h2{width:auto;margin-top:20px}.steps{grid-template-columns:1fr;margin-top:32px;gap:28px}.steps h3{margin-top:17px}.contact{padding:29px 24px}.contact h2{font-size:2.7rem;margin-top:22px;margin-bottom:15px}.contact .button{white-space:normal}footer{flex-wrap:wrap;font-size:.75rem;gap:13px}footer span:nth-child(2){display:none}footer a{margin-left:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.linkedin{display:block;margin-top:20px;font-size:.95rem;text-decoration:underline;text-underline-offset:5px}

.hero{position:relative;overflow:hidden}
.hero-canvas{position:absolute;inset:0;z-index:-1;pointer-events:none;display:block;width:100%;height:100%}

.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .55s ease,transform .7s cubic-bezier(.16,.84,.44,1)}
.js .reveal.in{opacity:1;transform:none}
.js .nav.reveal,.js .nav.reveal.in{transform:none}
.reveal[data-d="1"]{transition-delay:.07s}
.reveal[data-d="2"]{transition-delay:.14s}
.reveal[data-d="3"]{transition-delay:.21s}
.reveal[data-d="4"]{transition-delay:.28s}
.steps article.reveal:nth-child(2){transition-delay:.12s}
.steps article.reveal:nth-child(3){transition-delay:.24s}
.steps article.reveal.in{transition:transform .24s cubic-bezier(.16,.84,.44,1),border-color .24s ease}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}.button:hover,.button:hover span,.button:active,.nav-cta:hover,.steps article:hover{transform:none}}
