:root{font-family:DM Sans,Arial,sans-serif;color:#121212;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink:#111;--muted:#858585;--line:#ededed;--max:1050px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit;text-decoration:none}.topbar{position:relative;z-index:5;max-width:920px;height:56px;margin:24px auto 0;padding:0 27px;border:1px solid #ededed;border-radius:40px;box-shadow:0 2px 9px #0000000a;display:flex;align-items:center;justify-content:space-between;background:#ffffffec;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.identity{display:flex;gap:9px;align-items:center;font-size:12px}.identity strong{font-weight:600}.identity span{color:#a6a6a6;border-left:1px solid #ddd;padding-left:9px}.topbar nav{display:flex;gap:34px}.topbar nav a,footer nav a{font-size:12px}.topbar nav a:hover,footer nav a:hover{color:#777}.mobile-menu{display:none}.hero{position:relative;height:590px;max-width:1050px;margin:auto;padding-top:70px;text-align:center;overflow:visible}.hero h1{font-size:clamp(36px,3.35vw,44px);line-height:1.12;letter-spacing:-.045em;margin:0 auto;font-weight:750}.hero-cta{display:inline-flex;align-items:center;margin-top:30px;padding:14px 24px;border:1px solid #eee;border-radius:30px;box-shadow:0 2px 8px #0000000a;font-size:11px;font-weight:600;transition:transform .2s,box-shadow .2s}.hero-cta:hover{transform:translateY(-2px);box-shadow:0 4px 14px #00000012}.portrait-wrap{position:relative;width:330px;height:378px;margin:26px auto 0}.portrait-placeholder{height:100%;display:grid;place-items:center;position:relative;color:#aaa;font-size:11px;letter-spacing:.15em;line-height:1.6}.portrait-placeholder:before{content:"";position:absolute;width:206px;height:310px;bottom:0;border-radius:48% 48% 7% 7%;background:linear-gradient(180deg,#e5e5e5,#f1f1f1 60%,#fff);filter:grayscale(1)}.portrait-placeholder span{position:relative;z-index:1;margin-top:100px;opacity:.55}.work{max-width:920px;padding:20px 0 100px;margin:0 auto}.case-card{display:block;margin:0 auto 54px;width:95%}.case-image{height:590px;border-radius:26px;position:relative;overflow:hidden;background:#f4f4f4}.case-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.about{background:#fafafa;padding:95px max(calc((100vw - 920px)/2),30px);display:grid;grid-template-columns:1fr 1fr;gap:80px}.about-heading>span{font-size:9px;letter-spacing:.1em;color:#aaa}.about-heading h2{font-size:60px;line-height:.98;letter-spacing:-.06em;margin:22px 0}.about-heading h2 em,.contact h2 em{font-weight:500;color:#aaa}.about-copy{align-self:center;max-width:430px}.about-copy p{font-size:13px;line-height:1.8;color:#777}.about-copy .about-lead{font-size:17px;line-height:1.6;color:#222}.about-copy a{display:inline-block;margin-top:13px;font-size:11px;border-bottom:1px solid #ccc;padding-bottom:8px}.contact{text-align:center;padding:115px 20px 125px}.contact>p{font-size:9px;letter-spacing:.13em;color:#999}.contact h2{font-size:clamp(48px,8vw,88px);line-height:.97;letter-spacing:-.065em;margin:27px 0 32px}.contact>a{font-size:12px;border-bottom:1px solid #ccc;padding-bottom:8px}footer{min-height:86px;border-top:1px solid #eee;max-width:920px;margin:auto;display:grid;grid-template-columns:1fr 1fr 1fr 1fr;align-items:center;color:#999}footer .footer-mark{font-size:10px;font-weight:700;color:#222}footer>span,footer small{font-size:9px}footer nav{display:flex;gap:17px;justify-content:center}footer small{text-align:right}@media(min-width:1500px){.topbar{margin-top:48px}.hero{height:590px;padding-top:73px}.hero h1{font-size:30px;line-height:1.2;letter-spacing:-.025em}.hero-cta{margin-top:31px;padding:14px 24px}.portrait-wrap{height:330px;margin-top:29px}.portrait-placeholder:before{width:290px;height:335px;border-radius:48% 48% 8% 8%;background:linear-gradient(180deg,#d9d9d9,#e9e9e9 62%,#fff)}.portrait-placeholder span{margin-top:116px}.work{padding-top:0}}@media(max-width:820px){.topbar{height:52px;margin:12px 15px 0;padding:0 18px}.topbar nav{display:none;position:absolute;top:58px;left:0;right:0;padding:17px 20px;border:1px solid #eee;border-radius:18px;background:#fff;box-shadow:0 8px 20px #0000000a;justify-content:space-around}.topbar nav.open{display:flex}.mobile-menu{display:block;border:0;background:none;font:inherit;font-size:11px}.hero{height:490px;padding:70px 18px 0}.hero h1{font-size:clamp(31px,7.4vw,40px)}.portrait-wrap{margin-top:38px;width:280px;height:315px}.portrait-placeholder:before{height:248px;width:170px}.work{padding:22px 15px 75px}.case-card{width:100%;margin-bottom:35px}.case-image{height:auto;aspect-ratio:1.13;border-radius:19px}.about{padding:70px 22px;grid-template-columns:1fr;gap:7px}.about-heading h2{font-size:52px;margin:17px 0}.about-copy .about-lead{font-size:15px}.about-copy p{font-size:12px}.contact{padding:85px 18px 90px}.contact h2{font-size:clamp(47px,11vw,70px)}footer{margin:0 18px;padding:20px 0;grid-template-columns:1fr auto;gap:15px}footer .footer-mark{grid-column:1;grid-row:1}footer>span{grid-column:1;grid-row:2}footer nav{grid-column:2;grid-row:1;gap:12px}footer nav a{font-size:9px}footer small{grid-column:2;grid-row:2;font-size:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@media(min-width:761px){.hero{height:620px}}@media(min-width:1500px){.hero{height:620px}}@media(max-width:820px){.hero{height:515px}}.other-projects{padding:72px 0 20px}.other-projects>h2{text-align:center;font-size:21px;letter-spacing:-.035em;margin:0 0 48px}.other-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.other-project-panel{min-height:490px;border:1px solid #e2e2e2;border-radius:28px;position:relative;overflow:hidden;padding:42px 38px;background:#fbfbfd;display:flex;flex-direction:column}.other-project-panel--toniq{background-color:#fbfaff;background-image:radial-gradient(#dedce7 1px,transparent 1px);background-size:17px 17px}.other-project-panel--shine{background:linear-gradient(145deg,#fff,#f0fbfc)}.other-project-content{position:relative;z-index:1;max-width:360px}.other-project-content h3{font-size:36px;line-height:1;letter-spacing:-.055em;margin:0 0 22px}.other-project-content p{font-size:15px;line-height:1.55;color:#555;margin:0 0 25px}.other-project-type{display:inline-block;padding:10px 14px;border:1px solid #d9d9d9;border-radius:30px;background:#ffffffb8;color:#555;font-size:11px}.other-project-art{position:absolute;inset:auto 0 0;height:50%;overflow:hidden}.other-project-panel--toniq .other-project-art:before,.other-project-panel--toniq .other-project-art:after{content:"";position:absolute;border-radius:50%;width:92px;height:92px;background:#f5bf33;bottom:52px;left:38px;box-shadow:0 0 0 9px #fff}.other-project-panel--toniq .other-project-art:after{left:auto;right:40px;background:#315f7a;width:82px;height:82px}.other-project-panel--toniq .art-shape{position:absolute;width:140px;height:72px;background:#f4b313;border-radius:50px 50px 50px 8px;left:85px;bottom:133px;transform:rotate(-8deg);box-shadow:0 5px 12px #00000016}.other-project-panel--toniq .art-object{position:absolute;width:170px;height:65px;background:#315f7a;border-radius:45px 45px 8px;right:42px;bottom:80px;box-shadow:0 5px 12px #00000016}.other-project-panel--shine .art-shape{position:absolute;bottom:-22px;right:-24px;width:300px;height:215px;border-radius:46% 40% 0 0;background:#f1eee9;box-shadow:inset 0 0 0 1px #e9e5df}.other-project-panel--shine .art-object{position:absolute;right:76px;bottom:66px;width:152px;height:120px;border-radius:26px;background:#fff;box-shadow:0 10px 24px #00000016;display:grid;place-items:center;color:#607a73;font-size:28px}.other-project-panel--shine .art-object:after{content:"";position:absolute;inset:27px 28px 22px;border-radius:14px;background:#30363b;box-shadow:inset 0 0 0 1px #171b1e}@media(max-width:820px){.other-projects{padding:48px 0 8px}.other-projects>h2{font-size:18px;margin-bottom:24px}.other-project-grid{grid-template-columns:1fr;gap:16px}.other-project-panel{min-height:440px;border-radius:22px;padding:28px 24px}.other-project-content h3{font-size:30px;margin-bottom:16px}.other-project-content p{font-size:13px;max-width:300px}.other-project-panel--shine .art-object{right:42px}.other-project-panel--shine .art-shape{right:-55px}}.topbar,.identity{font-size:14px}.topbar nav a{font-size:14px}.work-nav{position:relative;display:flex;align-items:center}.work-link{display:block;padding:12px 0}.work-services{position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%);width:190px;height:30px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid #ededed;border-radius:7px;background:#fff;box-shadow:0 3px 10px #0000000a;opacity:0;visibility:hidden;transition:opacity .16s ease,visibility .16s ease;pointer-events:none}.work-nav:hover .work-services,.work-nav:focus-within .work-services{opacity:1;visibility:visible}.service-current{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:clip;font-size:10px;line-height:1;color:#666;transition:opacity .18s ease,transform .18s ease}.service-current.is-leaving{opacity:0;transform:translateY(-7px)}.service-current.is-entering{opacity:0;transform:translateY(7px)}@media(max-width:820px){.identity{font-size:12px}.topbar nav a{font-size:12px}.work-services{display:none}}@media(prefers-reduced-motion:reduce){.service-current,.work-services{transition:none}}.work-nav{height:44px;align-items:center}.work-services{width:240px;height:32px;justify-content:flex-start;padding:0 11px;top:calc(100% + 1px)}@media(max-width:820px){.topbar nav{align-items:center}.topbar nav>a{height:auto;display:block;padding:0}.work-nav{height:auto}}.topbar nav{align-items:center;gap:30px}.topbar nav>a,.work-nav>.work-link{height:44px;display:flex;align-items:center;padding:0;line-height:1}.work-nav{position:relative;height:44px;display:flex;align-items:center}.work-link{padding:0}.work-services{width:242px;height:32px;justify-content:flex-start;padding:0 11px;top:calc(100% + 1px)}.service-current{position:relative;padding-left:13px;min-width:0}.service-current:before{content:"+";position:absolute;left:0;color:#777}.work-nav:hover .work-link,.work-nav:focus-within .work-link{transform:none}@media(max-width:820px){.topbar nav{align-items:center}.topbar nav>a{height:auto;display:block;padding:0}.work-nav{height:auto}.work-services{display:none}}.work-services{width:242px;height:28px;padding:0 9px;border-radius:6px}.service-current{font-size:12px;line-height:1.1;padding-left:14px;letter-spacing:-.01em}.work-services{width:max-content;min-width:0;max-width:calc(100vw - 24px);height:28px;padding:0 9px;justify-content:flex-start;transition:width .24s ease,opacity .16s ease,visibility .16s ease}.service-current{display:inline-block;width:max-content;max-width:calc(100vw - 48px);padding-left:14px;font-size:12px;white-space:nowrap;overflow:visible}.work-services{width:max-content;height:32px;max-width:calc(100vw - 24px);padding:0 8px;justify-content:flex-start;transition:width .22s ease,opacity .16s ease,visibility .16s ease}.service-current{display:inline-block;width:max-content!important;max-width:calc(100vw - 48px);padding-left:18px;font-size:14px;line-height:1;letter-spacing:0;white-space:nowrap;overflow:visible}.service-current:before{left:2px;font-size:14px}.topbar.header-arrive{animation:headerFadeUp .48s cubic-bezier(.2,.7,.25,1) both}@keyframes headerFadeUp{0%{opacity:.55;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.topbar.header-arrive{animation:none}}.topbar{position:sticky;top:14px;z-index:20}.topbar{transform:translateY(calc(-100% - 28px));opacity:0;transition:transform .38s cubic-bezier(.22,.68,.2,1),opacity .28s ease;will-change:transform,opacity}.topbar.header-visible{transform:translateY(0);opacity:1}.topbar.header-arrive{animation:headerFadeUp .45s cubic-bezier(.22,.68,.2,1) both}@keyframes headerFadeUp{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.topbar{transition:none}.topbar.header-arrive{animation:none}}.topbar{position:sticky;top:14px;z-index:20;transform:none;opacity:1;transition:none;animation:none;will-change:auto}@media(min-width:1500px){.topbar{top:22px}}.topbar.header-arrive,.topbar.header-visible{transform:none;opacity:1;animation:none}.topbar{transition:transform .32s ease,opacity .32s ease;animation:none;will-change:transform,opacity}.topbar.header-hidden{transform:translateY(calc(-100% - 28px));opacity:0;pointer-events:none}@media(prefers-reduced-motion:reduce){.topbar{transition:none}}.hero h1 .flower-word{position:relative;display:inline-block;isolation:isolate;white-space:nowrap}.flower-word-text{position:relative;z-index:2}.flower-vine{position:absolute;z-index:3;inset:-.58em -.12em -.2em;pointer-events:none;overflow:visible}.vine{position:absolute;display:block;width:0;height:2px;top:54%;border-radius:50%;background:repeating-linear-gradient(0deg,#427c39 0 2px,#68a547 2px 4px,#397b3b 4px 5px);box-shadow:0 1px #b5cf78;transform-origin:left center;animation:vineCreep 7s ease-in-out infinite}.vine-a{left:0;--vine-length:55%;--vine-angle:-7deg;animation-delay:0s}.vine-b{right:0;left:auto;transform-origin:right center;--vine-length:55%;--vine-angle:187deg;animation-delay:.18s}.leaf{position:absolute;z-index:2;width:.42em;height:.2em;opacity:0;border:2px solid #5d9142;border-radius:100% 0;background:repeating-linear-gradient(135deg,#83b953 0 2px,#b2cc70 2px 3px);animation:leafBloom 7s ease-in-out infinite;transform:scale(.2) rotate(-20deg)}.leaf-a{left:15%;top:25%;animation-delay:1.4s}.leaf-b{left:37%;top:9%;animation-delay:1.8s}.leaf-c{right:32%;top:14%;animation-delay:2s}.leaf-d{right:11%;top:29%;animation-delay:1.6s}.flower{position:absolute;z-index:4;width:.25em;height:.25em;border-radius:50%;opacity:0;transform:scale(.1);background:radial-gradient(circle,#f4bd39 0 20%,transparent 22%);filter:drop-shadow(0 0 .5px #aa622f);animation:flowerOpen 7s ease-in-out infinite}.flower:before{content:"";position:absolute;inset:-.11em;border-radius:50%;background:repeating-conic-gradient(from 4deg,#ed5b83 0 13deg,#f4a33e 14deg 26deg,#e85c88 27deg 39deg,transparent 40deg 45deg);-webkit-mask:radial-gradient(circle,transparent 0 18%,#000 21% 100%);mask:radial-gradient(circle,transparent 0 18%,#000 21% 100%)}.flower-a{left:22%;top:2%;animation-delay:2.1s}.flower-b{left:53%;top:-4%;width:.29em;height:.29em;animation-delay:2.35s}.flower-c{right:25%;top:0%;animation-delay:2.55s}.flower-d{right:5%;top:20%;width:.21em;height:.21em;animation-delay:2.3s}@keyframes vineCreep{0%,5%{width:0;opacity:0;transform:rotate(var(--vine-angle)) scaleX(.05)}12%{opacity:1}34%,58%{width:var(--vine-length);opacity:1;transform:rotate(var(--vine-angle)) scaleX(1)}77%{width:var(--vine-length);opacity:1;transform:rotate(var(--vine-angle)) scaleX(1)}94%,to{width:0;opacity:0;transform:rotate(var(--vine-angle)) scaleX(.02)}}@keyframes leafBloom{0%,18%,75%,to{opacity:0;transform:scale(.15) rotate(-20deg)}30%,66%{opacity:1;transform:scale(1) rotate(0)}}@keyframes flowerOpen{0%,25%,75%,to{opacity:0;transform:scale(.1) rotate(-30deg)}37%,67%{opacity:1;transform:scale(1) rotate(0)}}@media(max-width:820px){.flower-vine{inset:-.5em -.08em -.16em}.flower,.leaf{font-size:.9em}}@media(prefers-reduced-motion:reduce){.vine,.leaf,.flower{animation:none!important}.vine{width:0!important;opacity:0!important}.leaf,.flower{opacity:0!important}}.hero h1 .flower-word{color:#171717}.flower-word-text{position:relative;z-index:2;color:inherit}.flower-garland{position:absolute;z-index:3;pointer-events:none;overflow:visible;left:-.09em;top:-.58em;width:calc(100% + .18em);height:calc(100% + .88em)}.garland-strokes path{stroke-dasharray:1500;stroke-dashoffset:1500;animation:drawVine 8s cubic-bezier(.45,0,.25,1) infinite}.garland-highlight{stroke-dasharray:1500;stroke-dashoffset:1500;animation-delay:.08s!important}.garland-roots{stroke-dasharray:700;stroke-dashoffset:700;animation-name:drawRoots!important;animation-delay:.18s!important}.garland-strokes>path:nth-of-type(4){stroke-dasharray:900;stroke-dashoffset:900;animation-delay:.2s!important}.garland-leaves{opacity:0;transform-box:fill-box;transform-origin:center;animation:growLeaves 8s ease-in-out infinite}.bloom{opacity:0;transform-box:fill-box;transform-origin:center;animation:bloomFlower 8s cubic-bezier(.2,.75,.25,1) infinite}.bloom-b{animation-delay:.12s}.bloom-c{animation-delay:.24s}.bloom-d{animation-delay:.36s}@keyframes drawVine{0%,5%{stroke-dashoffset:1500;opacity:.25}36%,69%{stroke-dashoffset:0;opacity:1}91%,to{stroke-dashoffset:1500;opacity:.25}}@keyframes drawRoots{0%,10%{stroke-dashoffset:700;opacity:.2}42%,69%{stroke-dashoffset:0;opacity:1}92%,to{stroke-dashoffset:700;opacity:.2}}@keyframes growLeaves{0%,30%,78%,to{opacity:0;transform:scale(.35)}42%,68%{opacity:1;transform:scale(1)}}@keyframes bloomFlower{0%,34%,76%,to{opacity:0;transform:scale(.15) rotate(-25deg)}46%,68%{opacity:1;transform:scale(1) rotate(0)}}@media(max-width:820px){.flower-garland{top:-.55em;height:calc(100% + .82em);left:-.04em;width:calc(100% + .08em)}.garland-strokes path{stroke-width:8}.garland-strokes .garland-roots{stroke-width:3}}@media(prefers-reduced-motion:reduce){.garland-strokes path,.garland-leaves,.bloom{animation:none!important}.garland-strokes path{stroke-dashoffset:0}.garland-leaves,.bloom{opacity:1;transform:none}}.hero h1 .flower-word .flower-word-text{color:#171717}.flower-word-text{position:relative;z-index:5;color:#171717}.flower-garland{z-index:3}.hero h1 .flower-word{position:relative;display:inline-block;isolation:isolate;white-space:nowrap;color:#171717;z-index:1}.flower-art{position:absolute;z-index:1;pointer-events:none;left:-.17em;top:-1.02em;width:calc(100% + .34em);height:calc(100% + 1.36em);overflow:visible}.flower-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;opacity:0;animation:gardenImage 10s linear infinite}.flower-art-stage{position:absolute;inset:0;display:block;pointer-events:none}.flower-art-roots{background:#fff;opacity:0;animation:revealRoots 10s linear infinite;mask-image:linear-gradient(to bottom,transparent 0 60%,#000 60% 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0 60%,#000 60% 100%)}.flower-art-stems{background:#fff;opacity:0;animation:revealStems 10s linear infinite;mask-image:linear-gradient(to bottom,transparent 0 0%,#000 0% 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0 0%,#000 0% 100%)}.flower-art-blooms{background:#fff;opacity:0;animation:revealBlooms 10s linear infinite;mask-image:radial-gradient(ellipse at center,transparent 0 44%,#000 45% 100%);-webkit-mask-image:radial-gradient(ellipse at center,transparent 0 44%,#000 45% 100%)}@keyframes gardenImage{0%,5%{opacity:1}17%{opacity:1}52%,85%{opacity:1}99%,to{opacity:1}}@keyframes revealRoots{0%,5%{opacity:1}17%{opacity:0}to{opacity:0}}@keyframes revealStems{0%,17%{opacity:1}30%{opacity:0}to{opacity:0}}@keyframes revealBlooms{0%,30%{opacity:1}44%{opacity:0}to{opacity:0}}@media(max-width:820px){.flower-art{left:-.18em;top:-.78em;width:calc(100% + .36em);height:calc(100% + 1.08em)}}@media(prefers-reduced-motion:reduce){.flower-art img{opacity:1;animation:none}.flower-art-stage{display:none}}.flower-art{position:absolute;z-index:1;pointer-events:none;left:50%;top:50%;width:clamp(340px,52vw,760px);aspect-ratio:3/1;height:auto;transform:translate(-50%,-50%);overflow:visible}.flower-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;clip-path:inset(100% 0 0 0);animation:gardenGrow 11s cubic-bezier(.45,0,.25,1) infinite}@keyframes gardenGrow{0%,5%{clip-path:inset(100% 0 0 0)}43%,72%{clip-path:inset(0 0 0 0)}98%,to{clip-path:inset(100% 0 0 0)}}.flower-word-text{position:relative;z-index:2;color:#171717}@media(max-width:820px){.flower-art{width:min(125vw,520px)}}@media(prefers-reduced-motion:reduce){.flower-art img{clip-path:none;animation:none}}.flower-art img{opacity:1;animation:gardenGrow 11s cubic-bezier(.45,0,.25,1) infinite}.hero h1 span{color:#aaa}#work{scroll-margin-top:30px}.case-image{height:auto;aspect-ratio:1.13;background:#f4f4f4}.case-image img{object-fit:contain}.case-image{height:auto;aspect-ratio:auto;background:transparent}.case-image img{position:relative;inset:auto;display:block;width:100%;height:auto;object-fit:contain}@media(max-width:820px){.hero{height:604px}.portrait-wrap{margin-top:18px}}:root{--moroccan-terracotta:#a9573d;--moroccan-cobalt:#345d79;--moroccan-sand:#f5f0e7;--moroccan-line:#e8dfd1}body{background:#fdfcf9}.topbar{border-color:var(--moroccan-line);background:#fdfcf9f2}.identity span{color:var(--moroccan-terracotta);border-left-color:#d8c5b4}.hero-cta{border-color:#d9c6b6;color:#633f32}.hero-cta:hover{border-color:var(--moroccan-terracotta);color:var(--moroccan-terracotta)}.case-card{position:relative}.case-image{border-radius:18px;background:var(--moroccan-sand)}.other-project-panel{border-color:var(--moroccan-line);border-radius:20px}.other-project-panel--toniq{background-color:#faf7f0;background-image:radial-gradient(#c5a97e 1px,transparent 1px);background-size:22px 22px}.other-project-panel--shine{background:linear-gradient(145deg,#f9f7f1,#f1f5f4)}.other-project-type{border-color:#d9c6b6;color:#654638}.about{background:#f5f1e9}.about-heading h2 em,.contact h2 em{color:var(--moroccan-terracotta)}.about-copy a,.contact>a{border-color:#bb8e73}.contact>p{color:var(--moroccan-cobalt)}footer .footer-mark{color:var(--moroccan-terracotta)}::selection{background:#e7d4c2;color:#291c16}.case-card{transition:transform .24s cubic-bezier(.16,1,.3,1),filter .24s ease;transform-origin:center}.case-card:hover,.case-card:focus-visible{transform:translateY(-7px)}.case-card:focus-visible{outline:2px solid var(--moroccan-cobalt);outline-offset:8px;border-radius:18px}@media(hover:none){.case-card:hover{transform:none}}@media(prefers-reduced-motion:reduce){.case-card{transition:none}.case-card:hover,.case-card:focus-visible{transform:none}}:root{--moroccan-cobalt:#315f7a;--moroccan-terracotta:#315f7a;--moroccan-paper:#fdfbf7;--moroccan-sand:#f3eee4;--moroccan-line:#e5dccd;color:#202321;background:var(--moroccan-paper)}body{color:#202321;background:var(--moroccan-paper)}.topbar{border-color:var(--moroccan-line);background:#fdfbf7f2}.identity span{border:0;padding:0;color:var(--moroccan-terracotta);display:inline-flex;align-items:center}.identity span:before,footer .footer-mark:before{content:"";display:inline-block;width:7px;height:7px;margin-right:8px;background:var(--moroccan-terracotta);clip-path:polygon(50% 0,58% 38%,85% 15%,62% 42%,100% 50%,62% 58%,85% 85%,58% 62%,50% 100%,42% 62%,15% 85%,38% 58%,0 50%,38% 42%,15% 15%,42% 38%)}.topbar nav a:hover,footer nav a:hover{color:var(--moroccan-cobalt)}.hero h1,.about-heading h2,.contact h2,.other-project-content h3{font-family:Manrope,DM Sans,sans-serif;letter-spacing:-.035em}.hero h1{line-height:1.1;font-weight:750}.hero-cta{border-color:var(--moroccan-cobalt);background:var(--moroccan-cobalt);color:#fff;box-shadow:0 5px 14px #315b781c;transition:transform .2s,box-shadow .2s,background-color .2s,border-color .2s}.hero-cta:hover{background:var(--moroccan-terracotta);border-color:var(--moroccan-terracotta);color:#fff;box-shadow:0 7px 18px #315f7a26}.portrait-wrap:before{content:"";position:absolute;z-index:0;left:50%;bottom:0;width:86%;height:92%;border:1px solid #b88a6250;border-radius:48% 48% 8px 8px;transform:translate(-50%);pointer-events:none}.portrait-placeholder{z-index:1}.case-image{border:1px solid var(--moroccan-line);border-radius:16px;background:#f4efe6;transition:border-color .22s ease}.case-image img{border-radius:inherit}.other-project-panel{border-color:var(--moroccan-line);border-radius:16px}.other-project-type{border-color:#d4c4b1;color:#60483b}.about{background:var(--moroccan-sand)}.about-heading h2 em{color:var(--moroccan-terracotta)}.contact{background:var(--moroccan-paper)}.contact>p{color:var(--moroccan-terracotta)}.contact h2 em{color:var(--moroccan-cobalt)}.about-copy a,.contact>a{border-color:#b88a62;text-underline-offset:4px}footer{border-color:var(--moroccan-line)}footer .footer-mark{color:#202321}footer .footer-mark:before{background:var(--moroccan-cobalt)}.topbar :focus-visible,footer a:focus-visible,.hero-cta:focus-visible,.about-copy a:focus-visible,.contact>a:focus-visible{outline:2px solid var(--moroccan-cobalt);outline-offset:4px;border-radius:4px}@media(min-width:1500px){.portrait-wrap:before{width:94%;height:94%}}@media(max-width:820px){.portrait-wrap:before{width:82%;height:90%}.case-image{border-radius:15px}}@media(prefers-reduced-motion:reduce){.case-image,.hero-cta{transition:none}}.project-detail{display:none}.project-detail:target{position:fixed;inset:0;z-index:60;display:block;overflow-y:auto;padding:clamp(22px,5vw,64px);background:var(--moroccan-paper)}.project-detail-inner{max-width:1120px;margin:0 auto}.project-detail-back{display:inline-flex;align-items:center;gap:9px;margin-bottom:clamp(36px,7vh,76px);font-size:12px;color:#4f5557}.project-detail-back svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.project-detail-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.project-detail-heading p{margin:0 0 7px;color:var(--moroccan-terracotta);font-size:11px;letter-spacing:.08em}.project-detail-heading h2{margin:0;color:#202321;font-family:Manrope,DM Sans,sans-serif;font-size:clamp(38px,7vw,76px);line-height:1;letter-spacing:-.045em}.project-detail-heading--concept{margin-bottom:14px}.project-detail-heading--concept h2{font-size:clamp(30px,5vw,50px);letter-spacing:-.035em}.project-detail-image{display:block;width:100%;height:auto;border:1px solid var(--moroccan-line);border-radius:16px;background:var(--moroccan-sand)}.project-detail-description{max-width:620px;margin:0;color:#555b5a;font-size:15px;line-height:1.7}.project-detail-concept{min-height:clamp(320px,48vw,540px);margin-top:28px;border-color:var(--moroccan-line)}.project-detail:target :focus-visible{outline:2px solid var(--moroccan-cobalt);outline-offset:4px}.project-cursor{position:fixed;z-index:100;top:0;left:0;display:flex;align-items:center;justify-content:center;gap:0;width:14px;height:14px;padding:0;overflow:hidden;border:1px solid #50565a;border-radius:50%;background:#eeeeec;color:#343a3d;font-size:11px;font-weight:500;line-height:1;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;scale:.94;translate:0 8px;box-shadow:0 2px 5px #2023210b;transform:translate3d(var(--project-cursor-x,-100px),var(--project-cursor-y,-100px),0) translate(-50%,-50%);transition:width .22s cubic-bezier(.16,1,.3,1),height .22s cubic-bezier(.16,1,.3,1),padding .22s cubic-bezier(.16,1,.3,1),gap .22s ease,border-radius .18s ease,opacity .22s ease,visibility .22s ease,scale .34s cubic-bezier(.16,1,.3,1),translate .34s cubic-bezier(.16,1,.3,1),box-shadow .32s ease}.project-cursor.is-visible{width:140px;height:36px;gap:10px;padding:10px 14px;border-radius:999px;opacity:1;visibility:visible;scale:1;translate:0 -2px;box-shadow:0 10px 24px #2023212e}.project-cursor span,.project-cursor svg{flex:none;opacity:0;transition:opacity .1s ease}.project-cursor.is-visible span,.project-cursor.is-visible svg{opacity:1;transition-delay:.08s}.project-cursor svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.has-project-cursor .project-link{cursor:none}@media(max-width:820px){.project-detail:target{padding:22px 15px 32px}.project-detail-heading{align-items:start;flex-direction:column;gap:8px}.project-detail-back{margin-bottom:34px}.project-detail-image{border-radius:13px}.project-detail-concept{min-height:360px}.project-cursor{display:none}}@media(prefers-reduced-motion:reduce){.project-cursor{transition:none;scale:1;translate:0 0}}.other-project-grid{align-items:start}.other-project-panel--image{display:block;min-height:0;padding:0;border:1px solid var(--moroccan-line);border-radius:16px;background:transparent;overflow:hidden;transition:transform .35s cubic-bezier(.2,.75,.25,1),box-shadow .35s ease}.other-project-image{display:block;width:100%;height:auto;aspect-ratio:1080/1920;object-fit:cover;border-radius:inherit}.other-project-panel--image:hover,.other-project-panel--image:focus-visible{transform:translateY(-5px)}@media(prefers-reduced-motion:reduce){.other-project-panel--image{transition:none}.other-project-panel--image:hover,.other-project-panel--image:focus-visible{transform:none}}.hero-cta{position:relative;isolation:isolate;overflow:hidden;border-color:var(--moroccan-cobalt);background:var(--moroccan-cobalt);color:#fff;transition:transform .2s,box-shadow .2s,border-color .42s ease}.hero-cta:before{content:"";position:absolute;z-index:-1;inset:0;background:#000;clip-path:polygon(0 65%,9% 60%,18% 74%,29% 55%,39% 68%,50% 51%,61% 70%,72% 56%,83% 73%,92% 59%,100% 66%,100% 100%,0 100%);transform:scaleY(0);transform-origin:bottom}.hero-cta:hover,.hero-cta:focus-visible{border-color:var(--moroccan-terracotta);background:var(--moroccan-cobalt);color:#fff}.hero-cta:hover:before,.hero-cta:focus-visible:before,.hero-cta:active:before{animation:hero-beach-fill .32s ease-out forwards}@keyframes hero-beach-fill{0%{transform:scaleY(0);clip-path:polygon(0 65%,9% 60%,18% 74%,29% 55%,39% 68%,50% 51%,61% 70%,72% 56%,83% 73%,92% 59%,100% 66%,100% 100%,0 100%)}42%{transform:scaleY(1);clip-path:polygon(0 35%,9% 20%,18% 43%,29% 14%,39% 36%,50% 9%,61% 39%,72% 16%,83% 41%,92% 22%,100% 34%,100% 100%,0 100%)}76%{transform:scaleY(1);clip-path:polygon(0 8%,9% 2%,18% 17%,29% 0,39% 10%,50% 4%,61% 13%,72% 1%,83% 18%,92% 5%,100% 12%,100% 100%,0 100%)}to{transform:scaleY(1);clip-path:polygon(0 0,9% 0,18% 0,29% 0,39% 0,50% 0,61% 0,72% 0,83% 0,92% 0,100% 0,100% 100%,0 100%)}}@media(prefers-reduced-motion:reduce){.hero-cta:hover:before,.hero-cta:focus-visible:before,.hero-cta:active:before{animation:none;transform:scaleY(1);clip-path:polygon(0 0,9% 0,18% 0,29% 0,39% 0,50% 0,61% 0,72% 0,83% 0,92% 0,100% 0,100% 100%,0 100%)}}.intelligence-word{position:relative;display:inline-block;white-space:nowrap;isolation:isolate}.hero h1 .intelligence-word__base{position:relative;z-index:1;color:#000}.intelligence-word__base:before,.intelligence-word__base:after{content:attr(data-text);position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;clip-path:inset(0 0 100% 0)}.intelligence-word__base:before{color:var(--moroccan-cobalt);animation:intelligence-spark-cobalt 2.4s steps(1,end) infinite}.intelligence-word__base:after{color:var(--moroccan-cobalt);animation:intelligence-spark-terracotta 2.4s steps(1,end) infinite}.idea-fragment{position:absolute;z-index:2;left:0;color:var(--moroccan-cobalt);font-family:Manrope,DM Sans,sans-serif;font-size:.22em;font-weight:800;line-height:1;letter-spacing:.13em;white-space:nowrap;opacity:0;pointer-events:none;animation:idea-fragment-burst 2.4s steps(1,end) infinite}.idea-fragment--idea{top:-30%;left:13%;color:var(--moroccan-cobalt);--burst-dx:-22px;--burst-dy:-16px}.idea-fragment--pattern{top:-18%;left:57%;color:var(--moroccan-terracotta);--burst-dx:22px;--burst-dy:-13px;animation-delay:.1s}.idea-fragment--insight{top:100%;left:39%;color:var(--moroccan-cobalt);--burst-dx:12px;--burst-dy:18px;animation-delay:.2s}@keyframes intelligence-spark-cobalt{0%,to{opacity:0;transform:translate(0);clip-path:inset(0 0 100% 0)}2%,9%{opacity:.78;transform:translate(-3px,-1px) skew(-3deg);clip-path:inset(18% 0 66% 0)}10%,13%{opacity:0;clip-path:inset(0 0 100% 0)}15%,22%{opacity:.72;transform:translate(3px,1px) skew(2deg);clip-path:inset(62% 0 18% 0)}24%,28%{opacity:0;clip-path:inset(0 0 100% 0)}}@keyframes intelligence-spark-terracotta{0%,to{opacity:0;transform:translate(0);clip-path:inset(0 0 100% 0)}2%,9%{opacity:.7;transform:translate(3px,1px) skew(2deg);clip-path:inset(65% 0 14% 0)}10%,13%{opacity:0;clip-path:inset(0 0 100% 0)}15%,22%{opacity:.76;transform:translate(-3px,-1px) skew(-3deg);clip-path:inset(16% 0 64% 0)}24%,28%{opacity:0;clip-path:inset(0 0 100% 0)}}@keyframes idea-fragment-burst{0%,to{opacity:0;transform:translate(0) scale(.68);clip-path:inset(0 100% 0 0)}5%{opacity:.35;transform:translate(0) scale(.9);clip-path:inset(0 55% 0 0)}10%{opacity:1;transform:translate(0) scale(1.04);clip-path:inset(0 0 0 0)}15%{opacity:.4;transform:translate(2px,-1px) scale(.96);clip-path:inset(18% 0 0 0)}20%,27%{opacity:1;transform:translate(var(--burst-dx, 0),var(--burst-dy, 0)) scale(1);clip-path:inset(0 0 0 0)}34%{opacity:0;transform:translate(var(--burst-dx, 0),var(--burst-dy, 0)) scale(.92);clip-path:inset(0 0 0 0)}}@media(prefers-reduced-motion:reduce){.idea-fragment{display:none}.intelligence-word__base:before,.intelligence-word__base:after{display:none}}.work{padding-top:20px}.portrait-wrap{margin-top:14px}@media(min-width:1500px){.work{padding-top:0}.portrait-wrap{margin-top:17px}}@media(max-width:820px){.work{padding-top:22px}.portrait-wrap{margin-top:10px}}.project-discover-cue{position:absolute;left:-174px;top:50%;width:150px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;color:var(--moroccan-cobalt,#315f7a);font-family:inherit;font-size:12px;font-weight:600;line-height:1.45;transform:translateY(-50%);pointer-events:none}.project-discover-cue svg{width:100px;height:74px;overflow:visible;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transform:rotate(-3deg)}.project-discover-cue svg path:first-child{stroke-dasharray:160;stroke-dashoffset:0}.project-discover-cue span{color:var(--ink,#111);padding-left:3px}.case-card:focus-visible .project-discover-cue{color:var(--moroccan-terracotta,#c95336)}@media(max-width:820px){.project-discover-cue{position:static;width:auto;margin:10px 2px 0;flex-direction:column;align-items:center;gap:0;transform:none}.project-discover-cue svg{width:72px;height:52px;flex:none;transform:rotate(-70deg)}.project-discover-cue span{padding:0;font-size:11px;text-align:center}.case-card{display:flex;flex-direction:column}.case-image{order:0;width:100%}.project-discover-cue{order:1}}@media(prefers-reduced-motion:reduce){.project-discover-cue svg path:first-child{stroke-dasharray:none}}.project-discover-cue--skillcheck{left:auto;right:-174px;align-items:flex-end;color:#b0d600;text-align:right}.project-discover-cue--skillcheck svg{width:124px;height:74px;transform:rotate(3deg)}.project-discover-cue--skillcheck span{padding-left:0;padding-right:3px}.project-discover-cue--teammates{color:var(--moroccan-cobalt,#315f7a)}.project-discover-cue--teammates svg{width:138px;height:80px;transform:rotate(4deg)}@media(max-width:820px){.project-discover-cue--skillcheck{left:auto;right:auto;align-items:center;text-align:center}.project-discover-cue--skillcheck svg{width:82px;height:54px;transform:rotate(90deg)}.project-discover-cue--skillcheck span{padding:0}.project-discover-cue--teammates svg{width:88px;height:54px;transform:rotate(-70deg)}}.case-card-wrap{position:relative;width:95%;margin:0 auto 54px}.case-card-wrap .case-card{width:100%;margin:0}.project-discover-cue svg{stroke-width:2.8}.project-discover-cue--skillcheck{right:-174px}.case-card:focus-visible+.project-discover-cue{color:var(--moroccan-terracotta,#c95336)}@media(max-width:820px){.case-card-wrap{display:flex;flex-direction:column;width:100%;margin-bottom:35px}.case-card-wrap .case-card{width:100%;order:0}.case-card-wrap .project-discover-cue{position:static;order:1;margin-top:10px}.case-card-wrap .project-discover-cue--skillcheck,.case-card-wrap .project-discover-cue--teammates{right:auto}}.project-discover-cue svg{stroke-width:3.6;stroke-linecap:round;stroke-linejoin:round}.project-discover-cue .project-arrow-echo{stroke-width:1.8;opacity:.72}.project-discover-cue--skillcheck{color:#586d00}@media(max-width:820px){.project-discover-cue--teammates svg{width:100px;height:58px;transform:none}}@media(max-width:820px){.project-discover-cue--skillcheck svg{width:100px;height:58px;transform:none}}.project-discover-mobile-arrow,.project-discover-mobile-copy{display:none}@media(max-width:820px){.case-card-wrap .project-discover-cue{flex-direction:row;justify-content:center;align-items:center;gap:11px;width:100%;margin:14px 0 0;min-height:48px}.case-card-wrap .project-discover-cue>svg:not(.project-discover-mobile-arrow){display:none}.case-card-wrap .project-discover-cue>.project-discover-mobile-arrow{display:block;width:82px;height:42px;flex:none;overflow:visible;transform:none;stroke-width:3.4}.case-card-wrap .project-discover-cue .project-discover-desktop{display:none}.case-card-wrap .project-discover-cue .project-discover-mobile-copy{display:block;padding:0;color:var(--ink,#111);font-size:12px;font-weight:600;line-height:1.3;text-align:left;white-space:nowrap}.project-discover-cue--skillcheck{color:#586d00}}.project-discover-cue .project-discover-arrow{display:block;width:116px;height:60px;transform:none}.project-discover-cue--skillcheck .project-discover-arrow{width:124px;height:64px;transform:scaleX(-1)}.project-discover-cue--teammates .project-discover-arrow{width:138px;height:70px;transform:none}@media(max-width:820px){.case-card-wrap .project-discover-cue>.project-discover-arrow{display:none}.case-card-wrap .project-discover-cue>.project-discover-mobile-arrow{display:block;width:42px;height:82px;transform:none;flex:none}.case-card-wrap .project-discover-cue--skillcheck>.project-discover-mobile-arrow{transform:none}.case-card-wrap .project-discover-cue--teammates>.project-discover-mobile-arrow{transform:none}}@media(max-width:820px){.case-card-wrap--01 .project-discover-cue{transform:translate(-14px)}.case-card-wrap--01 .project-discover-mobile-arrow{transform:translateY(-6px)}.case-card-wrap--02 .project-discover-cue{flex-direction:row-reverse;transform:translate(14px)}.case-card-wrap--02 .project-discover-mobile-copy{text-align:right}.case-card-wrap--02 .project-discover-mobile-arrow{transform:translateY(7px)}.case-card-wrap--03 .project-discover-cue{transform:translate(-3px)}.case-card-wrap--03 .project-discover-mobile-arrow{transform:translateY(-3px)}}@media(max-width:820px){.case-card-wrap--01 .project-discover-cue{transform:translate(-34px)}.case-card-wrap--01 .project-discover-mobile-arrow{transform:translateY(-9px)}.case-card-wrap--02 .project-discover-cue{flex-direction:row-reverse;transform:translate(34px)}.case-card-wrap--02 .project-discover-mobile-copy{text-align:right}.case-card-wrap--02 .project-discover-mobile-arrow{transform:translateY(10px)}.case-card-wrap--03 .project-discover-cue{transform:translate(18px)}.case-card-wrap--03 .project-discover-mobile-arrow{transform:translateY(-2px)}}.portrait-media{position:relative;z-index:1;width:100%;height:100%;overflow:hidden}.portrait-poster,.portrait-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom}.portrait-poster,.portrait-video{display:block}@media(prefers-reduced-motion:reduce){.portrait-video{display:none}}.portrait-wrap:before{content:none}.hero{background:var(--moroccan-paper)}.portrait-wrap{isolation:isolate;width:330px;height:378px;margin-top:14px}.portrait-placeholder{z-index:1;height:100%;display:grid;place-items:center}.portrait-placeholder:before{content:"";position:absolute;z-index:0;left:50%;bottom:0;width:206px;height:310px;border-radius:48% 48% 7% 7%;background:linear-gradient(180deg,#d9d8d3 0%,#e9e7e0 64%,var(--moroccan-paper) 100%);filter:grayscale(1);transform:translate(-50%)}.portrait-placeholder span{z-index:1;margin-top:100px;color:#5b6060;font-size:9px;letter-spacing:.22em;opacity:.72}@media(min-width:1500px){.portrait-wrap{margin-top:17px}.portrait-placeholder:before{width:250px;height:320px}}@media(max-width:820px){.portrait-wrap{width:280px;height:315px;margin-top:10px}.portrait-placeholder:before{width:170px;height:248px}.portrait-placeholder span{margin-top:80px}}.floating-dock{position:fixed;z-index:30;left:50%;bottom:24px;display:flex;align-items:center;gap:2px;width:min(280px,calc(100vw - 32px));height:66px;padding:7px;overflow:hidden;border:1px solid #dededb;border-radius:999px;background:#f7f7f5f0;box-shadow:0 8px 26px #17181724,0 2px 5px #17181712;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,52px);transition:opacity .32s ease,transform .5s cubic-bezier(.16,1,.3,1),visibility .32s}.floating-dock.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%)}.dock-link{display:flex;flex:1 1 0;min-width:0;height:50px;align-items:center;justify-content:center;gap:0;overflow:hidden;border-radius:999px;color:#343735;font-size:12px;font-weight:500;white-space:nowrap;transition:flex-grow .34s cubic-bezier(.16,1,.3,1),flex-basis .34s cubic-bezier(.16,1,.3,1),gap .24s ease,background-color .18s ease,color .18s ease}.dock-link svg{width:21px;height:21px;flex:none;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.dock-link span{max-width:0;overflow:hidden;opacity:0;transition:max-width .28s ease,opacity .18s ease}.dock-link:hover,.dock-link:focus-visible{flex:0 0 108px;gap:7px;background:#171817;color:#fff}.dock-link:hover span,.dock-link:focus-visible span{max-width:76px;opacity:1}.dock-link:focus-visible{outline:2px solid var(--moroccan-terracotta);outline-offset:2px}.has-floating-dock footer{margin-bottom:92px}@media(max-width:820px){.floating-dock{bottom:calc(14px + env(safe-area-inset-bottom));width:min(276px,calc(100vw - 28px));height:64px}.dock-link{height:48px}.dock-link:hover,.dock-link:focus-visible{flex-basis:104px}}@media(prefers-reduced-motion:reduce){.floating-dock,.dock-link,.dock-link span{transition:none}}.project-detail--standalone,.project-detail--snipay{display:block;position:relative;min-height:100vh;padding:clamp(24px,5vw,70px);background:var(--moroccan-paper)}.project-detail--standalone .project-detail-back,.project-detail--snipay .project-detail-back{margin-bottom:clamp(34px,6vh,66px)}.snipay-case{max-width:1120px;margin:0 auto;padding-bottom:28px}.snipay-case-intro{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:32px;margin-bottom:36px}.snipay-case-intro h2{margin:0;color:#111;font-family:Manrope,DM Sans,sans-serif;font-size:clamp(66px,12vw,132px);font-weight:750;line-height:.78;letter-spacing:-.075em}.snipay-case-intro h2 span{position:relative;display:inline-block;width:.15em;color:transparent}.snipay-case-intro h2 span:after{position:absolute;top:78%;left:50%;width:.14em;aspect-ratio:1;border-radius:50%;background:var(--moroccan-cobalt);content:"";transform:translate(-50%,-50%)}.snipay-case-summary{max-width:510px;padding-bottom:4px}.snipay-case-summary p{margin:0 0 14px;color:#222;font-size:clamp(20px,2.6vw,30px);line-height:1.25;letter-spacing:-.035em}.snipay-case-summary>span{color:#727775;font-size:12px;line-height:1.7}.snipay-project-facts{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:18px;color:#575e5b;font-size:11px}.snipay-project-facts span+span:before{content:"·";margin-right:18px;color:var(--moroccan-terracotta)}.snipay-overview{display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:clamp(36px,8vw,108px);padding:clamp(48px,8vw,96px) 4px;border-top:1px solid var(--moroccan-line);border-bottom:1px solid var(--moroccan-line)}.snipay-overview-copy h3,.snipay-contribution-heading h3,.snipay-approach h3{margin:0;color:#202321;font-family:Manrope,DM Sans,sans-serif;font-size:clamp(28px,4vw,46px);line-height:1.04;letter-spacing:-.04em}.snipay-overview-copy p,.snipay-approach p{max-width:48ch;margin:18px 0 0;color:#555b5a;font-size:15px;line-height:1.7}.snipay-live-link{display:inline-flex;align-items:center;gap:8px;margin-top:20px;color:var(--moroccan-cobalt);font-size:13px;font-weight:650;text-decoration:underline;text-underline-offset:5px;transition:color .18s ease,gap .18s ease}.snipay-live-link svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.snipay-live-link:hover{gap:12px;color:#173e59}.snipay-live-link:focus-visible{outline:2px solid var(--moroccan-cobalt);outline-offset:4px;border-radius:3px}.snipay-journey-visual{display:flex;align-items:center;justify-content:center;gap:clamp(8px,1.5vw,20px);min-height:210px;padding:22px 12px;border-radius:18px;background:var(--moroccan-sand)}.snipay-journey-node{display:flex;min-width:72px;flex-direction:column;align-items:center;gap:6px;text-align:center}.snipay-journey-mark{display:grid;place-items:center;width:42px;height:42px;margin-bottom:4px;border:1px solid #e4dfd5;border-radius:13px;background:#fff;color:#4285f4;font-size:22px;font-weight:700}.snipay-journey-node--search{min-width:0;gap:6px}.snipay-search-frame{position:relative;display:block;flex:0 0 auto;width:88px;height:88px;overflow:hidden;margin:0 0 4px;border:1px solid #e4dfd5;border-radius:16px;background:#fff;box-shadow:0 5px 18px #1f2c3614}.snipay-search-slide{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-radius:inherit;background:#fff}.snipay-search-slide img{display:block;width:42px;height:42px;object-fit:contain}.snipay-search-slide span{max-width:90%;overflow:hidden;color:#39423e;font-size:10px;font-weight:600;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.snipay-search-slide--enter{animation:snipay-search-enter .46s cubic-bezier(.16,1,.3,1) both}.snipay-search-slide--exit{animation:snipay-search-exit .46s cubic-bezier(.7,0,.84,0) both}@keyframes snipay-search-enter{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes snipay-search-exit{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}.snipay-journey-mark--calendly{display:flex;width:88px;height:88px;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-color:#d7e6ff;border-radius:16px;background:#fff}.snipay-journey-mark--calendly img{display:block;width:38px;height:38px;object-fit:contain}.snipay-journey-calendly-label{color:#315b78;font-size:10px;font-weight:650;line-height:1}.snipay-journey-node--site .snipay-journey-mark--logo{width:88px;height:88px;margin-bottom:4px;border:0;border-radius:16px;background:#050505;overflow:hidden}.snipay-journey-logo{display:block;width:100%;height:100%;border-radius:inherit;object-fit:cover}.snipay-journey-node strong{color:#262b29;font-size:11px;font-weight:650}.snipay-journey-node small{color:#727775;font-size:10px}.snipay-journey-connector{width:clamp(14px,2vw,28px);height:1px;transform:translateY(-19px);background:var(--moroccan-terracotta)}.snipay-build{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(28px,7vw,84px);padding:clamp(48px,7vw,78px) 4px;border-bottom:1px solid var(--moroccan-line)}.snipay-build h3{margin:0;color:#202321;font-family:Manrope,DM Sans,sans-serif;font-size:clamp(25px,3.4vw,38px);line-height:1.05;letter-spacing:-.04em}.snipay-build p{max-width:62ch;margin:14px 0 0;color:#555b5a;font-size:14px;line-height:1.7}.snipay-tech-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:14px 10px;margin:0;padding:0;list-style:none}.snipay-tech-list li{display:flex;min-width:0;flex-direction:column;align-items:center;gap:9px;text-align:center;color:#39423e;font-size:10px;font-weight:550;line-height:1.3}.snipay-tech-list img{display:block;width:38px;height:38px;object-fit:contain}.snipay-tech-list li:nth-child(3) img{width:42px;height:42px}.snipay-contributions{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(28px,7vw,84px);padding:clamp(64px,9vw,104px) 4px}.snipay-contribution-heading p{max-width:28ch;margin:14px 0 0;color:#727775;font-size:13px;line-height:1.6}.snipay-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;margin:0;padding:0;list-style:none;border-top:1px solid var(--moroccan-line)}.snipay-service{display:grid;grid-template-columns:48px 1fr;align-items:start;gap:15px;padding:22px 0;border-bottom:1px solid var(--moroccan-line)}.snipay-service-mark{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--moroccan-line);border-radius:13px;background:#fff}.snipay-service-mark svg,.snipay-service-mark img{display:block;width:28px;height:28px;object-fit:contain}.snipay-service-letter{color:#315b78;font-size:24px;font-weight:750;letter-spacing:-.07em}.snipay-service-letter--language{font-size:14px;letter-spacing:-.04em}.snipay-service-letter--language span{margin-left:3px;color:var(--moroccan-terracotta)}.snipay-service h4{margin:1px 0 6px;color:#262b29;font-size:13px;font-weight:650}.snipay-service p{max-width:34ch;margin:0;color:#686e6b;font-size:12px;line-height:1.55}.snipay-service--development .snipay-service-mark{background:#10212b}.snipay-service--development .snipay-service-mark svg{width:25px;height:25px}.snipay-service--identity .snipay-service-mark{background:#f4f0e8}.snipay-social{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:clamp(30px,7vw,84px);padding:clamp(22px,3vw,34px) 4px clamp(64px,9vw,100px);border-top:1px solid var(--moroccan-line)}.snipay-social-copy h3{max-width:12ch;margin:0;color:#202321;font-family:Manrope,DM Sans,sans-serif;font-size:clamp(27px,3.6vw,40px);line-height:1.04;letter-spacing:-.04em}.snipay-social-copy p{max-width:52ch;margin:16px 0 0;color:#555b5a;font-size:14px;line-height:1.7}.snipay-social-copy .snipay-social-scope{margin-top:11px;color:#737977;font-size:12px}.snipay-social-board{padding:28px;border-radius:16px;background:var(--moroccan-sand)}.snipay-social-brand{display:flex;align-items:center;gap:12px 16px;flex-wrap:wrap;padding:2px 0 22px}.snipay-social-wordmark{color:#111;font-size:28px;font-weight:800;letter-spacing:-.08em}.snipay-social-wordmark span{color:var(--moroccan-cobalt)}.snipay-social-tagline{color:#686e6b;font-size:9px;letter-spacing:.13em}.snipay-social-colors{display:flex;gap:6px;margin-left:auto}.snipay-social-colors i{width:13px;height:13px;border-radius:50%;background:#06f}.snipay-social-colors i:nth-child(2){background:#0a2540}.snipay-social-colors i:nth-child(3){background:#f6f9fc;border:1px solid #dce3ea}.snipay-social-platforms{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:18px 0 0;border-top:1px solid #315b7820;list-style:none}.snipay-social-platforms li{display:flex;flex-direction:column;align-items:center;gap:9px;color:#4d5551;font-size:10px}.snipay-platform-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#fff;color:#315b78;font-size:23px;font-weight:750;line-height:1}.snipay-platform-mark svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.snipay-platform-mark--instagram{color:#a95770}.snipay-platform-mark--instagram .snipay-platform-dot{fill:currentColor;stroke:none}.snipay-platform-mark--facebook{color:#1877f2}.snipay-platform-mark--linkedin{color:#0a66c2;font-size:17px}.snipay-platform-mark--x{color:#171717}.snipay-platform-mark--x svg{width:19px;height:19px;stroke-width:1.9}.snipay-approach{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(28px,7vw,84px);align-items:start;padding:28px 4px 72px;border-top:1px solid var(--moroccan-line)}.snipay-approach h3{font-size:clamp(23px,3vw,32px)}.snipay-case-end{display:flex;align-items:center;justify-content:space-between;padding-top:22px;border-top:1px solid var(--moroccan-line);color:#777;font-size:11px}.snipay-case-end .project-detail-back{margin:0}@media(max-width:820px){.project-detail--standalone,.project-detail--snipay{padding:22px 15px 30px}.project-detail--standalone .project-detail-back,.project-detail--snipay .project-detail-back{margin-bottom:42px}.snipay-case-intro{grid-template-columns:1fr;gap:22px;margin-bottom:30px}.snipay-case-intro h2{font-size:clamp(70px,19vw,110px)}.snipay-case-summary p{font-size:22px}.snipay-case-summary>span{font-size:11px}.snipay-overview{grid-template-columns:1fr;gap:30px;padding:48px 2px}.snipay-journey-visual{min-height:175px;padding-inline:6px;gap:8px}.snipay-journey-node{min-width:58px}.snipay-search-frame,.snipay-journey-node--site .snipay-journey-mark--logo,.snipay-journey-mark--calendly{width:88px;height:88px}.snipay-search-slide img,.snipay-journey-mark--calendly img{width:42px;height:42px}.snipay-search-slide span{font-size:9px}.snipay-journey-connector{width:12px}.snipay-build{grid-template-columns:1fr;gap:24px;padding:48px 2px}.snipay-tech-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px 4px}.snipay-tech-list img{width:32px;height:32px}.snipay-tech-list li:nth-child(3) img{width:35px;height:35px}.snipay-tech-list li{font-size:9px}.snipay-contributions{grid-template-columns:1fr;gap:24px;padding:58px 2px}.snipay-service-grid{grid-template-columns:1fr}.snipay-service{padding:16px 0}.snipay-social{grid-template-columns:1fr;gap:24px;padding:24px 2px 58px}.snipay-social-copy h3{max-width:14ch}.snipay-social-board{padding:23px 17px}.snipay-social-platforms{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.snipay-social-platforms li{font-size:9px}.snipay-approach{grid-template-columns:1fr;gap:8px;padding:23px 2px 54px}.snipay-approach p{margin-top:8px}.snipay-case-end{padding-top:18px}.project-detail--standalone .project-detail-image{border-radius:13px}}@media(max-width:380px){.snipay-journey-visual{gap:5px;padding-inline:4px}.snipay-journey-node{min-width:52px}.snipay-search-frame,.snipay-journey-node--site .snipay-journey-mark--logo,.snipay-journey-mark--calendly{width:72px;height:72px}.snipay-search-slide img,.snipay-journey-mark--calendly img{width:34px;height:34px}.snipay-journey-connector{width:10px}}.project-detail--teammates .teammates-case{--teammates-ink:#202b30;--teammates-blue:#315f7a;--teammates-mist:#e9eff0}.project-detail--teammates .teammates-intro h2{display:flex;align-items:center;gap:clamp(12px,1.8vw,22px);color:#111;font-size:clamp(58px,9.6vw,112px);letter-spacing:-.075em}.project-detail--teammates .teammates-intro h2 img{width:clamp(66px,8.5vw,100px);height:clamp(66px,8.5vw,100px);flex:none;border-radius:50%;object-fit:contain}.project-detail--teammates .teammates-case .snipay-case-summary>span{max-width:50ch}.teammates-overview{grid-template-columns:1fr .92fr}.teammates-overview .snipay-overview-copy h3{max-width:14ch}.teammates-principle{display:grid;grid-template-rows:1fr auto;align-content:stretch;gap:12px;padding:15px;border:1px solid #e2dfd5;border-radius:18px;background:#f3f0e8}.teammates-collaboration-image{display:block;width:100%;aspect-ratio:3/2;border-radius:12px;object-fit:cover}.teammates-principle>p{display:grid;place-items:center;align-self:stretch;max-width:none;min-height:42px;margin:0;color:#667275;font-size:10px;line-height:1.45;text-align:center}.teammates-problem,.teammates-assessment,.teammates-evidence{display:grid;grid-template-columns:.8fr 1.2fr;gap:26px 58px;padding:clamp(52px,7vw,82px) 4px;border-bottom:1px solid var(--moroccan-line)}.teammates-section-heading h3{margin:0;color:#202321;font-family:Manrope,DM Sans,sans-serif;font-size:clamp(25px,3.4vw,38px);line-height:1.05;letter-spacing:-.04em}.teammates-section-heading p{max-width:34ch;margin:13px 0 0;color:#555b5a;font-size:14px;line-height:1.65}.teammates-challenge-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;border-top:1px solid var(--moroccan-line)}.teammates-challenge-grid article{padding:19px 0;border-bottom:1px solid var(--moroccan-line)}.teammates-challenge-grid article>span,.teammates-approach-number{color:var(--teammates-blue);font-size:10px;font-weight:700;letter-spacing:.08em}.teammates-challenge-grid h4,.teammates-approach-list h4{margin:10px 0 6px;color:#262b29;font-size:14px;font-weight:650}.teammates-challenge-grid p,.teammates-approach-list p{max-width:36ch;margin:0;color:#686e6b;font-size:12px;line-height:1.6}.teammates-how{display:grid;grid-template-columns:.8fr 1.2fr;gap:26px 58px;padding:clamp(52px,7vw,82px) 4px;border-bottom:1px solid var(--moroccan-line)}.teammates-how-list{display:grid;grid-column:2;grid-template-columns:1fr 1fr;gap:0 24px;margin:0;padding:0;border-top:1px solid var(--moroccan-line);list-style:none}.teammates-how-list li{display:grid;grid-template-columns:38px 1fr;align-items:start;gap:11px;padding:19px 0;border-bottom:1px solid var(--moroccan-line)}.teammates-how-icon{display:grid;place-items:center;width:36px;height:36px;border:1px solid #d9e2e3;border-radius:12px;background:#fff;color:var(--teammates-blue)}.teammates-how-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.teammates-how-copy{display:grid;gap:6px}.teammates-how-copy small{color:var(--teammates-blue);font-size:8px;font-weight:700;letter-spacing:.09em}.teammates-how-copy strong{color:#262b29;font-size:13px;font-weight:650;line-height:1.35}.teammates-how-copy p{margin:0;color:#686e6b;font-size:11px;line-height:1.55}.teammates-build{grid-template-columns:.95fr 1.05fr}.teammates-build p+p{margin-top:9px}.teammates-tech-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:16px 10px;margin:0;padding:0;list-style:none}.teammates-tech-list li{display:flex;min-width:0;flex-direction:column;align-items:center;gap:9px;color:#39423e;font-size:10px;font-weight:550;line-height:1.3;text-align:center}.teammates-tech-list li>span{display:grid;place-items:center;width:52px;height:52px;padding:9px;border:1px solid var(--moroccan-line);border-radius:14px;background:#fff}.teammates-tech-list img{display:block;width:100%;height:100%;object-fit:contain}.teammates-tech-list strong{font-size:10px;font-weight:600}.teammates-assessment{border-bottom:0}.teammates-assessment>.teammates-section-heading{align-self:start}.teammates-approach-list{grid-column:2;display:grid;grid-template-columns:1fr;margin:0;padding:0;border-top:1px solid var(--moroccan-line);list-style:none}.teammates-approach-list li{display:grid;grid-template-columns:30px 1fr 38px;align-items:center;gap:12px;padding:18px 0;border-bottom:1px solid var(--moroccan-line)}.teammates-approach-list h4{margin:0 0 6px}.teammates-approach-symbol{display:grid;place-items:center;width:36px;height:36px;border:1px solid #d9e2e3;border-radius:12px;background:#fff;color:var(--teammates-blue);font-family:Manrope,DM Sans,sans-serif;font-size:16px;font-weight:700}.teammates-verification-note{grid-column:2;margin:0;color:#777f7e;font-size:11px;line-height:1.55}.teammates-evidence{align-items:start;border-top:1px solid var(--moroccan-line)}.teammates-evidence-placeholder{display:grid;min-height:260px;align-content:center;justify-items:center;gap:12px;padding:28px;border:1px dashed #b7c8cc;border-radius:16px;background:#f0f3f1;text-align:center}.teammates-placeholder-icon{display:grid;place-items:center;width:58px;height:58px;border:1px solid #d7e1e2;border-radius:17px;background:#fff;color:var(--teammates-blue)}.teammates-placeholder-icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.teammates-evidence-placeholder strong{color:var(--teammates-ink);font-family:Manrope,DM Sans,sans-serif;font-size:15px}.teammates-evidence-placeholder>span{color:#687372;font-size:11px;line-height:1.5}.teammates-contributions{padding-top:clamp(55px,7vw,82px)}.teammates-contribution-mark{width:44px;height:44px;border:1px solid #e4dfd5!important;border-radius:13px!important;background:#fff!important;color:#315f7a}.teammates-contribution-mark svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.teammates-service--1 .teammates-contribution-mark,.teammates-service--2 .teammates-contribution-mark,.teammates-service--3 .teammates-contribution-mark,.teammates-service--4 .teammates-contribution-mark{color:#315f7a}.teammates-approach{padding-top:26px}@media(max-width:820px){.project-detail--teammates{padding:22px 15px 30px}.project-detail--teammates .project-detail-back{margin-bottom:42px}.project-detail--teammates .teammates-intro h2{gap:10px;font-size:clamp(43px,11.2vw,76px)}.project-detail--teammates .teammates-intro h2 img{width:clamp(48px,13vw,68px);height:clamp(48px,13vw,68px);border-radius:50%}.teammates-overview{grid-template-columns:1fr;gap:28px;padding:48px 2px}.teammates-principle{padding:12px}.teammates-problem,.teammates-how,.teammates-assessment,.teammates-evidence,.teammates-build{grid-template-columns:1fr;gap:22px;padding:48px 2px}.teammates-challenge-grid,.teammates-how-list{grid-template-columns:1fr}.teammates-how-list,.teammates-approach-list,.teammates-verification-note{grid-column:1}.teammates-tech-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 6px}.teammates-tech-list li>span{width:46px;height:46px}.teammates-evidence-placeholder{min-height:210px}.project-detail--teammates .teammates-approach{grid-template-columns:1fr;gap:8px;padding:23px 2px 54px}}.project-detail--skillcheck{display:block;position:relative;min-height:100vh;padding:clamp(24px,5vw,70px);background:var(--moroccan-paper)}.project-detail--skillcheck .snipay-case-intro h2 span:after{background:#a9cf00}.project-detail--skillcheck .snipay-case-intro h2{color:#a9cf00;font-size:clamp(56px,9vw,106px);letter-spacing:-.075em}.project-detail--skillcheck .snipay-case-summary>span{max-width:48ch}.skillcheck-overview{grid-template-columns:.92fr 1.08fr}.skillcheck-overview .snipay-overview-copy h3{max-width:13ch}.skillcheck-flow{display:grid;grid-template-columns:1fr 28px 1fr 28px 1fr;align-items:center;gap:8px;min-height:230px;padding:25px 20px;border-radius:18px;background:#180c2f;color:#f7f8f3}.skillcheck-flow-node{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:7px}.skillcheck-flow-node small,.skillcheck-response-visual small{color:#c4d886;font-size:8px;font-weight:700;letter-spacing:.13em}.skillcheck-flow-node strong{font-family:Manrope,DM Sans,sans-serif;font-size:15px;line-height:1.1}.skillcheck-flow-node>span:last-child{color:#c4c0d0;font-size:9px;line-height:1.35}.skillcheck-flow-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:8px;border:1px solid #ffffff2a;border-radius:13px;background:#ffffff0b;font-size:11px;font-weight:800}.skillcheck-flow-icon--sheet{color:#c6ef24}.skillcheck-flow-icon--live{display:flex;align-items:center;justify-content:center;gap:4px}.skillcheck-flow-icon--live i{width:4px;height:15px;border-radius:5px;background:#00e8ed}.skillcheck-flow-icon--live i:nth-child(2){height:22px}.skillcheck-flow-icon--live i:nth-child(3){height:10px}.skillcheck-flow-link{position:relative;height:1px;background:#94aa40}.skillcheck-flow-link i{position:absolute;top:-3px;right:0;width:6px;height:6px;border-top:1px solid #c6ef24;border-right:1px solid #c6ef24;transform:rotate(45deg)}.skillcheck-flow-chart{display:flex;height:42px;align-items:end;gap:4px;padding:7px 8px;border:1px solid #ffffff2a;border-radius:13px;background:#ffffff0b}.skillcheck-flow-chart i{width:5px;border-radius:3px 3px 1px 1px;background:#c6ef24}.skillcheck-flow-chart i:nth-child(1){height:12px}.skillcheck-flow-chart i:nth-child(2){height:23px;background:#00e8ed}.skillcheck-flow-chart i:nth-child(3){height:17px}.skillcheck-flow-chart i:nth-child(4){height:9px;background:#b388ff}.skillcheck-session{display:grid;grid-template-columns:.75fr 1.25fr;gap:25px 55px;padding:clamp(52px,7vw,82px) 4px;border-bottom:1px solid var(--moroccan-line)}.skillcheck-section-heading h3{margin:0;color:#202321;font-family:Manrope,DM Sans,sans-serif;font-size:clamp(25px,3.4vw,38px);line-height:1.05;letter-spacing:-.04em}.skillcheck-section-heading p{max-width:32ch;margin:13px 0 0;color:#555b5a;font-size:14px;line-height:1.65}.skillcheck-session-steps{grid-column:2;grid-row:1 / span 2;display:grid;grid-template-columns:1fr 1fr;gap:0 28px;margin:0;padding:0;border-top:1px solid var(--moroccan-line);list-style:none}.skillcheck-session-steps li{display:grid;grid-template-columns:32px 1fr;align-items:baseline;gap:7px 10px;padding:18px 0;border-bottom:1px solid var(--moroccan-line)}.skillcheck-session-steps li>span{color:#657b05;font-size:10px;font-weight:700;letter-spacing:.06em}.skillcheck-session-steps strong{color:#202321;font-size:13px;font-weight:650}.skillcheck-session-steps p{grid-column:2;margin:0;color:#686e6b;font-size:11px;line-height:1.55}.skillcheck-response-visual{grid-column:1;grid-row:2;align-self:end;padding:19px;border-radius:15px;background:#180c2f;color:#fff}.skillcheck-response-visual>div:first-child{display:flex;flex-direction:column;gap:7px}.skillcheck-response-visual>div:first-child strong{font-family:Manrope,DM Sans,sans-serif;font-size:14px;line-height:1.25}.skillcheck-bars{display:flex;height:100px;align-items:end;gap:10px;margin-top:18px;border-bottom:1px solid #ffffff33}.skillcheck-bars>span{position:relative;display:flex;flex:1;height:100%;flex-direction:column;align-items:center;justify-content:end;gap:6px}.skillcheck-bars i{width:100%;max-width:30px;border-radius:5px 5px 0 0;background:#b6dc00}.skillcheck-bars>span:nth-child(2) i{background:#00dbe9}.skillcheck-bars>span:nth-child(3) i{background:#b388ff}.skillcheck-bars>span:nth-child(4) i{background:#ff4d6d}.skillcheck-bars b{position:absolute;bottom:-17px;left:50%;color:#e8e4ef;font-size:9px;transform:translate(-50%)}.skillcheck-response-visual>p{margin:17px 0 0;color:#c4c0d0;font-size:10px;line-height:1.5}.skillcheck-build{grid-template-columns:.95fr 1.05fr}.skillcheck-build p+p{margin-top:9px}.skillcheck-tech-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:0;margin:0;padding:0;border-top:1px solid var(--moroccan-line);list-style:none}.skillcheck-tech{display:flex;min-height:77px;align-items:center;gap:9px;padding:11px 7px;border-bottom:1px solid var(--moroccan-line)}.skillcheck-tech>span{display:grid;place-items:center;width:31px;height:31px;flex:none;border-radius:9px;background:#180c2f;color:#c6ef24;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700}.skillcheck-tech strong{color:#39423e;font-size:10px;font-weight:600;line-height:1.25}.skillcheck-tech--2>span{color:#00dbe9}.skillcheck-tech--3>span{color:#e7e7ed}.skillcheck-tech--4>span{color:#00e676}.skillcheck-tech--5>span{color:#3b82f6}.skillcheck-tech--6>span{color:#b388ff}.skillcheck-tech--7>span{color:#38bdf8}.skillcheck-contributions{padding-top:clamp(55px,7vw,82px)}.skillcheck-contribution-list{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;margin:0;padding:0;border-top:1px solid var(--moroccan-line);list-style:none}.skillcheck-contribution-list li{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:19px 0;border-bottom:1px solid var(--moroccan-line)}.skillcheck-contribution-list li>span{padding-top:2px;color:#71890a;font-size:9px;font-weight:700;letter-spacing:.08em}.skillcheck-contribution-list h4{margin:0 0 6px;color:#262b29;font-size:13px;font-weight:650}.skillcheck-contribution-list p{max-width:38ch;margin:0;color:#686e6b;font-size:11px;line-height:1.55}.skillcheck-approach{padding-top:26px}.project-detail--skillcheck .skillcheck-intro h2{display:flex;align-items:center;gap:clamp(10px,1.5vw,20px)}.project-detail--skillcheck .skillcheck-intro h2 img{width:clamp(32px,5vw,60px);height:clamp(42px,6vw,72px);object-fit:contain}.project-detail--skillcheck .skillcheck-intro h2 span{display:inline-block;width:.14em;height:.14em;align-self:flex-end;margin:0 0 .08em;padding:0;border:0;border-radius:50%;background:#a9cf00;color:transparent;font-size:0;line-height:0}.project-detail--skillcheck .skillcheck-intro h2 span:after{display:none}.skillcheck-flow{grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr) 30px minmax(0,1fr);gap:10px;padding:28px 24px}.skillcheck-flow-node{align-items:center;text-align:center;gap:8px}.skillcheck-flow-icon{width:74px;height:74px;margin:0 0 7px;border-radius:18px;background:#ffffff10}.skillcheck-flow-icon svg,.skillcheck-session-steps li>span svg,.skillcheck-contribution-list li>span svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.skillcheck-flow-icon svg{color:#c6ef24}.skillcheck-flow-node strong{font-size:16px}.skillcheck-flow-node>span:last-child{max-width:18ch;font-size:10px}.skillcheck-flow-link{width:100%}.skillcheck-session{grid-template-columns:.8fr 1.2fr;align-items:start}.skillcheck-session-steps{grid-column:2;grid-row:1;gap:0 30px}.skillcheck-session-steps li{grid-template-columns:38px 1fr;align-items:start;gap:8px 12px;padding:21px 0}.skillcheck-session-steps li>span{display:grid;place-items:center;width:34px;height:34px;color:#6e8700}.skillcheck-session-steps li>span svg{width:30px;height:30px}.skillcheck-session-steps strong{padding-top:4px;font-size:14px}.skillcheck-session-steps p{font-size:12px;line-height:1.6}.skillcheck-response-visual{grid-column:1;grid-row:2;align-self:start;margin-top:6px}.skillcheck-tech-list{grid-template-columns:repeat(5,minmax(0,1fr));border-top:0}.skillcheck-tech{min-height:94px;flex-direction:column;justify-content:center;gap:10px;padding:12px 6px;border:0;text-align:center}.skillcheck-tech img{width:42px;height:42px;object-fit:contain}.skillcheck-tech strong{font-size:11px}.skillcheck-tech:nth-child(2) img{width:56px;height:42px}.skillcheck-stack-more{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 0;color:#58605c;font-size:11px}.skillcheck-stack-more span{padding:5px 9px;border:1px solid var(--moroccan-line);border-radius:999px;color:#39423e}.skillcheck-contribution-list li{grid-template-columns:36px 1fr;gap:12px}.skillcheck-contribution-list li>span{display:grid;place-items:start center;padding-top:0;color:#71890a}.skillcheck-contribution-list li>span svg{width:25px;height:25px}@media(max-width:820px){.project-detail--skillcheck .skillcheck-intro h2{gap:10px}.project-detail--skillcheck .skillcheck-intro h2 img{width:32px;height:42px}.skillcheck-flow{grid-template-columns:minmax(0,1fr) 15px minmax(0,1fr) 15px minmax(0,1fr);gap:4px;padding:17px 10px;min-height:200px}.skillcheck-flow-icon{width:48px;height:48px;border-radius:13px}.skillcheck-flow-icon svg{width:27px;height:27px}.skillcheck-flow-node strong{font-size:11px}.skillcheck-flow-node>span:last-child{font-size:8px}.skillcheck-flow-node small{font-size:7px}.skillcheck-session-steps{grid-column:1;grid-row:auto;gap:0 18px}.skillcheck-response-visual{grid-column:1;grid-row:auto}.skillcheck-tech-list{grid-template-columns:repeat(3,minmax(0,1fr))}.skillcheck-tech{min-height:82px}.skillcheck-tech img{width:34px;height:34px}.skillcheck-tech:nth-child(2) img{width:47px;height:34px}}@media(max-width:820px){.project-detail--skillcheck{padding:22px 15px 30px}.project-detail--skillcheck .snipay-case-intro h2{font-size:clamp(52px,14vw,82px)}.skillcheck-overview{grid-template-columns:1fr;gap:28px;padding:48px 2px}.skillcheck-flow{grid-template-columns:1fr 18px 1fr 18px 1fr;gap:4px;padding:19px 12px;min-height:190px}.skillcheck-flow-icon{width:36px;height:36px}.skillcheck-flow-node strong{font-size:12px}.skillcheck-flow-node>span:last-child{font-size:8px}.skillcheck-flow-node small{font-size:7px}.skillcheck-session{grid-template-columns:1fr;gap:23px;padding:48px 2px}.skillcheck-session-steps{grid-column:1;grid-row:auto;gap:0 18px}.skillcheck-response-visual{grid-column:1;grid-row:auto}.skillcheck-build{grid-template-columns:1fr;gap:24px;padding:48px 2px}.skillcheck-tech-list{grid-template-columns:repeat(2,minmax(0,1fr))}.skillcheck-contributions{grid-template-columns:1fr;gap:24px;padding:54px 2px}.skillcheck-contribution-list{grid-template-columns:1fr}.skillcheck-approach{grid-template-columns:1fr;gap:8px;padding:23px 2px 48px}}@media(max-width:820px){.skillcheck-flow{grid-template-columns:minmax(0,1fr) 15px minmax(0,1fr) 15px minmax(0,1fr);gap:4px;padding:17px 10px;min-height:200px}.skillcheck-flow-icon{width:48px;height:48px}.skillcheck-session{grid-template-columns:1fr}.skillcheck-session-steps{grid-column:1;grid-row:auto;gap:0 18px}.skillcheck-response-visual{grid-column:1;grid-row:auto}.skillcheck-tech-list{grid-template-columns:repeat(3,minmax(0,1fr))}.skillcheck-tech{min-height:82px}.skillcheck-tech img{width:34px;height:34px}.skillcheck-tech:nth-child(2) img{width:47px;height:34px}}@media(prefers-reduced-motion:reduce){.snipay-search-slide--enter,.snipay-search-slide--exit{animation:none}}.skillcheck-session-gallery{grid-column:1/-1;display:grid;grid-template-columns:1.8fr 1fr;align-items:stretch;gap:24px;margin-top:12px}.skillcheck-screen{min-width:0;margin:0;overflow:hidden;border:1px solid #302244;border-radius:15px;background:#10091c}.skillcheck-image-button{display:block;width:100%;padding:0;border:0;background:#10091c;cursor:pointer}.skillcheck-screen img{display:block;width:100%;height:auto}.skillcheck-screen--live{display:flex;flex-direction:column;justify-content:center}.skillcheck-screen--live .skillcheck-image-button{margin-block:auto}.skillcheck-screen figcaption{padding:12px 14px;background:var(--moroccan-paper);color:#4f5653;font-size:11px;line-height:1.5}.skillcheck-tech>span.skillcheck-tech-logo{display:grid;place-items:center;width:58px;height:58px;padding:8px;border:1px solid var(--moroccan-line);border-radius:13px;background:#fff;color:inherit;font-size:0}.skillcheck-tech-logo img{width:100%;height:100%;object-fit:contain}.skillcheck-tech:nth-child(2) .skillcheck-tech-logo img{width:100%;height:100%}.skillcheck-contribution-list li>span{place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--moroccan-line);border-radius:12px;background:#fff;color:#26332e}.skillcheck-contribution-list li>span svg{width:21px;height:21px}@media(min-width:761px){.skillcheck-tech-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:820px){.skillcheck-session-gallery{grid-template-columns:1fr;gap:20px;margin-top:0}.skillcheck-tech>span.skillcheck-tech-logo{width:50px;height:50px}}@media(hover:hover)and (pointer:fine){.skillcheck-image-button{cursor:none}}.project-detail--snipay .project-detail-back{font-size:14px}.project-detail--snipay .snipay-case-summary>span{font-size:14px}.project-detail--snipay .snipay-project-facts{font-size:13px}.project-detail--snipay .snipay-overview-copy p,.project-detail--snipay .snipay-approach p{font-size:17px;line-height:1.7}.project-detail--snipay .snipay-journey-node strong{font-size:13px}.project-detail--snipay .snipay-journey-node small,.project-detail--snipay .snipay-search-slide span,.project-detail--snipay .snipay-journey-calendly-label{font-size:12px}.project-detail--snipay .snipay-build p,.project-detail--snipay .snipay-social-copy p{font-size:16px;line-height:1.7}.project-detail--snipay .snipay-tech-list li{font-size:12px}.project-detail--snipay .snipay-contribution-heading p,.project-detail--snipay .snipay-service h4{font-size:15px}.project-detail--snipay .snipay-service p{font-size:14px;line-height:1.65}.project-detail--snipay .snipay-social-scope{font-size:14px}.project-detail--snipay .snipay-case-end{font-size:13px}.project-detail--snipay .skillcheck-flow-node small,.project-detail--snipay .skillcheck-response-visual small{font-size:10px}.project-detail--snipay .skillcheck-flow-node strong{font-size:17px}.project-detail--snipay .skillcheck-flow-node>span:last-child{font-size:12px}.project-detail--snipay .skillcheck-session-steps strong{font-size:16px}.project-detail--snipay .skillcheck-session-steps p{font-size:14px;line-height:1.6}.project-detail--snipay .skillcheck-tech strong{font-size:13px}.project-detail--snipay .skillcheck-contribution-list h4{font-size:15px}.project-detail--snipay .skillcheck-contribution-list p{font-size:13px;line-height:1.6}.project-detail--snipay .skillcheck-screen figcaption{font-size:13px}.project-detail--snipay .skillcheck-response-visual>p{font-size:12px}.project-detail--snipay .teammates-principle>p{font-size:12px}.project-detail--snipay .teammates-section-heading p{font-size:16px}.project-detail--snipay .teammates-challenge-grid article>span{font-size:12px}.project-detail--snipay .teammates-challenge-grid h4{font-size:16px}.project-detail--snipay .teammates-challenge-grid p,.project-detail--snipay .teammates-how-copy p{font-size:14px;line-height:1.6}.project-detail--snipay .teammates-how-copy small{font-size:10px}.project-detail--snipay .teammates-how-copy strong{font-size:15px}.project-detail--snipay .teammates-tech-list li,.project-detail--snipay .teammates-tech-list strong{font-size:12px}.project-detail--snipay .teammates-evidence-placeholder strong{font-size:17px}.project-detail--snipay .teammates-evidence-placeholder>span{font-size:13px}.project-detail--standalone .project-detail-back,.project-detail--standalone .project-detail-heading p{font-size:14px}.project-detail--standalone .project-detail-description{font-size:17px;line-height:1.7}.teammates-evidence{grid-template-columns:.8fr 1.2fr;gap:26px 58px}.teammates-evidence>.teammates-section-heading{position:sticky;top:36px;align-self:start}.teammates-evidence-gallery{grid-column:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.teammates-evidence-screen{display:flex;min-width:0;flex-direction:column;margin:0;overflow:hidden;border:1px solid #dce2e8;border-radius:15px;background:#fff;box-shadow:0 9px 28px #1f31400b}.teammates-evidence-screen--wide{grid-column:1/-1}.teammates-evidence-screen img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:top center;background:#f5f8fb}.teammates-evidence-screen figcaption{display:grid;gap:6px;padding:15px 17px 17px}.teammates-evidence-screen figcaption>span{color:var(--teammates-blue);font-size:10px;font-weight:750;letter-spacing:.1em}.teammates-evidence-screen figcaption strong{color:var(--teammates-ink);font-family:Manrope,DM Sans,sans-serif;font-size:15px;line-height:1.4}.teammates-evidence-screen figcaption p{margin:0;color:#687372;font-size:13px;line-height:1.55}.teammates-how-list{position:relative}.teammates-how-arrow{position:absolute;z-index:1;overflow:visible;width:38px;height:20px;fill:none;stroke:var(--teammates-blue);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.78;pointer-events:none}.teammates-how-arrow--one{top:43px;left:calc(50% - 19px)}.teammates-how-arrow--two{top:calc(50% - 10px);right:calc(25% - 10px);width:20px;height:38px}.teammates-how-arrow--three{bottom:43px;left:calc(50% - 19px);transform:rotate(180deg)}@media(max-width:820px){.teammates-how-arrow{display:none}.teammates-how-list,.teammates-how-list li{position:relative}.teammates-how-list li:not(:last-child):after{content:"";position:absolute;z-index:1;left:17px;bottom:-12px;width:16px;height:16px;border-right:1.5px solid var(--teammates-blue);border-bottom:1.5px solid var(--teammates-blue);transform:rotate(45deg);background:var(--moroccan-paper)}.teammates-evidence-gallery{grid-template-columns:1fr;gap:14px}.teammates-evidence-screen--wide{grid-column:auto}.teammates-evidence>.teammates-section-heading{position:sticky;top:20px;align-self:start}}.teammates-evidence-image-button{display:block;width:100%;padding:0;border:0;background:#f5f8fb;cursor:pointer}.teammates-evidence-image-button:focus-visible{outline:3px solid var(--teammates-blue);outline-offset:-3px}.teammates-lightbox{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:clamp(16px,4vw,56px);background:#0d1620e0;cursor:zoom-out;animation:teammates-lightbox-in .18s ease-out}.teammates-lightbox img{display:block;max-width:min(96vw,1800px);max-height:88vh;width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 24px 80px #0008}.teammates-lightbox-hint{position:absolute;bottom:18px;left:50%;transform:translate(-50%);color:#fff;font-size:13px;line-height:1.4;text-align:center}@keyframes teammates-lightbox-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.teammates-lightbox{animation:none}}@media(hover:hover)and (pointer:fine){.teammates-evidence-image-button,.has-project-cursor .teammates-evidence-image-button{cursor:none}}.teammates-gallery-hint{position:relative;display:grid;height:260px;align-content:end;justify-items:start;margin-top:14px;padding:0 0 34px;overflow:hidden;color:var(--teammates-blue)}.teammates-gallery-hint span{position:relative;z-index:1;font-family:Manrope,DM Sans,sans-serif;font-size:18px;font-weight:700;letter-spacing:-.025em}.teammates-gallery-hint svg{position:absolute;top:9px;right:0;width:min(92%,310px);height:205px;overflow:visible;fill:none;stroke:var(--teammates-blue);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.teammates-gallery-hint svg path:first-child{stroke-dasharray:400;stroke-dashoffset:400;animation:teammates-arrow-draw 1s .2s cubic-bezier(.2,.7,.2,1) forwards}.teammates-gallery-hint svg path:last-child{stroke-dasharray:80;stroke-dashoffset:80;animation:teammates-arrow-draw .35s 1s ease-out forwards}.teammates-zoom-cursor{position:fixed;z-index:1002;width:104px;height:104px;pointer-events:none;opacity:0;visibility:hidden;scale:.65;rotate:-24deg;transform:translate(-18px,-18px);transition:opacity .16s ease,visibility .16s ease,scale .3s cubic-bezier(.2,.9,.25,1.3),rotate .3s cubic-bezier(.2,.9,.25,1.3)}.teammates-zoom-cursor.is-visible{opacity:1;visibility:visible;scale:1;rotate:0;animation:teammates-cursor-pop .3s cubic-bezier(.2,.9,.25,1.3) both}.teammates-zoom-cursor svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 5px 10px #15385240)}.teammates-zoom-cursor circle{fill:#fff;color:#315f7a;stroke:currentColor;stroke-width:3}.teammates-zoom-cursor text{fill:#315f7a;font:700 10px Manrope,DM Sans,sans-serif;text-anchor:middle;letter-spacing:.04em}.teammates-zoom-cursor path{fill:none;stroke:#315f7a;stroke-width:10;stroke-linecap:round}@keyframes teammates-arrow-draw{to{stroke-dashoffset:0}}@keyframes teammates-cursor-pop{0%{opacity:0;scale:.35;rotate:-24deg}to{opacity:1;scale:1;rotate:0}}@media(max-width:820px){.teammates-gallery-hint{height:150px;align-content:end;justify-items:start;padding:0 0 20px}.teammates-gallery-hint span{font-size:15px}.teammates-gallery-hint svg{top:0;right:8px;width:70%;height:92px;stroke-width:2.5}.teammates-zoom-cursor{display:none}}@media(prefers-reduced-motion:reduce){.teammates-gallery-hint svg path,.teammates-zoom-cursor{animation:none;transition:none}.teammates-gallery-hint svg path{stroke-dasharray:none;stroke-dashoffset:0}}.about-copy .about-lead{font-size:20px;line-height:1.65}.about{position:relative;overflow:visible;isolation:isolate}.about-avatar{--avatar-left: auto;--avatar-right: 2%;--avatar-width: 21%;position:absolute;z-index:2;left:var(--avatar-left);right:var(--avatar-right);bottom:0;top:auto;width:var(--avatar-width)}.about-avatar>img{display:block;width:100%;height:auto;transform:translateY(calc(4.1% + 7px))}@media(max-width:900px){.about-heading,.about-copy{position:relative;z-index:1}.about{grid-template-columns:.85fr 1.15fr;gap:32px;padding-right:clamp(190px,25vw,245px)}.about-avatar{--avatar-right:2%;--avatar-width:21%}}@media(max-width:600px){.about{display:grid;grid-template-columns:1fr;gap:7px;padding:40px 22px 232px}.about-avatar{--avatar-left:auto;--avatar-right:7.5%;--avatar-width:67.6%}}.about-copy>p:not(.about-lead){font-size:16px;line-height:1.7;color:#555b5a}.contact>p{max-width:70ch;margin:0 auto 28px;font-size:16px;line-height:1.6;letter-spacing:0;color:var(--moroccan-cobalt)}.footer-identity{display:flex;align-items:center;gap:18px}.footer-identity>span{font-size:9px}.end-note{max-width:920px;margin:0 auto;padding:0 16px 22px;text-align:center;color:var(--moroccan-cobalt);font-size:12px;line-height:1.6}.end-note a{color:var(--moroccan-terracotta);text-decoration:underline;text-underline-offset:3px;font-weight:600}@media(max-width:820px){.end-note{margin:0 18px;padding:0 0 20px;font-size:11px}}@media(min-width:761px){footer{grid-template-columns:1fr auto 1fr;column-gap:34px}footer .footer-identity{justify-self:start}footer nav{justify-self:center}footer small{justify-self:end;text-align:right}}@media(max-width:820px){.about-copy .about-lead{font-size:18px}.about-copy>p:not(.about-lead){font-size:15px}.contact>p{font-size:15px}}.blackwire-page{display:block;position:relative;min-height:100vh;padding:0;background:#090a12;color:#f4f3fa;overflow:hidden;--bw-ink:#f4f3fa;--bw-muted:#a3a5b7;--bw-violet:#b49aff;--bw-blue:#72b9ff;--bw-line:rgba(198,194,235,.16);--bw-ground:#090a12}.blackwire-page:before{content:"";position:absolute;inset:0 0 auto;height:1100px;pointer-events:none;background:radial-gradient(ellipse at 77% 23%,rgba(70,49,126,.24),transparent 52%),radial-gradient(ellipse at 12% 60%,rgba(29,89,135,.11),transparent 46%)}.blackwire-shell{position:relative;width:min(1160px,calc(100% - 72px));margin:0 auto}.blackwire-back{display:inline-flex;align-items:center;gap:10px;color:#c8c7d5;font-size:12px;transition:color .2s ease}.blackwire-back:hover{color:#fff}.blackwire-back svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.blackwire-page>.blackwire-shell>.blackwire-back{margin-top:34px}.blackwire-hero{min-height:690px;position:relative;display:grid;grid-template-columns:1.16fr .84fr;align-items:center;gap:34px;padding:65px 0 75px;border-bottom:1px solid var(--bw-line)}.blackwire-hero-copy{position:relative;z-index:1;padding-bottom:26px}.blackwire-overline{margin:0 0 22px;color:#a99be0;font-size:10px;font-weight:650;letter-spacing:.16em}.blackwire-hero h1,.blackwire-section-heading h2,.blackwire-architecture h2,.blackwire-impact h2,.blackwire-closing h2{font-family:Manrope,DM Sans,sans-serif;font-weight:560;letter-spacing:-.045em}.blackwire-hero h1{max-width:710px;margin:0;font-size:clamp(52px,5.2vw,76px);line-height:1.02}.blackwire-hero h1 em,.blackwire-section-heading h2 em,.blackwire-architecture h2 em,.blackwire-impact h2 em,.blackwire-closing h2 em{font-style:normal;color:#b5a1ff}.blackwire-lede{max-width:470px;margin:28px 0 0;color:#c0c0ce;font-size:16px;line-height:1.75}.blackwire-scroll-link{display:inline-flex;align-items:center;gap:12px;margin-top:32px;color:#e9e6f5;font-size:12px}.blackwire-scroll-link svg{width:16px;height:16px;fill:none;stroke:#a894f3;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}.blackwire-scroll-link:hover svg{transform:translateY(3px)}.blackwire-hero-art{position:relative;height:500px;display:grid;place-items:center;perspective:900px}.blackwire-hero-art:before{content:"";position:absolute;width:390px;height:390px;border-radius:50%;background:radial-gradient(circle,rgba(115,93,191,.2),rgba(72,86,151,.08) 38%,transparent 70%);filter:blur(10px)}.blackwire-orbit{position:absolute;width:380px;height:380px;border:1px solid rgba(167,149,244,.17);border-radius:50%;transform:rotateX(67deg) rotate(-20deg)}.blackwire-orbit--two{width:450px;height:450px;border-color:#71b9ff1f;transform:rotateX(67deg) rotate(38deg)}.blackwire-document{position:relative;width:245px;height:326px;padding:30px 25px;background:linear-gradient(145deg,#f4f2fb,#d8d8e6);color:#25253a;box-shadow:22px 30px 58px #0009;transform:rotateY(-16deg) rotate(-5deg);animation:document-float 6s ease-in-out infinite}.blackwire-doc-head{display:block;margin-bottom:23px;font-size:9px;font-weight:800;letter-spacing:.1em}.blackwire-document i{display:block;height:4px;margin:12px 0;background:#a5a5b8;width:93%;opacity:.72}.blackwire-document i.is-short{width:59%}.blackwire-document b{display:block;margin-top:17px;color:#555572;font-size:7px;letter-spacing:.12em}.blackwire-document i.is-highlight{height:12px;margin:5px 0 10px;background:#b59cff88;box-shadow:0 0 18px #a78bfa55}.blackwire-document .is-highlight.is-short{width:46%}.blackwire-doc-stamp{position:absolute;right:17px;bottom:16px;padding:5px 7px;border:1px solid #a49ac7;color:#5e5683;font-size:8px;letter-spacing:.1em}.blackwire-fragment{position:absolute;z-index:2;padding:10px 12px;border:1px solid rgba(162,141,242,.45);background:#171427;color:#d7caff;font:10px ui-monospace,Consolas,monospace;box-shadow:0 8px 32px #0008;animation:fragment-drift 4s ease-in-out infinite}.blackwire-fragment--a{top:93px;right:3%}.blackwire-fragment--b{bottom:82px;left:0%;animation-delay:-2s}.blackwire-scanline{position:absolute;z-index:2;left:18%;right:14%;top:48%;height:1px;background:#83bdff;box-shadow:0 0 9px 2px #7cb9ff,0 0 38px 7px #895cf066;transform:rotate(-5deg);animation:scan-sweep 5s ease-in-out infinite}.blackwire-art-label{position:absolute;right:12px;bottom:31px;left:12px;display:flex;justify-content:space-between;color:#77788e;font-size:8px;letter-spacing:.12em}.blackwire-art-label b{color:#aaa5c3;font-weight:500}.blackwire-hero-foot{position:absolute;right:0;bottom:26px;left:0;display:flex;align-items:center;gap:18px;color:#86869a;font-size:8px;letter-spacing:.14em}.blackwire-foot-line{flex:1;height:1px;background:linear-gradient(90deg,#51457b,#266089)}.blackwire-transform,.blackwire-pipeline,.blackwire-architecture,.blackwire-impact{padding:132px 0;border-bottom:1px solid var(--bw-line)}.blackwire-section-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:80px;align-items:end}.blackwire-section-heading .blackwire-overline{grid-column:1/-1}.blackwire-section-heading h2,.blackwire-architecture h2,.blackwire-impact h2{margin:0;font-size:clamp(43px,6vw,68px);line-height:1.04}.blackwire-section-heading>p:last-child{max-width:430px;margin:0 0 4px;color:var(--bw-muted);font-size:14px;line-height:1.75}.blackwire-transform-visual{display:grid;grid-template-columns:1fr 90px 1fr 90px 1.16fr;align-items:center;gap:14px;margin-top:72px;padding:38px 28px;border:1px solid var(--bw-line);background:linear-gradient(130deg,#10111c,#0d101a 55%,#12101f)}.blackwire-source-sheet{min-height:260px;padding:24px 22px;background:#e7e6ee;color:#29283a;transform:rotate(-2deg);box-shadow:0 18px 38px #0005}.blackwire-source-sheet>span,.blackwire-extracted>span,.blackwire-record>span{display:block;margin-bottom:22px;color:#77768a;font-size:8px;letter-spacing:.13em}.blackwire-source-sheet>b{display:block;margin-bottom:18px;font-size:13px}.blackwire-source-sheet i{display:block;width:90%;height:4px;margin:10px 0;background:#bbbcc8}.blackwire-source-sheet i.is-short{width:55%}.blackwire-source-sheet mark{display:table;margin:8px 0;padding:3px 5px;background:#aa92f477;color:#302b49;font-size:9px}.blackwire-transform-path{display:flex;align-items:center;justify-content:space-between}.blackwire-transform-path span{width:5px;height:5px;border-radius:50%;background:#b8a4ff;box-shadow:0 0 12px #9d80ff;animation:data-hop 1.6s ease-in-out infinite}.blackwire-transform-path span:nth-child(2){animation-delay:.35s}.blackwire-transform-path span:nth-child(3){animation-delay:.7s}.blackwire-transform-path span:nth-child(4){animation-delay:1.05s}.blackwire-extracted{padding:21px 16px;border:1px solid rgba(170,146,255,.28);background:#171527;box-shadow:0 16px 38px #0004}.blackwire-extracted code{color:#d0c3ff;font:11px/2 ui-monospace,Consolas,monospace}.blackwire-extracted small{display:block;margin-top:18px;color:#82819a;font-size:7px;letter-spacing:.12em}.blackwire-record{padding:19px 15px;border:1px solid rgba(112,185,255,.25);background:#101a24}.blackwire-record>span{color:#8bbce0}.blackwire-record>b{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 0;border-top:1px solid #ffffff14;color:#acb4c0;font-size:9px;font-weight:450}.blackwire-record>b i{color:#8e86ad;font:9px ui-monospace,Consolas,monospace}.blackwire-record>b strong{color:#e6edf7;font-weight:550}.blackwire-record>small{display:block;margin-top:17px;color:#86a9b2;font-size:7px;letter-spacing:.1em}.blackwire-record>small em{color:#7bdbb0;font-style:normal}.blackwire-pipeline{scroll-margin-top:24px}.blackwire-pipeline>.blackwire-section-heading{margin-bottom:64px}.blackwire-system{padding:22px 26px 26px;border:1px solid rgba(173,158,226,.27);background:radial-gradient(ellipse at 51% 47%,#171629,#10111a 62%,#0d0e16);box-shadow:0 30px 90px #0004}.blackwire-system-top{display:flex;justify-content:space-between;color:#818196;font-size:8px;letter-spacing:.12em}.blackwire-system-top span:first-child{display:flex;align-items:center;gap:9px}.blackwire-system-top i{width:6px;height:6px;border-radius:50%;background:#987af1;box-shadow:0 0 10px #9c7cff}.blackwire-system-top b{margin-left:9px;color:#c2b5fa;font-weight:550}.blackwire-node-map{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:205px;margin:15px 0 0}.blackwire-connections{position:absolute;left:4%;top:calc(50% - 5px);width:92%;height:10px;overflow:visible}.blackwire-connections path{fill:none;stroke-width:1.3}.blackwire-connections .wire-base{stroke:#39344d}.blackwire-connections .wire-active{stroke:#a791ff;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--progress,0%));filter:drop-shadow(0 0 4px #9b82ff)}.blackwire-node{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:10px;min-width:90px;padding:0;border:0;background:none;color:#9292a6;cursor:pointer}.blackwire-node-icon{display:grid;place-items:center;width:54px;height:54px;border:1px solid #49445c;border-radius:15px;background:#161622;transition:color .25s,border-color .25s,background .25s,transform .25s,box-shadow .25s}.blackwire-node-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.blackwire-node b{font-size:8px;font-weight:600;letter-spacing:.07em}.blackwire-node small{position:absolute;top:0;right:5px;color:#66667a;font:8px ui-monospace,Consolas,monospace}.blackwire-node:hover .blackwire-node-icon,.blackwire-node.is-active .blackwire-node-icon{transform:translateY(-4px);border-color:#ae9afa;background:#28213e;color:#d7ccff;box-shadow:0 0 22px #9678e833}.blackwire-node.is-passed .blackwire-node-icon{border-color:#527fa0;color:#9dcced}.blackwire-node:focus-visible,.blackwire-run-controls button:focus-visible,.blackwire-scroll-link:focus-visible,.blackwire-back:focus-visible{outline:2px solid #b5a1ff;outline-offset:5px;border-radius:3px}.blackwire-system.is-complete{border-color:#8b7ad4;box-shadow:0 0 55px #6f58c522,0 30px 90px #0004}.blackwire-system.is-running .blackwire-node.is-active .blackwire-node-icon{animation:node-pulse .8s ease-in-out infinite alternate}.blackwire-system-bottom{display:grid;grid-template-columns:1fr 270px;gap:45px;padding-top:25px;border-top:1px solid var(--bw-line)}.blackwire-stage-readout>span{color:#85859b;font-size:8px;letter-spacing:.1em}.blackwire-stage-readout>span b{margin-left:10px;color:#bdadf5;font-weight:500}.blackwire-stage-readout>strong{display:block;margin-top:13px;color:#eeebfa;font-size:19px;font-weight:550;letter-spacing:-.02em}.blackwire-stage-readout>p{max-width:560px;margin:8px 0 0;color:#9d9eae;font-size:12px;line-height:1.6}.blackwire-run-controls{display:flex;flex-direction:column;justify-content:center}.blackwire-timeline{height:2px;background:#333044}.blackwire-timeline span{display:block;height:100%;background:#aa95ff;box-shadow:0 0 10px #a992ff;transition:width .2s linear}.blackwire-run-controls>small{margin-top:10px;color:#88869c;font-size:7px;letter-spacing:.11em}.blackwire-run-controls>button{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding:13px 14px;border:1px solid #8270be;background:#27213a;color:#f2eeff;font-size:9px;font-weight:650;letter-spacing:.08em;cursor:pointer;transition:background .2s ease}.blackwire-run-controls>button:hover{background:#382d54}.blackwire-run-controls>button svg{width:12px;height:12px;fill:#c5b4ff}.blackwire-stage-detail{display:grid;grid-template-columns:150px 1fr 1.1fr;align-items:start;gap:36px;margin-top:32px;padding:25px 0;border-bottom:1px solid var(--bw-line)}.blackwire-stage-detail>span{color:#a99be0;font-size:8px;letter-spacing:.13em}.blackwire-stage-detail h3{margin:0;color:#e8e5f1;font-size:17px;font-weight:550}.blackwire-stage-detail>div>p{margin:7px 0 0;color:#9696a9;font-size:10px}.blackwire-stage-detail dl{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0}.blackwire-stage-detail dl>div{min-width:0}.blackwire-stage-detail dt{margin-bottom:8px;color:#77778d;font-size:7px;letter-spacing:.1em}.blackwire-stage-detail dd{margin:0;color:#c3c2d0;font-size:9px;line-height:1.5}.blackwire-architecture{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:70px}.blackwire-architecture>div:first-child>p:last-child{max-width:390px;margin:22px 0 0;color:var(--bw-muted);font-size:13px;line-height:1.75}.blackwire-architecture-map{position:relative;height:380px;border:1px solid var(--bw-line);background:radial-gradient(ellipse,#151426,#0e1019 67%);overflow:hidden}.blackwire-architecture-map>svg{position:absolute;inset:0;width:100%;height:100%}.blackwire-architecture-map>svg path{fill:none;stroke:#7667a5;stroke-width:1;stroke-dasharray:4 7;animation:path-flow 9s linear infinite}.architecture-core,.architecture-module{position:absolute;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.architecture-core{top:50%;left:50%;width:155px;height:105px;transform:translate(-50%,-50%);border:1px solid #9a83e4;background:#201b35;color:#e1d7ff;font-size:8px;letter-spacing:.08em;line-height:1.7;box-shadow:0 0 34px #8a6bea25}.architecture-core b{color:#a997e9;font-size:11px;letter-spacing:.14em}.architecture-module{width:108px;height:66px;border:1px solid #4a495e;background:#161722;color:#e4e1ed;font-size:11px;font-weight:650;letter-spacing:.06em}.architecture-module small{margin-top:6px;color:#9692a9;font-size:6px;font-weight:500}.module-ocr{top:12%;left:8%}.module-llm{top:12%;right:8%}.module-data{bottom:11%;left:8%}.module-api{right:8%;bottom:11%}.blackwire-impact{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:70px}.blackwire-impact h2{font-size:clamp(40px,5vw,60px)}.blackwire-metrics{display:grid;grid-template-columns:1fr 1fr;gap:35px}.blackwire-metrics>div{display:flex;flex-direction:column;gap:12px}.blackwire-metrics strong{color:#f1eff8;font:500 clamp(48px,6vw,76px)/1 "Manrope","DM Sans",sans-serif;letter-spacing:-.055em;white-space:nowrap}.blackwire-metrics strong i{color:#b9a5ff;font-size:.35em;font-style:normal;letter-spacing:.04em}.blackwire-metrics span{color:#a9a8b9;font-size:11px;line-height:1.6}.blackwire-impact-note{grid-column:2;margin:-35px 0 0;color:#77798b;font-size:9px;line-height:1.6}.blackwire-closing{position:relative;padding:145px 0 100px;overflow:hidden}.blackwire-closing-network{position:relative;height:220px;margin-bottom:75px;border:1px solid var(--bw-line);background:radial-gradient(ellipse at center,#201b36,#0b0c14 62%);overflow:hidden}.blackwire-closing-network:before,.blackwire-closing-network:after{content:"";position:absolute;left:50%;top:50%;width:72%;height:1px;background:#997df1;box-shadow:0 0 18px #9f83f6;transform:translate(-50%,-50%) rotate(24deg);animation:closing-line 4s ease-in-out infinite alternate}.blackwire-closing-network:after{transform:translate(-50%,-50%) rotate(-24deg);animation-delay:-2s}.blackwire-closing-network>span{position:absolute;left:calc(18% + var(--n)*16%);top:50%;width:8px;height:8px;border:1px solid #c9baff;border-radius:50%;background:#4b3e71;box-shadow:0 0 18px #a68bff;animation:node-pulse 1.6s ease-in-out infinite alternate}.blackwire-closing-network>span:nth-child(1){--n:0}.blackwire-closing-network>span:nth-child(2){--n:1;animation-delay:.2s}.blackwire-closing-network>span:nth-child(3){--n:2;animation-delay:.4s}.blackwire-closing-network>span:nth-child(4){--n:3;animation-delay:.6s}.blackwire-closing-network>span:nth-child(5){--n:4;animation-delay:.8s}.blackwire-closing-network>b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:12px 18px;border:1px solid #73639f;background:#171427;color:#d4c9ff;font-size:8px;letter-spacing:.14em}.blackwire-closing>h2{max-width:850px;margin:0;font-size:clamp(44px,6.6vw,78px);line-height:1.02}.blackwire-closing>p:not(.blackwire-overline){max-width:650px;margin:25px 0 0;color:#aaaaba;font-size:14px;line-height:1.75}.blackwire-facts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;margin-top:60px;padding-top:24px;border-top:1px solid var(--bw-line)}.blackwire-facts>span{display:flex;flex-direction:column;gap:10px;color:#d9d7e3;font-size:11px}.blackwire-facts b{color:#828196;font-size:7px;font-weight:550;letter-spacing:.12em}.blackwire-end{display:flex;align-items:center;justify-content:space-between;padding:20px 0 30px;border-top:1px solid var(--bw-line)}.blackwire-end>span{color:#77778a;font-size:7px;letter-spacing:.13em}@keyframes document-float{0%,to{transform:rotateY(-16deg) rotate(-5deg) translateY(0)}50%{transform:rotateY(-13deg) rotate(-4deg) translateY(-9px)}}@keyframes fragment-drift{0%,to{transform:translateZ(0)}50%{transform:translate3d(4px,-9px,0)}}@keyframes scan-sweep{0%,to{top:28%;opacity:.45}50%{top:70%;opacity:1}}@keyframes data-hop{0%{opacity:.25;transform:translate(-5px)}50%{opacity:1;transform:translate(0)}to{opacity:.25;transform:translate(5px)}}@keyframes node-pulse{0%{filter:brightness(.88)}to{filter:brightness(1.3)}}@keyframes path-flow{to{stroke-dashoffset:-60}}@keyframes closing-line{0%{opacity:.5}to{opacity:1}}@media(max-width:900px){.blackwire-shell{width:min(100% - 48px,720px)}.blackwire-hero{min-height:0;grid-template-columns:1fr;gap:10px;padding:75px 0 70px}.blackwire-hero-copy{padding:0}.blackwire-hero h1{max-width:730px;font-size:clamp(52px,10vw,82px)}.blackwire-hero-art{height:440px}.blackwire-hero-foot{bottom:22px}.blackwire-transform,.blackwire-pipeline,.blackwire-architecture,.blackwire-impact{padding:95px 0}.blackwire-transform-visual{grid-template-columns:1fr 50px 1fr;gap:10px;padding:25px 18px}.blackwire-transform-visual>.blackwire-transform-path:nth-of-type(4){display:none}.blackwire-record{grid-column:1/-1;max-width:430px;width:100%;justify-self:center}.blackwire-architecture,.blackwire-impact{grid-template-columns:1fr;gap:40px}.blackwire-impact-note{grid-column:auto;margin:-20px 0 0}}@media(max-width:600px){.blackwire-shell{width:calc(100% - 38px)}.blackwire-page>.blackwire-shell>.blackwire-back{margin-top:22px}.blackwire-hero{padding:63px 0 60px}.blackwire-hero .blackwire-overline{font-size:8px}.blackwire-hero h1{font-size:clamp(46px,12vw,68px)}.blackwire-lede{font-size:14px}.blackwire-hero-art{height:350px;margin:0 -12px}.blackwire-document{width:190px;height:270px;padding:24px 18px}.blackwire-orbit{width:300px;height:300px}.blackwire-orbit--two{width:340px;height:340px}.blackwire-fragment--a{right:-2px;top:64px}.blackwire-fragment--b{left:-5px;bottom:60px}.blackwire-hero-foot{font-size:6px;gap:8px}.blackwire-section-heading{grid-template-columns:1fr;gap:20px}.blackwire-section-heading .blackwire-overline{grid-column:auto;margin-bottom:0}.blackwire-section-heading h2,.blackwire-architecture h2,.blackwire-impact h2{font-size:clamp(40px,11vw,58px)}.blackwire-section-heading>p:last-child{font-size:12px}.blackwire-transform,.blackwire-pipeline,.blackwire-architecture,.blackwire-impact{padding:75px 0}.blackwire-transform-visual{grid-template-columns:1fr;gap:20px;margin-top:40px;padding:22px 16px}.blackwire-source-sheet{min-height:205px}.blackwire-transform-path{height:30px;transform:rotate(90deg);width:80px;justify-self:center}.blackwire-transform-visual>.blackwire-transform-path:nth-of-type(4){display:flex}.blackwire-record{grid-column:auto}.blackwire-pipeline>.blackwire-section-heading{margin-bottom:38px}.blackwire-system{padding:18px 12px}.blackwire-system-top{font-size:6px}.blackwire-system-top b{margin-left:4px}.blackwire-node-map{display:grid;grid-template-columns:repeat(4,1fr);gap:18px 2px;min-height:0;margin:28px 0;padding:0 0 24px}.blackwire-connections{display:none}.blackwire-node{min-width:0;gap:6px}.blackwire-node-icon{width:42px;height:42px;border-radius:12px}.blackwire-node-icon svg{width:21px;height:21px}.blackwire-node b{font-size:6px}.blackwire-node small{display:none}.blackwire-system-bottom{grid-template-columns:1fr;gap:22px;padding-top:20px}.blackwire-stage-readout>strong{font-size:17px}.blackwire-stage-readout>p{font-size:11px}.blackwire-run-controls>button{min-height:43px}.blackwire-stage-detail{grid-template-columns:1fr;gap:15px}.blackwire-stage-detail dl{gap:8px}.blackwire-stage-detail dd{font-size:8px;overflow-wrap:anywhere}.blackwire-architecture-map{height:310px}.architecture-module{width:86px;height:58px;font-size:10px}.architecture-core{width:124px;height:90px;font-size:7px}.blackwire-metrics{gap:16px}.blackwire-metrics strong{font-size:clamp(43px,12vw,62px)}.blackwire-metrics span{font-size:10px}.blackwire-impact-note{margin:0}.blackwire-closing{padding:95px 0 70px}.blackwire-closing-network{height:160px;margin-bottom:54px}.blackwire-closing>h2{font-size:clamp(43px,11.6vw,64px)}.blackwire-closing>p:not(.blackwire-overline){font-size:12px}.blackwire-facts{grid-template-columns:1fr;gap:20px;margin-top:40px}.blackwire-end{align-items:flex-start;gap:20px}.blackwire-end>span{text-align:right;line-height:1.6}}@media(prefers-reduced-motion:reduce){.blackwire-page *,.blackwire-page *:before,.blackwire-page *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.blackwire-source-sheet>button{display:table;margin:8px 0;padding:3px 5px;border:0;background:transparent;color:#302b49;font:9px DM Sans,sans-serif;text-align:left;cursor:pointer}.blackwire-source-sheet>button.is-selected{background:#aa92f477;box-shadow:0 0 14px #9a7aea55}.blackwire-extracted code b{font-weight:400}.blackwire-extracted code b.is-selected{color:#fff;filter:drop-shadow(0 0 5px #ac91ff)}.blackwire-record>b,.blackwire-record>button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:12px 0;border:0;border-top:1px solid #ffffff14;background:none;color:#acb4c0;font:450 9px DM Sans,sans-serif;text-align:left}.blackwire-record>button{cursor:pointer}.blackwire-record>button.is-selected{color:#fff;background:linear-gradient(90deg,#8271b328,transparent)}.blackwire-record>b i,.blackwire-record>button i{color:#8e86ad;font:9px ui-monospace,Consolas,monospace}.blackwire-record>b strong,.blackwire-record>button strong{color:#e6edf7;font-weight:550}.blackwire-source-sheet>button:focus-visible,.blackwire-record>button:focus-visible{outline:2px solid #b5a1ff;outline-offset:3px}.architecture-core,.architecture-module{cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s}.architecture-module:hover,.architecture-module:focus-visible,.architecture-core:hover,.architecture-core:focus-visible{outline:0;border-color:#a794ed;background:#25203b;box-shadow:0 0 25px #9177e638}.architecture-module:focus-visible,.architecture-core:focus-visible{outline:2px solid #b5a1ff;outline-offset:3px}.project-page-content .project-detail section.is-pending,.project-contact.is-pending{opacity:0;transform:translateY(22px);filter:blur(4px)}.project-page-content .project-detail section.is-revealed,.project-contact.is-revealed{opacity:1;transform:none;filter:none;transition:opacity .7s ease,transform .8s cubic-bezier(.2,.7,.25,1),filter .8s ease}.blackwire-page{background:var(--moroccan-paper);color:#202321;--bw-ink:#202321;--bw-muted:#4f5d63;--bw-violet:var(--moroccan-cobalt);--bw-blue:var(--moroccan-cobalt);--bw-line:var(--moroccan-line);--bw-ground:var(--moroccan-paper)}.blackwire-page:before{background:radial-gradient(ellipse at 78% 24%,#315f7a13,transparent 52%),radial-gradient(ellipse at 14% 58%,#c69d7822,transparent 48%)}.blackwire-back{color:#315f7a}.blackwire-back:hover{color:#202321}.blackwire-overline,.blackwire-hero h1 em,.blackwire-section-heading h2 em,.blackwire-architecture h2 em,.blackwire-impact h2 em,.blackwire-closing h2 em{color:var(--moroccan-cobalt)}.blackwire-lede,.blackwire-section-heading>p:last-child,.blackwire-architecture>div:first-child>p:last-child,.blackwire-closing>p:not(.blackwire-overline){color:#4f5d63}.blackwire-scroll-link{color:#315f7a}.blackwire-scroll-link svg{stroke:#315f7a}.blackwire-hero-art:before{background:radial-gradient(circle,#315f7a20,#a9573d0d 42%,transparent 70%)}.blackwire-orbit{border-color:#315f7a24}.blackwire-orbit--two{border-color:#a9573d28}.blackwire-document{box-shadow:18px 25px 45px #43382c2c}.blackwire-fragment{border-color:#315f7a55;background:#fdfbf7;color:#315f7a;box-shadow:0 8px 32px #41382b20}.blackwire-scanline{background:#315f7a;box-shadow:0 0 9px 2px #315f7a77,0 0 38px 7px #a9573d20}.blackwire-art-label{color:#59666c}.blackwire-art-label b{color:#315f7a}.blackwire-foot-line{background:linear-gradient(90deg,#a9573d77,#315f7a)}.blackwire-hero-foot{color:#59666c}.blackwire-transform-visual{border-color:var(--moroccan-line);background:linear-gradient(130deg,#f3eee4,#fdfbf7 55%,#edf2f2)}.blackwire-source-sheet{background:#fffefa;box-shadow:0 18px 38px #41382b20}.blackwire-source-sheet>span,.blackwire-extracted>span,.blackwire-record>span{color:#52616a}.blackwire-source-sheet i{background:#c7c3b9}.blackwire-source-sheet>button{color:#315f7a}.blackwire-source-sheet>button.is-selected{background:#315f7a1c;box-shadow:0 0 14px #315f7a20}.blackwire-transform-path span{background:#315f7a;box-shadow:0 0 12px #315f7a55}.blackwire-extracted{border-color:#315f7a44;background:#e8eff1;box-shadow:0 16px 38px #41382b17}.blackwire-extracted code{color:#315f7a}.blackwire-extracted code b.is-selected{color:#202321;filter:drop-shadow(0 0 4px #315f7a55)}.blackwire-extracted small{color:#52616a}.blackwire-record{border-color:#315f7a40;background:#f4f0e8}.blackwire-record>span{color:#315f7a}.blackwire-record>b,.blackwire-record>button{border-top-color:#315f7a24;color:#52616a}.blackwire-record>button.is-selected{color:#202321;background:linear-gradient(90deg,#315f7a1b,transparent)}.blackwire-record>b i,.blackwire-record>button i{color:#315f7a}.blackwire-record>b strong,.blackwire-record>button strong{color:#202321}.blackwire-record>small{color:#315f7a}.blackwire-record>small em{color:#54785d}.blackwire-system{border-color:#315f7a45;background:radial-gradient(ellipse at 51% 47%,#f3eee4,#fdfbf7 62%,#edf2f2);box-shadow:0 24px 70px #41382b12}.blackwire-system-top,.blackwire-stage-readout>span,.blackwire-run-controls>small{color:#52616a}.blackwire-system-top i{background:#315f7a;box-shadow:0 0 10px #315f7a55}.blackwire-system-top b,.blackwire-stage-readout>span b{color:#315f7a}.blackwire-connections .wire-base{stroke:#d1c7b8}.blackwire-connections .wire-active{stroke:#315f7a;filter:drop-shadow(0 0 4px #315f7a55)}.blackwire-node{color:#566268}.blackwire-node-icon{border-color:#d5cbbb;background:#fdfbf7;color:#315f7a}.blackwire-node small{color:#657178}.blackwire-node:hover .blackwire-node-icon,.blackwire-node.is-active .blackwire-node-icon{border-color:#315f7a;background:#e6eef0;color:#264f68;box-shadow:0 0 22px #315f7a24}.blackwire-node.is-passed .blackwire-node-icon{border-color:#a9573d;color:#a9573d}.blackwire-node:focus-visible,.blackwire-run-controls button:focus-visible,.blackwire-scroll-link:focus-visible,.blackwire-back:focus-visible,.blackwire-source-sheet>button:focus-visible,.blackwire-record>button:focus-visible{outline-color:#315f7a}.blackwire-system.is-complete{border-color:#315f7a;box-shadow:0 0 45px #315f7a18,0 24px 70px #41382b12}.blackwire-stage-readout>strong{color:#202321}.blackwire-stage-readout>p{color:#4f5d63}.blackwire-system-bottom{border-top-color:var(--moroccan-line)}.blackwire-timeline{background:#ddd4c7}.blackwire-timeline span{background:#315f7a;box-shadow:0 0 10px #315f7a55}.blackwire-run-controls>button{border-color:#315f7a;background:#315f7a;color:#fff}.blackwire-run-controls>button:hover{background:#264f68}.blackwire-run-controls>button svg{fill:#fff}.blackwire-stage-detail{border-bottom-color:var(--moroccan-line)}.blackwire-stage-detail>span{color:#315f7a}.blackwire-stage-detail h3{color:#202321}.blackwire-stage-detail>div>p,.blackwire-stage-detail dt{color:#52616a}.blackwire-stage-detail dd{color:#3e4b50}.blackwire-architecture-map{border-color:var(--moroccan-line);background:radial-gradient(ellipse,#f3eee4,#fdfbf7 67%)}.blackwire-architecture-map>svg path{stroke:#315f7a77}.architecture-core{border-color:#315f7a;background:#315f7a;color:#fff;box-shadow:0 0 34px #315f7a24}.architecture-core b{color:#f2e6d1}.architecture-module{border-color:#d5cbbb;background:#fdfbf7;color:#315f7a}.architecture-module small{color:#52616a}.architecture-module:hover,.architecture-module:focus-visible,.architecture-core:hover,.architecture-core:focus-visible{border-color:#315f7a;background:#e9f0f1;box-shadow:0 0 25px #315f7a22}.architecture-core:hover,.architecture-core:focus-visible{background:#264f68;color:#fff}.architecture-module:focus-visible,.architecture-core:focus-visible{outline-color:#315f7a}.blackwire-impact h2,.blackwire-metrics strong{color:#202321}.blackwire-metrics strong i{color:#315f7a}.blackwire-metrics span,.blackwire-impact-note{color:#52616a}.blackwire-closing-network{border-color:var(--moroccan-line);background:radial-gradient(ellipse at center,#e8eff1,#f3eee4 62%)}.blackwire-closing-network:before,.blackwire-closing-network:after{background:#315f7a;box-shadow:0 0 18px #315f7a55}.blackwire-closing-network>span{border-color:#315f7a;background:#315f7a;box-shadow:0 0 18px #315f7a55}.blackwire-closing-network>b{border-color:#315f7a;background:#315f7a;color:#fff}.blackwire-closing>h2{color:#202321}.blackwire-facts{border-top-color:var(--moroccan-line)}.blackwire-facts>span{color:#202321}.blackwire-facts b,.blackwire-end>span{color:#52616a}.blackwire-end{border-top-color:var(--moroccan-line)}.blackwire-document i.is-highlight{background:#315f7a38;box-shadow:0 0 16px #315f7a22}.blackwire-doc-stamp{border-color:#315f7a55;color:#315f7a}.blackwire-scanline{background:#315f7a;box-shadow:0 0 9px 2px #315f7a55,0 0 38px 7px #315f7a1c}.blackwire-node.is-passed .blackwire-node-icon{border-color:#315f7a;color:#315f7a}@media(max-width:760px){.other-project-panel--image{width:calc(100% - 40px);margin-inline:auto}.other-project-panel--image .other-project-image{width:100%;height:auto;aspect-ratio:941/1672;object-fit:contain;background:#fff}}@media(max-width:760px){.case-card-wrap .case-image{height:auto;aspect-ratio:941/1672;background:var(--moroccan-paper)}.case-image picture{position:absolute;inset:0;display:block;width:100%;height:100%}.case-card-wrap .case-image img{position:relative;inset:auto;display:block;width:100%;height:100%;aspect-ratio:941/1672;object-fit:contain;border-radius:inherit}}@media(max-width:820px){.case-card-wrap .project-discover-cue{display:none}}@media(min-width:761px)and (max-width:820px){.case-card-wrap{display:block;width:95%;margin:0 auto 54px}.case-card-wrap .case-card{display:block;width:100%;margin:0}.case-card-wrap .case-image{height:auto;aspect-ratio:920/590;border-radius:26px}.case-card-wrap .case-image img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;border-radius:inherit}}@media(max-width:820px)and (prefers-reduced-motion:no-preference){.case-card-wrap.scroll-reveal-ready{opacity:0;transform:translateY(24px);transition:opacity .58s ease,transform .68s cubic-bezier(.2,.7,.25,1)}.case-card-wrap.scroll-reveal-ready.is-in-view{opacity:1;transform:translateY(0)}.case-card-wrap--02.scroll-reveal-ready{transition-delay:.06s}.case-card-wrap--03.scroll-reveal-ready{transition-delay:.12s}}.blackwire-transform-visual{background:#f1d36d;border-color:#d2b653}.blackwire-system{background:#f1d36d;border-color:#d2b653;box-shadow:0 20px 54px #5b481526}.blackwire-system-top,.blackwire-system-top b,.blackwire-stage-readout>span,.blackwire-stage-readout>span b,.blackwire-stage-readout>strong,.blackwire-stage-readout>p,.blackwire-run-controls>small{color:#202321}.blackwire-system-top i{background:#202321;box-shadow:none}.blackwire-system-bottom{border-top-color:#20232135}.blackwire-connections .wire-base{stroke:#bba54e}.blackwire-connections .wire-active{stroke:#202321;filter:none}.blackwire-node{color:#202321}.blackwire-node-icon{border-color:#20232166;background:#fffdf5;color:#202321}.blackwire-node small{color:#202321}.blackwire-node:hover .blackwire-node-icon,.blackwire-node.is-active .blackwire-node-icon{border-color:#202321;background:#fff4c4;color:#202321;box-shadow:0 0 0 3px #20232118}.blackwire-node.is-passed .blackwire-node-icon{border-color:#202321;color:#202321}.blackwire-timeline{background:#fff6d1}.blackwire-timeline span{background:#202321;box-shadow:none}.blackwire-run-controls>button{border-color:#202321;background:#202321;color:#fff}.blackwire-run-controls>button:hover{background:#315f7a;border-color:#315f7a}.blackwire-stage-detail>span{font-size:10px}.blackwire-stage-detail h3{font-size:21px}.blackwire-stage-detail>div>p{font-size:13px;line-height:1.5}.blackwire-stage-detail dt{font-size:9px}.blackwire-stage-detail dd{font-size:12px;line-height:1.55}.blackwire-architecture-map{background:#171717;border-color:#171717}.blackwire-architecture-map>svg path{stroke:#f1d36d}.architecture-core{border-color:#f1d36d;background:#f1d36d;color:#171717;box-shadow:none}.architecture-core b{color:#171717}.architecture-module{border-color:#f1d36d;background:#242424;color:#fff}.architecture-module small{color:#f1d36d}.architecture-module:hover,.architecture-module:focus-visible{border-color:#fff0a8;background:#303030;color:#fff;box-shadow:0 0 0 3px #f1d36d25}.architecture-core:hover,.architecture-core:focus-visible{border-color:#ffe798;background:#ffe798;color:#171717;box-shadow:0 0 0 3px #f1d36d30}.blackwire-closing-network{background:#f1d36d;border-color:#d2b653}.blackwire-closing-network:before,.blackwire-closing-network:after{background:#202321;box-shadow:none}.blackwire-closing-network>span{border-color:#202321;background:#202321;box-shadow:none}.blackwire-closing-network>b{border-color:#202321;background:#202321;color:#f1d36d}.blackwire-document{background:#fff;color:#111}.blackwire-doc-head,.blackwire-document b,.blackwire-doc-stamp{color:#111}.blackwire-document i{background:#f1d36d;opacity:1}.blackwire-document i.is-highlight{background:#e8bf3f;box-shadow:0 0 0 2px #e8bf3f33}.blackwire-doc-stamp{border-color:#111}.blackwire-system.is-complete{border-color:#202321;box-shadow:0 0 0 2px #20232120,0 20px 54px #5b481526}.blackwire-hero h1 em,.blackwire-architecture h2 em,.blackwire-impact h2 em,.blackwire-closing>h2 em{color:#d5ae38}.blackwire-node-icon{border:2px solid #202321;background:#fffdf5;color:#202321;box-shadow:0 2px #20232120}.blackwire-node b{color:#202321;font-size:10px;font-weight:700;letter-spacing:.08em}.blackwire-node small{color:#202321;font-size:9px;font-weight:650}.blackwire-system .blackwire-node:hover .blackwire-node-icon,.blackwire-system .blackwire-node.is-active .blackwire-node-icon{border-color:#202321;background:#fff1af;color:#202321;box-shadow:0 0 0 3px #20232122}.blackwire-stage-readout>p,.blackwire-stage-detail>div>p,.blackwire-stage-detail dd{font-size:14px;line-height:1.6}.blackwire-stage-detail dt,.blackwire-stage-detail>span{font-size:11px}.blackwire-stage-detail h3{font-size:23px}.blackwire-pipeline .blackwire-section-heading h2 em{color:#a78310}.blackwire-connections .wire-pulse{stroke:#202321;stroke-width:3.4;stroke-dasharray:1.6 6.4;stroke-dashoffset:0;opacity:0;filter:drop-shadow(0 0 2px #20232155)}.blackwire-system.is-running .blackwire-connections .wire-pulse{opacity:.9;animation:pipeline-data-flow var(--pulse-duration,3.8s) linear infinite}@keyframes pipeline-data-flow{to{stroke-dashoffset:-8}}@media(prefers-reduced-motion:reduce){.blackwire-system.is-running .blackwire-connections .wire-pulse{animation:none;opacity:.5}}.blackwire-system-top{color:#202321;font-size:11px;font-weight:650;letter-spacing:.13em}.blackwire-system-top b{font-size:11px;color:#202321;font-weight:750}.blackwire-connections .wire-base{stroke:#756019;stroke-width:2.5;opacity:.9}.blackwire-connections .wire-active{stroke:#171717;stroke-width:3}.blackwire-connections .wire-pulse{stroke:#171717;stroke-width:4.5;filter:drop-shadow(0 0 2px #fff8d4)}.blackwire-run-controls>small{font-size:10px;font-weight:700;letter-spacing:.12em}.blackwire-architecture-map>svg path{stroke:#f1d36d;stroke-width:2;stroke-dasharray:5 6}.architecture-core{width:170px;height:116px;font-size:11px;font-weight:700;line-height:1.65}.architecture-core b{font-size:15px}.architecture-module{width:126px;height:78px;font-size:14px;font-weight:750;letter-spacing:.08em}.architecture-module small{margin-top:7px;font-size:10px;font-weight:700;letter-spacing:.06em}.blackwire-metrics span{font-size:14px;line-height:1.5}.blackwire-impact-note{font-size:12px;line-height:1.6}.blackwire-transform-visual{background:#171717;border-color:#171717;border-radius:18px;overflow:hidden;box-shadow:0 22px 55px #17171720}.blackwire-transform-path span{background:#f1d36d;box-shadow:0 0 12px #f1d36d70}.blackwire-system{border-radius:16px;overflow:hidden}.blackwire-node-map{min-height:180px}.blackwire-connections{left:4%;top:calc(50% - 18px);width:92%;height:2px;overflow:visible;z-index:0;pointer-events:none}.blackwire-connections path{vector-effect:non-scaling-stroke;stroke-linecap:round}.blackwire-connections .wire-base{stroke:#69530b;stroke-width:3.5;opacity:1}.blackwire-connections .wire-active{stroke:#171717;stroke-width:4}.blackwire-connections .wire-pulse{stroke:#171717;stroke-width:5}.blackwire-architecture-map{border-radius:18px}.blackwire-node-map{display:flex;justify-content:space-between;align-items:center;gap:0;overflow:visible}.blackwire-node{flex:1 1 0;min-width:70px}.blackwire-stage-link{position:relative;display:block;flex:1 1 24px;min-width:14px;max-width:48px;height:4px;margin:0 5px;transform:translateY(-14px);border-radius:99px;background:#756019;overflow:hidden}.blackwire-stage-link i{display:block;width:0;height:100%;border-radius:inherit;background:#171717;transition:width .08s linear}.blackwire-stage-link.is-complete i{width:100%}.blackwire-stage-link.is-loading i{width:var(--link-progress,0%);background:#171717;box-shadow:0 0 5px #17171775}.blackwire-system.is-running.is-box-phase .blackwire-node.is-active .blackwire-node-icon{animation:node-pulse .8s ease-in-out infinite alternate}.blackwire-stage-link{height:6px}.blackwire-transform .blackwire-section-heading h2 em{color:#a78310;font-style:normal}.project-contact{--project-accent:var(--moroccan-cobalt)}.project-contact h2 em{color:var(--project-accent)}.project-contact--blackwire{--project-accent:#d5ae38}.project-contact--skillcheck{--project-accent:#a9cf00}.project-contact--snipay,.project-contact--teammates{--project-accent:#315f7a}.project-contact--websites{--project-accent:var(--moroccan-cobalt)}.project-contact>a{border-color:var(--project-accent)}.identity .identity-collaborator{display:inline-flex;align-items:center;gap:5px;border:0;padding:0;color:#6c7274;font-size:12px;white-space:nowrap}.identity .identity-collaborator:before{content:none}.identity-collaborator i{color:var(--moroccan-cobalt);font-size:16px;font-style:normal;line-height:1}@media(max-width:820px){.identity .identity-collaborator{font-size:10px}.identity-collaborator i{font-size:14px}}@media(max-width:390px){.identity .identity-collaborator{font-size:8px;gap:3px}.identity-collaborator i{font-size:12px}}.project-detail--websites{display:block;position:relative;min-height:100vh;padding:clamp(24px,5vw,70px);background:var(--moroccan-paper)}.websites-case{max-width:1120px;margin:0 auto}.websites-hero{display:block;min-height:0;padding:94px 0 112px}.websites-copy{max-width:none}.websites-eyebrow{margin:0 0 22px;color:var(--moroccan-cobalt);font-size:10px;font-weight:750;letter-spacing:.16em}.websites-copy h1{max-width:none;margin:0;color:#202321;font-family:Manrope,DM Sans,sans-serif;font-size:clamp(58px,8.2vw,108px);font-weight:570;line-height:.98;letter-spacing:-.065em}.websites-copy h1 em,.websites-toolkit-heading h2 em{color:var(--moroccan-cobalt);font-style:normal}.websites-lede{max-width:530px;margin:28px 0 0;color:#343d40;font-size:17px;line-height:1.7}.websites-method{max-width:490px;margin:16px 0 0;color:#6b7476;font-size:14px;line-height:1.7}.websites-toolkit{display:grid;grid-template-columns:1fr;gap:34px;align-items:start;padding:82px 0 74px;border-top:1px solid var(--moroccan-line)}.websites-toolkit-heading{display:flex;align-items:end;justify-content:space-between;gap:36px}.websites-toolkit-heading>div{min-width:0}.websites-toolkit-heading h2{max-width:470px;margin:0;font-family:Manrope,DM Sans,sans-serif;font-size:clamp(42px,5.3vw,66px);font-weight:560;line-height:1.03;letter-spacing:-.055em}.websites-toolkit-heading>p{max-width:410px;margin:0 0 5px;color:#465256;font-size:14px;line-height:1.7}.websites-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:14px}.websites-tool-card{min-width:0;padding:18px;border:1px solid var(--moroccan-line);border-radius:16px;background:#fff;box-shadow:0 8px 24px #20232108}.websites-tool-card h3{min-height:1.4em;margin:0 0 13px;color:#526166;font-size:10px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.websites-tool-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.websites-tool-item{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;column-gap:8px;row-gap:5px;min-width:0}.website-brand-mark{display:grid;place-items:center;width:28px;height:28px;border:1px solid #e7e5e0;border-radius:9px;background:#fdfcf9}.website-brand-mark svg{display:block;width:18px;height:18px}.website-brand-mark--wordmark{padding:0 3px;color:#e1116f;font-size:7px;font-weight:850;letter-spacing:-.08em;white-space:nowrap}.website-brand-mark--custom svg{fill:currentColor}.website-brand-mark--java{color:#e76f00}.website-brand-mark--java svg,.website-brand-mark--antigravity svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.website-brand-mark--codex{color:#171b1a}.website-brand-mark--antigravity{color:var(--moroccan-cobalt)}.websites-tool-item>div{min-width:0}.websites-tool-item>div>b{display:block;margin:0;color:#202321;font-size:11px;font-weight:750;line-height:1.3;overflow-wrap:anywhere}.websites-tool-item>div>p{grid-column:2;margin:0;color:#536064;font-size:10px;line-height:1.45}.websites-process{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:10px 0 20px;padding:24px 0;border-top:1px solid var(--moroccan-line)}.websites-process>span{color:var(--moroccan-cobalt);font-size:10px;font-weight:750;letter-spacing:.14em}.websites-process>p{margin:0;color:#394448;font-size:15px;line-height:1.5}@media(max-width:900px){.websites-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.project-detail--websites{padding:22px 18px 40px}.websites-hero{padding:62px 0 70px}.websites-copy h1{font-size:clamp(52px,13vw,78px)}.websites-lede{font-size:15px}.websites-toolkit{gap:28px;padding:62px 0}.websites-toolkit-heading{align-items:flex-start;flex-direction:column;gap:16px}.websites-tool-grid{gap:10px}.websites-tool-card{padding:16px}.websites-process{align-items:flex-start;flex-direction:column;gap:12px}}@media(max-width:520px){.websites-tool-grid{grid-template-columns:1fr}.websites-tool-list{gap:14px 12px}.websites-tool-card{padding:18px}}@media(max-width:700px){.architecture-core{width:132px;height:96px;font-size:9px}.architecture-core b{font-size:12px}.architecture-module{width:94px;height:66px;font-size:12px}.architecture-module small,.blackwire-system-top,.blackwire-system-top b{font-size:9px}}@media(max-width:600px){.blackwire-node-map{display:flex;justify-content:flex-start;overflow-x:auto;gap:0;padding:0 0 20px}.blackwire-node{flex:0 0 58px;min-width:58px}.blackwire-stage-link{flex:0 0 20px;min-width:20px;margin:0 5px;transform:translateY(-12px)}.blackwire-node-map::-webkit-scrollbar{height:4px}.blackwire-node-map::-webkit-scrollbar-thumb{background:#756019;border-radius:99px}}.hero{height:760px}.work{padding-top:0}.hero .portrait-wrap{width:600px;height:650px;margin-top:0}.hero .portrait-poster,.hero .portrait-video{transform:scale(.806);transform-origin:center top}@media(max-width:820px){.hero{height:680px}.work{padding-top:0}.hero .portrait-wrap{width:min(420px,calc(100vw - 40px));height:560px}}
