:root{--navy:#092c4a;--navy-deep:#061d31;--gray:#8a8ea0;--paper:#f5f6f6;--white:#fff;--ink:#102b40;--line:#d6d9dc;--pad:clamp(24px, 5.2vw, 84px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Helvetica Neue,Hiragino Kaku Gothic ProN,Yu Gothic,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block}a:focus-visible,button:focus-visible{outline-offset:5px;outline:2px solid}.hero{min-height:clamp(620px,78svh,680px);padding:0 var(--pad);background:var(--navy);color:var(--white);position:relative;overflow:hidden}.header{z-index:5;border-bottom:1px solid #ffffff2a;justify-content:space-between;align-items:center;height:80px;display:flex;position:relative}.header-logo{flex:none;align-items:center;gap:10px;width:auto;height:40px;display:flex}.header-symbol{flex:none;align-items:center;width:40px;height:31px;display:flex}.header-symbol img{filter:brightness(0)invert();width:100%;height:auto}.header-wordmark{flex:none;width:92px;height:22px;position:relative;overflow:hidden}.header-wordmark img{filter:brightness(0)invert();width:92px;max-width:none;height:auto;position:absolute;top:-24px;left:0}nav{letter-spacing:.14em;text-transform:uppercase;gap:38px;font-size:11px;display:flex}nav a,.footer-nav button{padding:10px 0;position:relative}nav a:after,.footer-nav button:after{background:var(--white);content:"";transform-origin:100%;width:100%;height:1px;transition:transform .25s;position:absolute;bottom:4px;left:0;transform:scaleX(0)}nav a:hover:after,.footer-nav button:hover:after{transform-origin:0;transform:scaleX(1)}.menu-button{width:38px;color:var(--white);background:0 0;border:0;padding:8px;display:none}.menu-button span{background:currentColor;height:1px;margin:7px 0;display:block}.hero-content{z-index:2;padding:clamp(72px,9vh,96px) 0 105px;position:relative}.hero h1{letter-spacing:-.065em;max-width:1120px;margin:0;font-size:clamp(56px,7.7vw,118px);font-weight:500;line-height:1.08}.hero-title-line{white-space:nowrap;display:block}.hero-title-progress{margin-left:clamp(40px,8vw,130px)}.hero-title-chunk{display:inline}.hero-copy{color:#d5dce1;letter-spacing:.04em;max-width:640px;margin:30px 0 0;font-size:clamp(14px,1.35vw,18px);line-height:2}.hero-watermark{right:var(--pad);aspect-ratio:361/280;opacity:.065;pointer-events:none;background:url(../../../images/symbol_gray.png) 50%/contain no-repeat;width:min(35vw,500px);position:absolute;bottom:3%;transform:rotate(-3deg)}.hero-watermark.awake{animation:3.3s cubic-bezier(.45,0,.55,1) porcupine-run}@keyframes porcupine-run{0%{filter:brightness(0)invert();opacity:0;transform:translate(-70vw)rotate(-3deg)}10%{opacity:.58;transform:translate(-66vw,-14px)rotate(3deg)}18%{opacity:.9;transform:translate(-60vw)rotate(-3deg)}26%{opacity:1;transform:translate(-52vw,-18px)rotate(2deg)}36%{opacity:1;transform:translate(-40vw)rotate(-2deg)}50%{opacity:1;transform:translate(-24vw,-18px)rotate(2deg)}58%{opacity:1;transform:translate(-12vw)rotate(-2deg)}66%{opacity:1;transform:translate(-8vw,-10px)rotate(2deg)scaleX(-1)}74%{opacity:1;transform:translate(-8vw,6px)rotate(-8deg)scaleX(-1)}82%{opacity:1;transform:translate(-8vw)rotate(2deg)scaleX(-1)}88%{opacity:.9;transform:translate(-8vw,-14px)rotate(-2deg)}94%{opacity:.48;transform:translate(8vw)rotate(2deg)}to{filter:brightness(0)invert();opacity:0;transform:translate(calc(100% + var(--pad)), 0) rotate(-2deg)}}@keyframes porcupine-wake-reduced{0%,to{filter:brightness(0)invert();opacity:.065}50%{opacity:.55}}.hero-bottom{right:var(--pad);bottom:24px;left:var(--pad);color:#c6d0d6;letter-spacing:.18em;justify-content:space-between;font-size:9px;display:flex;position:absolute}.hero-bottom a{gap:28px;display:flex}.section{padding-right:var(--pad);padding-left:var(--pad);position:relative}.section-label{letter-spacing:.18em;align-items:center;gap:28px;margin-bottom:24px;font-size:10px;font-weight:700;display:flex}.section-label span{border:1px solid var(--navy);border-radius:50%;place-items:center;width:34px;height:34px;font-size:9px;display:grid}.section-label p{margin:0}.section-label.light span{border-color:var(--white)}.about{background:var(--paper);padding-top:clamp(48px,4.5vw,64px);padding-bottom:clamp(52px,5vw,68px);overflow:hidden}.about .section-label{margin-bottom:24px}.about-main{z-index:2;position:relative}.about-primary,.about-attitude{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:clamp(40px,6vw,96px);display:grid}.lead{letter-spacing:-.055em;white-space:nowrap;margin:0;font-size:clamp(40px,3.7vw,58px);font-weight:500;line-height:1.22}.about-copy{max-width:720px}.about-intro{color:var(--ink);margin:0;padding:0;font-size:clamp(18px,1.55vw,23px);font-weight:500;line-height:1.8}.about-field{color:#4f6271;margin:20px 0 0;padding:0;font-size:15px;line-height:2.15}.about-attitude{border-top:1px solid var(--line);margin-top:clamp(32px,3vw,44px);padding-top:clamp(26px,2.5vw,34px)}.about-attitude-title{color:var(--ink);letter-spacing:-.035em;margin:0;font-size:clamp(26px,2.3vw,36px);font-weight:500;line-height:1.45}.about-philosophy{color:#4f6271;max-width:720px;margin:0;padding:0;font-size:15px;line-height:2.15}.services{background:var(--navy-deep);color:var(--white);padding-top:clamp(52px,5vw,72px);padding-bottom:clamp(58px,6vw,84px)}.services-heading{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(40px,5vw,72px);margin-bottom:clamp(28px,3vw,40px);display:grid}.services h2,.careers h2{letter-spacing:-.065em;margin:0;font-size:clamp(52px,7vw,108px);font-weight:500;line-height:1.07}@media (width>=761px){.services h2{white-space:nowrap;font-size:clamp(44px,5vw,76px)}}.services-overview{max-width:580px;padding-top:12px}.services-overview p{color:#b8c5cd;margin:0 0 18px;font-size:clamp(15px,1.15vw,17px);line-height:1.95}.service-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:clamp(16px,1.5vw,22px);display:grid}.service-card{background:#ffffff05;border:1px solid #ffffff32;flex-direction:column;min-width:0;min-height:380px;padding:clamp(28px,2.8vw,38px);transition:border-color .25s,background-color .25s;display:flex}.service-card:hover{background:#ffffff08;border-color:#ffffff70}.service-card:last-child{min-height:380px;margin-top:0}.service-number{color:#9eadb8;letter-spacing:.14em;font-size:11px}.service-title{margin:clamp(40px,4vw,54px) 0 30px}.service-card:last-child .service-title{margin-top:clamp(40px,4vw,54px)}.service-title p{color:#9eadb8;letter-spacing:.12em;margin:0 0 15px;font-size:12px}.service-title h3{letter-spacing:-.045em;margin:0;font-size:clamp(40px,4.6vw,64px);font-weight:500;line-height:1}.service-card:last-child .service-title h3{font-size:clamp(40px,4.6vw,64px)}.service-copy{color:#b8c5cd;max-width:530px;margin:auto 0 22px;font-size:15px;line-height:1.95}.tags{flex-wrap:wrap;gap:7px;display:flex}.tags span{color:#d8dfe3;letter-spacing:.08em;border:1px solid #ffffff40;border-radius:30px;padding:9px 12px;font-size:10px}.services-statement{text-align:right;letter-spacing:-.045em;max-width:980px;margin:clamp(34px,4vw,52px) 0 0 auto;font-size:clamp(28px,3.7vw,58px);font-weight:500;line-height:1.35}.careers{border-top:1px solid var(--line);background:var(--white);padding-top:clamp(42px,4vw,56px);padding-bottom:clamp(46px,4.5vw,64px)}.careers .section-label{margin-bottom:20px}.careers-grid{grid-template-columns:minmax(0,1.25fr) minmax(320px,.55fr);align-items:end;gap:clamp(38px,4vw,64px);display:grid}.kicker{letter-spacing:.24em;margin:0 0 18px;font-size:10px;font-weight:700}.kicker.navy{color:var(--navy)}.careers h2{font-size:clamp(44px,5.6vw,84px)}.careers-copy>p{color:#536775;margin:0 0 24px;font-size:14px;line-height:2.05}.status{border-top:1px solid var(--navy);letter-spacing:.12em;padding-top:14px;font-size:9px;display:inline-block}footer{padding:0 var(--pad);background:var(--navy);color:var(--white)}.footer-logo{justify-content:center;align-items:center;min-height:clamp(280px,28vw,360px);display:flex}.footer-logo img{width:min(410px,65vw);height:auto;display:block}.footer-meta{color:#c5d0d6;letter-spacing:.12em;border-top:1px solid #ffffff14;grid-template-columns:repeat(3,1fr);align-items:center;min-height:48px;padding:12px 0;font-size:9px;display:grid}.footer-meta p{margin:0}.footer-copyright{text-align:center}.footer-meta a{text-align:right}.footer-nav{color:#c5d0d6;letter-spacing:.12em;text-transform:none;white-space:nowrap;border-top:1px solid #ffffff30;justify-content:center;align-items:center;gap:clamp(16px,2.5vw,36px);padding:12px 0;font-size:9px;display:flex}.footer-nav button{color:inherit;cursor:pointer;font-size:inherit;letter-spacing:inherit;-webkit-user-select:text;user-select:text;background:0 0;border:0}.analytics-consent{z-index:20;border:1px solid var(--line);background:var(--white);justify-content:space-between;align-items:center;gap:clamp(28px,4vw,64px);padding:24px;display:flex;position:fixed;bottom:24px;left:24px;right:24px;box-shadow:0 16px 48px #061d3133}.analytics-consent-copy{max-width:960px}.analytics-consent p{color:#4f6271;margin:0;font-size:13px;line-height:1.8}.analytics-consent .analytics-consent-status{color:var(--navy);margin-top:8px}.analytics-consent a{color:var(--navy);white-space:nowrap;border-bottom:1px solid}.analytics-consent-actions{flex:none;gap:10px;display:flex}.analytics-consent-actions button{border:1px solid var(--navy);background:var(--white);min-width:112px;color:var(--navy);cursor:pointer;padding:12px 18px;font-size:12px}.analytics-consent-actions button.active{background:var(--navy);color:var(--white)}.desktop{display:block}@media (width<=900px){.services-heading{grid-template-columns:1fr;gap:28px}.service-list{grid-template-columns:1fr}.service-card,.service-card:last-child{min-height:360px;margin-top:0}.service-card:last-child .service-title{margin-top:clamp(40px,4vw,54px)}}@media (width<=760px){.hero{min-height:clamp(560px,78svh,620px)}.header{height:72px}.header-logo{gap:8px;width:auto;height:35px}.header-symbol{width:34px;height:26px}.header-wordmark{width:78px;height:19px}.header-wordmark img{width:78px;top:-20px}.header nav{top:72px;right:calc(var(--pad) * -1);left:calc(var(--pad) * -1);padding:28px var(--pad);background:var(--navy);border-top:1px solid #ffffff2a;flex-direction:column;display:none;position:absolute}.header nav.open{display:flex}.menu-button{display:block}.hero-content{padding:70px 0 100px}.hero h1{font-size:min(11.5vw,64px)}.hero-title-line{white-space:nowrap}.hero-title-progress{white-space:normal;margin-left:0}.hero-title-chunk{white-space:nowrap;display:block}.hero-copy{margin-top:24px}.hero-watermark{opacity:.04;width:72vw;bottom:11%}.hero-bottom{justify-content:flex-end}.hero-bottom>span,.desktop{display:none}.section-label{margin-bottom:24px}.about{padding-top:44px;padding-bottom:48px}.about .section-label{margin-bottom:20px}.lead{white-space:nowrap;font-size:min(8.3vw,40px)}.about-primary,.about-attitude{grid-template-columns:1fr;gap:16px}.about-intro{font-size:17px}.about-field{margin-top:16px}.about-attitude{gap:12px;margin-top:24px;padding-top:24px}.about-attitude-title{font-size:24px}.about-philosophy{max-width:none;font-size:14px}.services{padding-top:48px;padding-bottom:56px}.services h2{font-size:min(13vw,62px)}.services-heading{gap:24px;margin-bottom:28px}.service-list{gap:12px}.service-card,.service-card:last-child{min-height:0;padding:26px 24px}.service-title,.service-card:last-child .service-title{margin:32px 0 24px}.service-title h3,.service-card:last-child .service-title h3{font-size:min(13vw,56px)}.service-copy{margin-bottom:24px}.services-statement{text-align:left;margin-top:36px}.careers{padding-top:44px;padding-bottom:48px}.careers .section-label{margin-bottom:20px}.careers-grid{grid-template-columns:1fr;gap:24px}.careers h2{font-size:min(12vw,56px)}.careers-copy>p{margin-bottom:24px}.footer-logo{min-height:240px}.footer-meta{grid-template-columns:repeat(3,1fr);gap:0;min-height:0;padding:12px 0}.footer-copyright{text-align:center}.footer-meta a{text-align:right}.footer-nav{gap:14px;font-size:11px}.analytics-consent{flex-direction:column;align-items:stretch;gap:20px;padding:20px;bottom:12px;left:12px;right:12px}.analytics-consent-actions button{flex:1;min-width:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.hero-watermark.awake{animation:.5s ease-in-out porcupine-wake-reduced}}
