@font-face{font-family:Manrope;src:url('fonts/manrope.woff2') format('woff2');font-weight:200 800;font-display:swap}
:root{--ink:#18264a;--blue:#2449dc;--pale:#edf2ff;--line:#dbe2ef;--muted:#53617c;--white:#fff;--round:22px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--white);color:var(--ink);font:16px/1.65 Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #e46636;outline-offset:6px}a:hover{text-decoration:underline;text-underline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:600;line-height:1.13;letter-spacing:-.055em}h1{font-size:clamp(44px,4.8vw,75px);margin-bottom:28px}h2{font-size:clamp(32px,3.3vw,50px)}h3{font-size:30px}p{max-width:65ch}header{max-width:1440px;padding:30px 6%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:10px;color:var(--blue);font-size:33px;font-weight:800;letter-spacing:-2px;line-height:.8}.brand-sub{display:block;font-size:10px;letter-spacing:1.25px;line-height:1.8}nav{display:flex;align-items:center;gap:34px;font-size:14px;font-weight:600}.nav-contact{border:1px solid var(--line);border-radius:9px;padding:11px 17px}.nav-contact span{margin-left:20px}main{overflow:hidden}.hero{max-width:1440px;margin:auto;padding:70px 6% 90px;display:grid;grid-template-columns:1.12fr 1fr;gap:7%;align-items:center}.intro{font-size:14px;color:var(--blue);font-weight:700;margin-bottom:24px;display:flex;align-items:center;gap:10px}.intro:before{content:'';height:7px;width:7px;background:var(--blue);border-radius:50%}.lede{color:var(--muted);font-size:18px;line-height:1.8;max-width:48ch;margin-bottom:35px}.button{display:inline-flex;gap:30px;align-items:center;background:var(--blue);color:#fff;border-radius:8px;padding:15px 22px;font-size:14px;font-weight:700}.hero .text-link{display:inline-block;margin:22px 0 0 22px}.text-link{font-weight:700;font-size:14px;text-decoration:underline;text-underline-offset:7px}.system{background:var(--pale);border-radius:28px;padding:25px 26px 19px;transform:rotate(2deg);box-shadow:0 28px 55px -35px #4662a0}.system-top{display:flex;justify-content:space-between;font-size:12px;color:#52648b}.status-dot{height:7px;width:7px;background:var(--blue);border-radius:50%;align-self:center}.system-stage{height:295px;position:relative;display:grid;place-items:center}.orbit{position:absolute;width:235px;height:235px;border:1px solid #b9c9f2;border-radius:50%;transform:rotate(-28deg) scaleY(.7)}.orbit-two{transform:rotate(53deg) scaleY(.7)}.core{width:108px;height:108px;display:grid;place-items:center;background:var(--blue);border-radius:27px;color:white;font-size:78px;font-weight:800;letter-spacing:-8px;padding-right:9px;box-shadow:0 15px 45px #2449dc36;transition:transform .45s,background .45s}.system-node{position:absolute;padding:9px 15px;background:white;border:1px solid #dce4fc;border-radius:8px;font-size:12px;font-weight:600;box-shadow:0 5px 18px #2449dc08}.node-one{left:0;top:65px}.node-two{right:0;top:103px}.node-three{bottom:21px;left:34%}.signal{position:absolute;border-radius:50%;width:8px;height:8px;background:var(--blue)}.signal-one{top:55px;left:55%}.signal-two{bottom:80px;left:18%}.system-controls{display:flex;gap:5px;padding:5px;background:#dfe7fb;border-radius:9px}.system-controls button{border:0;border-radius:6px;background:transparent;color:#435779;font-size:12px;flex:1;padding:9px 2px}.system-controls button[aria-pressed=true]{background:white;color:var(--blue);box-shadow:0 2px 5px #2449dc15}.system>p{font-size:12px;color:#52648b;min-height:44px;margin:17px 2px 0;line-height:1.7}.system[data-active="1"] .core{transform:rotate(90deg);background:#326cb5}.system[data-active="2"] .core{transform:rotate(180deg);background:#315872}.expertise-strip{display:flex;justify-content:space-around;gap:20px;max-width:1267px;margin:auto;padding:27px 4%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-weight:600;font-size:14px;color:var(--muted)}.statement,.featured,.products,.about,.faq,.case-list{max-width:1440px;margin:auto;padding:95px 6%}.statement{display:grid;grid-template-columns:1.2fr 1fr;gap:20px 8%}.statement>p{grid-column:1/-1;font-size:14px;color:var(--blue);font-weight:700;margin-bottom:0}.statement>div{padding-top:6px;color:var(--muted)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:60px;margin-bottom:30px}.section-heading>p{max-width:41ch;color:var(--muted)}.featured{padding-top:20px}.feature-case{display:grid;grid-template-columns:1.1fr 1fr;border-radius:var(--round);background:#f2f5fa;overflow:hidden;min-height:370px}.feature-case:hover{text-decoration:none}.case-art{position:relative;min-height:370px;overflow:hidden;background:#dce5f4;display:grid;place-items:center}.case-art>span{position:absolute;bottom:24px;left:30px;letter-spacing:-1px;font-size:24px}.metal{position:absolute;width:110px;height:220px;background:linear-gradient(100deg,#7a8aa6,#f2f5fa 32%,#a6b6cf 52%,#647997);transform:rotate(-32deg) skewY(12deg);border-radius:4px;box-shadow:16px 22px 30px #17274e22;transition:transform .4s}.metal-a{left:26%;top:34px}.metal-b{left:45%;top:67px}.metal-c{left:64%;top:100px}.feature-case:hover .metal{transform:translateY(-8px) rotate(-32deg) skewY(12deg)}.case-copy{padding:50px 45px;align-self:center}.case-copy>p:first-child{font-size:12px;color:var(--blue);font-weight:700}.case-copy>p{font-size:15px;color:var(--muted)}.case-copy>span{font-size:14px;font-weight:700}.products{background:var(--pale);max-width:none;padding-left:max(6%,calc((100% - 1267px)/2));padding-right:max(6%,calc((100% - 1267px)/2))}.product-list{display:grid;grid-template-columns:1fr 1fr;gap:0 50px}.product-list>a{display:flex;gap:22px;padding:30px 0;border-top:1px solid #cdd8ee;align-items:center}.product-list h3{font-size:24px;margin:0 0 7px}.product-list p{font-size:14px;color:var(--muted);margin:0}.product-list>a>span:last-child{margin-left:auto;font-size:23px}.product-icon{display:grid;place-items:center;flex:0 0 52px;height:52px;border-radius:14px;background:#fff;font-size:29px;font-weight:800}.pi-members{color:#346b73}.pi-shoot{color:#b05236}.pi-school{color:#8155aa}.pi-host{color:#477446}.about{display:grid;grid-template-columns:1.2fr 1fr;gap:8%}.about p{color:var(--muted)}.contact{background:var(--blue);color:white;padding:80px max(6%,calc((100% - 1267px)/2));display:grid;grid-template-columns:1.5fr 1fr;gap:10%}.contact h2{font-size:clamp(36px,4vw,60px);margin-bottom:35px}.contact>div>p:first-child{font-size:14px;color:#dbe3ff}.contact-mail{font-size:clamp(17px,2.1vw,30px);letter-spacing:-.025em;border-bottom:1px solid #ffffff70;padding-bottom:7px}.contact-mail>span{margin-left:20px}.contact-aside{padding-top:20px;font-size:14px}.contact-aside>a:first-of-type{font-size:25px}.contact-aside>p{margin:15px 0 25px}footer{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.3fr 1fr .7fr 1fr;gap:25px;align-items:start;padding:50px 6%;font-size:12px;color:var(--muted)}footer .brand{font-size:22px;letter-spacing:-1px;line-height:1.2}.site-credit{align-self:end;text-align:right;font-size:11px}.page-hero{max-width:1440px;margin:auto;padding:75px 6% 55px}.page-hero>p:first-child{color:var(--blue);font-size:14px;font-weight:700}.local-nav{padding:24px 6%;background:var(--pale);justify-content:center;flex-wrap:wrap}.service-detail{max-width:1267px;margin:auto;padding:75px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:60px}.service-detail>p{color:var(--blue);font-weight:700}.service-detail>div>p{color:var(--muted);font-size:18px}.service-detail ul{padding-left:20px;margin:25px 0;line-height:2.2}.faq{max-width:1000px}.faq details{border-bottom:1px solid var(--line);padding:23px 0}.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:20px 0 0;color:var(--muted)}.faq a{text-decoration:underline}.filters{display:flex;gap:10px;padding:0 6%;max-width:1440px;margin:auto;flex-wrap:wrap}.filters button{border:1px solid var(--line);border-radius:30px;padding:10px 20px;background:white;color:var(--ink);font-size:14px}.filters button[aria-pressed=true]{background:var(--blue);color:white;border-color:var(--blue)}.filter-count{max-width:1267px;margin:25px auto 0;color:var(--muted);font-size:12px}.case-list{padding-top:0}.work-case{display:grid;grid-template-columns:1fr 1.3fr;gap:12%;padding:55px 0;border-top:1px solid var(--line)}.work-case[hidden]{display:none}.work-label>p{font-size:12px;color:var(--blue);font-weight:700}.work-label h2{font-size:35px}.work-case h3{font-size:27px}.work-case>div>p{color:var(--muted)}.tags{font-size:12px;margin-top:24px}.skip{position:absolute;left:15px;top:-70px;background:white;padding:10px;z-index:9}.skip:focus{top:15px}@media(min-width:1500px){.service-detail,.filter-count{max-width:1267px}}@media(max-width:1350px){.service-detail{margin:0 6%}.filter-count{margin-left:6%}}@media(max-width:950px){header{padding:25px 5%}nav{gap:20px}.hero{gap:4%;padding:55px 5% 60px}.hero .text-link{margin-left:0;display:block}.system{padding:20px 16px}.system-stage{height:260px}.orbit{width:200px;height:200px}.node-one{top:35px}.node-two{top:155px}.node-three{bottom:7px;left:23%}.case-copy{padding:35px}.statement,.featured,.products,.about{padding:65px 5%}.product-list{gap:0 30px}.product-list>a{gap:15px}.contact{gap:5%;padding:65px 5%}.contact-mail>span{margin-left:5px}footer{padding:40px 5%;grid-template-columns:1fr 1fr}.site-credit{text-align:left}.service-detail{gap:30px}}@media(max-width:650px){header{padding:22px 6%;align-items:flex-start;gap:20px;flex-wrap:wrap}.brand{font-size:30px}header nav{width:100%;gap:0;justify-content:space-between;font-size:12px}.nav-contact{padding:8px 10px}.nav-contact span{margin-left:6px}.hero{grid-template-columns:1fr;padding:40px 6% 55px;gap:35px}h1{font-size:43px;letter-spacing:-.06em}.hero h1{font-size:46px}.lede{font-size:16px}.hero .text-link{display:inline-block;margin-left:15px;font-size:12px}.button{font-size:12px;padding:14px 17px;gap:17px}.system{transform:none;padding:22px;margin:5px 0}.system-stage{height:260px}.orbit{width:235px;height:235px}.node-one{top:45px}.node-two{top:110px}.node-three{left:32%}.expertise-strip{flex-wrap:wrap;justify-content:flex-start;padding:20px 6%;gap:12px 20px;font-size:12px}.expertise-strip>span{width:calc(50% - 10px)}.statement,.about{display:block;padding:55px 6%}.statement>p{margin-bottom:18px}.statement h2{margin-bottom:24px}.section-heading{align-items:flex-start;gap:20px;flex-direction:column;margin-bottom:30px}.section-heading h2{margin-bottom:0}.featured{padding:5px 6% 55px}.feature-case{grid-template-columns:1fr}.case-art{min-height:290px}.metal{height:175px;width:84px}.metal-a{left:22%;top:25px}.metal-b{left:42%;top:55px}.metal-c{left:62%;top:85px}.case-copy{padding:30px}.products{padding:50px 6%}.product-list{grid-template-columns:1fr}.product-list>a{padding:24px 0}.product-list h3{font-size:22px}.product-list p{font-size:13px}.product-icon{flex-basis:45px;height:45px}.about h2{margin-bottom:30px}.contact{display:block;padding:50px 6%}.contact h2{font-size:40px}.contact-mail{font-size:19px}.contact-aside{padding-top:35px}.contact-aside>p{max-width:40ch}footer{padding:35px 6%;gap:25px 20px}footer .brand{font-size:20px}.page-hero{padding:45px 6% 30px}.local-nav{gap:15px 25px;justify-content:flex-start;font-size:12px}.service-detail{display:block;padding:40px 0}.service-detail h2{font-size:33px}.service-detail>div>p{font-size:16px}.service-detail>p{font-size:13px}.faq{padding:45px 6%}.faq summary{font-size:15px}.work-case{display:block;padding:32px 0}.work-label h2{font-size:30px;margin-bottom:25px}.work-case h3{font-size:24px}.filters button{padding:8px 14px;font-size:12px}.case-list{padding:0 6% 45px}.filter-count{margin-bottom:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.page-mark{position:fixed;right:25px;bottom:25px;background:#2449dc;color:white;border-radius:12px;padding:13px;pointer-events:none;z-index:20;box-shadow:0 5px 20px #2449dc33;animation:mark-away .4s both}.page-mark svg{display:block;width:34px;height:34px}.page-mark path{stroke-dasharray:80;animation:build-z .35s both}@keyframes build-z{from{stroke-dashoffset:80}to{stroke-dashoffset:0}}@keyframes mark-away{0%,70%{opacity:1}100%{opacity:0}}@media(prefers-reduced-motion:reduce){.page-mark{display:none}}
