:root{--navy: #061a35;--navy-soft: rgba(6, 26, 53, .62);--accent: #2a548a;--accent-hover: #214273;--primary: #3a3434;--text: #7a7a7a;--text-dark: #4a4a4a;--white: #ffffff;--muted: #efefef;--card: #25292b;--line: rgba(255, 255, 255, .55);--shadow: 0 18px 40px rgba(6, 26, 53, .12);--radius: 14px;--header-h: 72px;--max: 1140px;--font-display: "Montserrat", sans-serif;--font-body: "Open Sans", sans-serif;--ease: cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header-h)}body{margin:0;color:var(--primary);background:var(--white);font-family:var(--font-body);font-weight:400;line-height:1.65;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5{font-family:var(--font-display);font-weight:800;line-height:1.2;margin:0}p{margin:0}.skip-link{position:absolute;left:12px;top:12px;z-index:1000;background:var(--white);color:var(--navy);padding:8px 12px;transform:translateY(-200%)}.skip-link:focus{transform:none}.container{width:min(calc(100% - 48px),var(--max));margin-inline:auto}.section{padding:8rem 0}.section-title{text-align:center;font-size:clamp(1.75rem,2.4vw,2.35rem);letter-spacing:.02em}.section-title.caps{text-transform:uppercase}.section-lead{margin:1rem auto 0;max-width:640px;text-align:center;color:var(--text);font-weight:300;font-family:var(--font-display);font-size:1.05rem;line-height:1.7}.reveal{opacity:0;transform:translateY(28px);animation:rise .9s var(--ease) forwards;animation-play-state:paused}.reveal.is-visible{animation-play-state:running}.reveal-delay-1{animation-delay:.08s}.reveal-delay-2{animation-delay:.16s}.reveal-delay-3{animation-delay:.24s}.reveal-delay-4{animation-delay:.32s}.reveal-delay-5{animation-delay:.4s}@keyframes rise{to{opacity:1;transform:none}}.site-header{position:sticky;top:0;z-index:50;height:var(--header-h);background:var(--navy);display:flex;align-items:center}.header-inner{width:min(calc(100% - 48px),1440px);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{display:flex;align-items:center}.logo img{width:36px;height:36px;filter:brightness(0) invert(1)}.nav{display:flex;gap:28px}.nav a{color:var(--white);font-family:var(--font-body);font-weight:400;font-size:.95rem;position:relative}.nav a:after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}.nav a:hover:after,.nav a:focus-visible:after{transform:scaleX(1)}.menu-toggle{display:none;width:42px;height:42px;border:0;background:transparent;color:var(--white);cursor:pointer;align-items:center;justify-content:center}.hero{position:relative;min-height:calc(100vh - var(--header-h));display:grid;place-items:center;overflow:hidden;color:var(--white);text-align:center;background:linear-gradient(180deg,#061a356b,#061a3594),url(../assets/hero.jpg) center / cover no-repeat}.hero-inner{width:min(calc(100% - 48px),820px);padding:6rem 0 8rem}.hero-logo{width:min(100%,620px);margin:0 auto 2rem;opacity:0;transform:translateY(16px);animation:rise 1.1s var(--ease) .15s forwards}.hero-rule{height:1px;background:var(--line);width:0;margin:0 auto 1.75rem;animation:draw-line 1s var(--ease) .55s forwards}@keyframes draw-line{to{width:100%}}.hero h1{font-size:clamp(1.15rem,2vw,1.55rem);font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:0;animation:rise 1s var(--ease) .75s forwards}.scroll-hint{position:absolute;left:0;right:0;margin-inline:auto;bottom:2.4rem;color:var(--white);display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(255,255,255,.7);border-radius:999px;opacity:0;animation:rise .8s var(--ease) 1.15s forwards}.scroll-hint svg{width:22px;height:22px;animation:drift 2.4s var(--ease) 1.6s infinite}@keyframes drift{0%,to{transform:translateY(0);opacity:.7}50%{transform:translateY(8px);opacity:1}}.approach-list{margin-top:3.5rem;display:grid;gap:2rem;max-width:820px;margin-inline:auto}.approach-item{display:flex;gap:1.15rem;align-items:flex-start}.icon-tile{width:80px;height:80px;flex-shrink:0;display:grid;place-items:center;background:var(--primary);color:var(--white)}.icon-tile svg{width:40px;height:40px}.approach-item h3{font-size:1.05rem;margin-bottom:.25rem}.approach-item p{color:var(--text);font-weight:300}.band{position:relative;color:var(--white);isolation:isolate}.band:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#061a3594;z-index:-1}.band-do{background:url(../assets/what-we-do.jpg) center / cover no-repeat fixed}.band-team{background:url(../assets/team-bg.jpg) top center / cover no-repeat fixed}.band-hire{background:linear-gradient(#2a548a47,#061a358c),url(../assets/hiring-bg.jpg) center / cover no-repeat fixed}.band .section-lead{color:#ffffffe0}.do-copy{max-width:760px;margin:1.5rem auto 0;text-align:center;font-weight:300}.do-copy p+p{margin-top:1rem}.do-grid{margin-top:3.5rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.do-item{text-align:center}.icon-orb{width:110px;height:110px;margin:0 auto 1rem;border-radius:50%;background:var(--white);color:var(--accent);display:grid;place-items:center}.icon-orb svg{width:48px;height:48px}.do-item h3{font-size:1rem;letter-spacing:.08em;text-transform:uppercase}.platform-list{margin-top:4rem;display:grid;gap:3.5rem}.platform-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:2.5rem;align-items:center}.platform-row:nth-child(2n){grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.platform-row:nth-child(2n) .platform-media{order:2}.platform-media img{width:100%;background:#f7f7f7}.platform-copy h3{font-size:1.35rem;margin-bottom:.6rem}.platform-copy p{color:var(--text);font-weight:300;max-width:38ch}.team-grid{margin-top:3rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.15rem}.team-card{background:var(--card);color:var(--white);overflow:hidden}.team-card img{width:100%;aspect-ratio:1;object-fit:cover;object-position:center top}.team-card .bio{padding:1rem}.team-card h3{font-size:1.05rem;font-family:var(--font-body);font-weight:700}.team-card .role{display:block;font-style:italic;font-size:.95rem;margin:.15rem 0 .75rem;color:#ffffffe0}.team-card p{font-size:.92rem;font-weight:300;color:#ffffffdb}.culture-grid{margin-top:3.5rem;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;text-align:center}.culture-card img{width:min(100%,280px);margin-inline:auto}.culture-card h3{margin-top:1.25rem;font-size:1.7rem}.culture-card h4{margin-top:.35rem;font-size:1rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text)}.value-list{list-style:none;padding:0;margin:1.25rem auto 0;width:fit-content;text-align:left}.value-list li{display:flex;align-items:center;gap:.65rem;color:var(--text);font-family:var(--font-display);font-weight:400;padding:.35rem 0}.value-list svg{width:28px;height:28px;color:var(--accent);flex-shrink:0}.video-wrap{margin-top:5rem;max-width:960px;margin-inline:auto}.video-wrap video{width:100%;background:#111;aspect-ratio:16 / 9}.careers-panel{margin-top:2.5rem;width:min(100%,760px);margin-inline:auto}.jobs-status{text-align:center;color:#ffffffe6}.empty-jobs{background:#ffffff1a;border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:2rem 1.5rem;text-align:center}.empty-jobs p{margin-bottom:1rem;font-weight:300}.linkedin-btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--white);color:var(--accent);font-family:var(--font-display);font-weight:700;font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;padding:.8rem 1.15rem;transition:transform .25s var(--ease),background .25s}.linkedin-btn:hover{transform:translateY(-1px)}.accordion{display:grid;gap:.75rem}.job-item{background:#ffffff1a;border:1px solid rgba(255,255,255,.16)}.job-trigger{width:100%;display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;text-align:left;background:transparent;border:0;color:var(--white);padding:1.1rem 1.2rem;cursor:pointer}.job-trigger h3{font-size:1.05rem}.job-meta{display:block;margin-top:.25rem;font-family:var(--font-body);font-weight:300;font-size:.88rem;color:#fffc}.job-trigger svg{transition:transform .35s var(--ease)}.job-item.is-open .job-trigger svg{transform:rotate(180deg)}.job-panel-inner{overflow:hidden}.job-content{max-height:0;overflow:hidden;padding:0 1.2rem;color:#ffffffe6;font-weight:300;transition:max-height .45s var(--ease),padding .45s var(--ease)}.job-item.is-open .job-content{max-height:80rem;padding-bottom:1.25rem}.job-content p+p,.job-content ul{margin-top:.85rem}.job-content ul{padding-left:1.15rem}.contact{background:var(--muted)}.contact-form{margin:2.5rem auto 0;width:min(100%,680px);display:grid;gap:1.15rem}fieldset{border:0;margin:0;padding:0;min-width:0;display:grid;gap:.35rem}legend{padding:0}.field,.field-row{display:grid;gap:.35rem}.field-row{grid-template-columns:1fr 1fr;gap:1rem}label,legend{font-family:var(--font-display);font-weight:800;font-size:.875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--primary)}.sublabel{font-size:.75rem;font-weight:600;letter-spacing:0;text-transform:none;color:var(--text-dark)}input,select,textarea{width:100%;border:0;border-radius:10px;background:var(--white);color:var(--primary);padding:.85rem .9rem}textarea{min-height:180px;resize:vertical;border-radius:10px;padding:1rem 1.1rem}.hp{position:absolute;left:-9999px}.hcaptcha-wrap{overflow-x:auto}.hcaptcha-local-note{margin:.65rem 0 0;color:#9b1c1c;font-size:.9rem}.hcaptcha-local-note a{color:inherit;text-decoration:underline}.submit{justify-self:start;border:0;border-radius:10px;background:var(--accent);color:var(--white);font-family:var(--font-display);font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:.9rem 1.6rem;cursor:pointer;transition:background .2s}.submit:hover:not(:disabled){background:var(--accent-hover)}.submit:disabled{opacity:.65;cursor:wait}.form-error{display:none;color:#9b1c1c;font-size:.95rem;overflow-wrap:anywhere}.form-error.is-visible{display:block}.form-success{display:none;text-align:center;background:var(--white);padding:2rem 1.5rem}.form-success.is-visible,.contact-form.is-sent+.form-success{display:block}.contact-form.is-sent{display:none}.hidden{display:none!important}.site-footer{background:var(--accent);color:var(--white);text-align:center;padding:1.15rem 1rem;font-family:var(--font-display);font-weight:200;font-size:.95rem}@media(max-width:1024px){.band-do,.band-team,.band-hire{background-attachment:scroll}.team-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:767px){:root{--header-h: 64px}.container,.header-inner,.hero-inner{width:min(calc(100% - 32px),var(--max))}.section{padding:4.5rem 0}.menu-toggle{display:flex}.nav{position:absolute;top:var(--header-h);left:0;right:0;background:var(--navy);flex-direction:column;gap:0;padding:.5rem 0 1rem;display:none}.nav.is-open{display:flex}.nav a{padding:.85rem 1.5rem}.hero{min-height:78vh}.do-grid,.culture-grid,.team-grid,.platform-row,.platform-row:nth-child(2n),.field-row{grid-template-columns:1fr}.platform-row:nth-child(2n) .platform-media{order:0}.platform-copy{text-align:center}.platform-copy p{max-width:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.hero-logo,.hero h1,.hero-rule,.scroll-hint,.scroll-hint svg{animation:none!important;opacity:1;transform:none;width:auto}.hero-rule{width:100%}}
