@font-face{font-family:'Chakra Petch';src:url('assets/fonts/Chakrapetch-ChakraPetch-SemiBold.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/Manrope-Variable.ttf') format('truetype');font-weight:200 800;font-display:swap}
:root{--ink:#252132;--magenta:#C82F8A;--white:#FFFFFF;--blush:#F6EAF1;--slate:#6B6571;--display:'Chakra Petch',Arial,sans-serif;--display-weight:600;--gutter:clamp(24px,4.5vw,100px);font-family:Manrope,Arial,sans-serif;color:var(--white);background:var(--ink);scrollbar-color:var(--magenta) var(--ink);scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0;background:var(--ink)}a{color:inherit;text-underline-offset:6px;text-decoration-thickness:1px}button{font:inherit;cursor:pointer}svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:6px}::selection{background:var(--magenta);color:var(--white)}.skip-link{position:absolute;left:var(--gutter);top:12px;z-index:10;background:var(--white);color:var(--ink);padding:12px 16px;transform:translateY(-180%)}.skip-link:focus{transform:none}
.site-nav{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;padding:13px var(--gutter);position:relative;z-index:4}.brand-logo{display:block;justify-self:center;text-decoration:none}.header-mark{display:block;width:96px;height:86px}.header-svg{display:block;width:100%;height:100%}.site-nav nav{display:flex;align-items:center;justify-self:start;gap:26px}.site-nav nav a,.nav-contact{text-decoration:none;font-size:15px;font-weight:500;padding:12px 0}.nav-contact{justify-self:end;border-bottom:1px solid var(--magenta)}.site-nav nav a:hover,.nav-contact:hover{color:var(--blush);text-decoration:underline;text-decoration-color:var(--magenta)}
.kinetic-hero{position:relative;isolation:isolate;padding-top:50px}.hero-copy{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr);gap:7vw;align-items:end;padding:0 var(--gutter)}.hero-copy h1{font-family:var(--display);font-weight:var(--display-weight);font-size:clamp(38px,4.8vw,76px);line-height:1.02;letter-spacing:-.03em;margin:0}.hero-copy h1{white-space:nowrap}.hero-copy h1 .bound-phrase{display:inline;white-space:nowrap}.hero-intro{padding-bottom:5px}.hero-intro p{font-size:17px;line-height:1.7;color:var(--blush);max-width:45ch;margin:0 0 28px}.project-link{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:52px;padding:14px 20px;background:var(--magenta);color:var(--white);text-decoration:none;font-size:15px;font-weight:600;transition:background .2s,color .2s}.project-link:hover{background:var(--white);color:var(--ink)}.project-link svg{width:21px;height:21px;transition:transform .25s cubic-bezier(.16,1,.3,1)}.project-link:hover svg{transform:translateX(4px)}
.signal-stage{width:100%;height:clamp(300px,33vw,680px);position:relative;margin-top:36px;touch-action:pan-y;cursor:ns-resize}.signal-stage.is-pulling{cursor:grabbing}.signal-weave{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}.signal-controls{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:8px var(--gutter) 30px}.hero-caption{margin:0;font-size:12px;line-height:1.5;color:var(--blush)}.motion-control{color:var(--blush);background:none;border:0;border-bottom:1px solid #ffffff70;padding:10px 0;font-size:12px;white-space:nowrap}.motion-control:hover{color:var(--white)}.motion-control:disabled{cursor:default;border-color:#ffffff30}
.services{padding:100px var(--gutter) 110px;background:var(--ink);color:var(--white)}.section-intro{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:64px}.section-intro h2,.contact h2{font-family:var(--display);font-weight:var(--display-weight);font-size:clamp(42px,5.4vw,80px);line-height:1.06;letter-spacing:-.025em;margin:0;text-wrap:balance}.section-intro p{max-width:35ch;font-size:17px;line-height:1.7;margin:0;color:var(--blush)}.service-row:first-child{border-top:1px solid #ffffff40}.service-row{border-bottom:1px solid #ffffff40}.service-row summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;padding:27px 0;font-family:var(--display);font-weight:var(--display-weight);font-size:clamp(26px,3.1vw,45px);line-height:1.1;letter-spacing:-.015em}.service-row summary::-webkit-details-marker{display:none}.service-row summary svg{margin-right:6px;flex:none;width:24px;height:24px;transition:transform .35s cubic-bezier(.16,1,.3,1)}.service-row[open] summary{color:var(--magenta)}.service-row[open] summary svg{transform:rotate(45deg)}.service-detail{padding:0 5% 34px 50%}.service-detail p{font-size:21px;line-height:1.55;margin:0 0 22px;max-width:45ch}.service-detail a{font-size:15px;color:var(--white);text-decoration-color:var(--magenta)}.service-row::details-content{interpolate-size:allow-keywords;block-size:0;overflow:clip;transition:block-size .4s cubic-bezier(.16,1,.3,1),content-visibility .4s allow-discrete}.service-row[open]::details-content{block-size:auto}

.contact{padding:100px var(--gutter) 28px}.contact-opening{display:flex;flex-direction:column;align-items:flex-start;gap:34px}.contact h2{font-size:clamp(48px,6.4vw,96px)}.contact .contact-action{display:inline-flex;gap:24px;align-items:center;padding-bottom:6px;max-width:100%;font-size:clamp(18px,1.7vw,27px);font-weight:500;text-decoration-color:var(--magenta);overflow-wrap:anywhere}.contact .contact-action svg{flex:none}.site-footer{display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:end;margin-top:105px;padding-top:30px;border-top:1px solid #ffffff40}.footer-mark{display:block;width:76px;aspect-ratio:1035/925}.footer-mark .pk-logo *{animation-play-state:paused}.footer-mark.logo-static .pk-logo *{animation:none!important;transition:none!important}.footer-mark.logo-static .pk-shape{fill-opacity:1;stroke-opacity:0}.footer-mark.logo-static .pk-echo{opacity:0}.site-footer address{justify-self:end}.site-footer address small{display:block;font-size:12px;margin-top:12px}.site-footer address,.site-footer p{font-size:13px;font-style:normal;line-height:1.8;color:var(--blush);margin:0}.site-footer p{text-align:right}.site-footer a{display:inline-block;margin-bottom:8px}
@media(min-width:1800px){.hero-copy{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}.hero-intro p{font-size:20px;max-width:48ch}}
@media(max-width:1000px){.hero-copy{grid-template-columns:1fr;gap:32px}.hero-copy h1{font-size:clamp(38px,6.8vw,68px)}.hero-intro{display:flex;align-items:end;justify-content:space-between;gap:32px}.hero-intro p{max-width:43ch;margin:0}.project-link{flex:none}.signal-stage{margin-top:26px}.contact-opening{align-items:start;flex-direction:column;gap:35px}.site-footer{gap:24px}}
@media(max-width:700px){.site-nav nav{gap:14px}.site-nav nav a,.nav-contact{font-size:13px}.header-mark{width:72px;height:64px}.kinetic-hero{padding-top:32px}.hero-copy{gap:28px}.hero-copy h1{font-size:clamp(24px,6.3vw,44px);line-height:1.08}.hero-intro{display:block}.hero-intro p{font-size:16px;margin-bottom:24px}.project-link{font-size:14px;padding:14px 18px;gap:32px}.signal-stage{margin-top:12px}.signal-controls{padding-bottom:24px;align-items:end;gap:20px}.hero-caption{max-width:185px;font-size:11px}.services{padding:66px var(--gutter) 74px}.section-intro{align-items:start;flex-direction:column;gap:26px;margin-bottom:42px}.section-intro h2{font-size:clamp(40px,8vw,55px)}.section-intro p{font-size:16px;max-width:42ch}.service-row summary{padding:25px 0;font-size:clamp(25px,5.2vw,36px)}.service-detail{padding:0 4px 28px 0}.service-detail p{font-size:18px;max-width:45ch}.contact{padding:70px var(--gutter) 26px}.contact h2{font-size:clamp(44px,9vw,64px)}.contact .contact-action{font-size:18px;gap:16px}.site-footer{grid-template-columns:1fr;gap:26px;margin-top:70px;padding-top:28px}.site-footer p{text-align:left}.site-footer address{justify-self:start}}
@media(max-width:380px){.site-nav nav{gap:12px}.header-mark{width:64px;height:57px}.contact .contact-action{font-size:16px;gap:12px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important;animation:none!important}.header-svg{opacity:1!important}}

.pk-logo{--pk-magenta:#C82F8A;--pk-dark:#FFFFFF;display:block;width:100%;height:auto;overflow:visible}
.pk-logo .pk-shape{stroke-width:5;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;fill-opacity:0;animation:pk-draw 1.2s cubic-bezier(.65,0,.35,1) forwards,pk-fill .55s ease-out 1s forwards}
.pk-logo .pk-p .pk-shape{fill:var(--pk-magenta);stroke:var(--pk-magenta)}
.pk-logo .pk-k .pk-shape{fill:var(--pk-dark);stroke:var(--pk-dark);animation-delay:.15s,1.15s}
.pk-logo .pk-p,.pk-logo .pk-k{transition:transform .45s cubic-bezier(.16,1,.3,1)}
.pk-logo .pk-p{animation:pk-slide-p 1.5s cubic-bezier(.16,1,.3,1) backwards}
.pk-logo .pk-k{animation:pk-slide-k 1.5s cubic-bezier(.16,1,.3,1) .15s backwards}
.pk-logo:hover .pk-p{transform:translate(-8.66px,5px)}
.pk-logo:hover .pk-k{transform:translate(8.66px,-5px)}
.pk-logo .pk-echo{fill:none;stroke-width:2;vector-effect:non-scaling-stroke;opacity:0;transform-box:fill-box;transform-origin:center;animation:pk-echo 1.1s cubic-bezier(.2,.7,.3,1) 1.55s forwards}
.pk-logo .pk-echo-p{stroke:var(--pk-magenta)}
.pk-logo .pk-echo-k{stroke:var(--pk-dark);animation-delay:1.65s}
@keyframes pk-draw{to{stroke-dashoffset:0}}
@keyframes pk-fill{to{fill-opacity:1;stroke-opacity:0}}
@keyframes pk-slide-p{from{transform:translate(-62.35px,36px)}to{transform:none}}
@keyframes pk-slide-k{from{transform:translate(62.35px,-36px)}to{transform:none}}
@keyframes pk-echo{0%{opacity:.5;transform:scale(1)}100%{opacity:0;transform:scale(1.14)}}
@media (prefers-reduced-motion:reduce){
  .pk-logo *{animation:none!important;transition:none!important}
  .pk-logo .pk-shape{fill-opacity:1;stroke-opacity:0}
  .pk-logo .pk-echo{opacity:0}
  .pk-logo:hover .pk-p,.pk-logo:hover .pk-k{transform:none}
}

.no-js .signal-stage{background:url("assets/weave.svg") center/100% 100% no-repeat}.no-js #signal-weave,.no-js .motion-control,.no-js .hero-caption{display:none}

.site-nav .contact-nav{justify-self:end}.contact-nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font-size:15px;font-weight:500}
.contact-nav a:hover{text-decoration:underline;text-decoration-color:var(--magenta)}
.hero-intro p{text-wrap:pretty}.section-intro h2{max-width:16ch}.section-intro p{max-width:42ch;text-wrap:pretty}
.service-detail p{margin-bottom:0;text-wrap:pretty}



.contact-opening{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:9vw;align-items:end}.contact-opening h2{font-size:clamp(42px,5.4vw,80px);max-width:17ch}
.contact-copy p{font-size:18px;line-height:1.7;margin:0;max-width:45ch;text-wrap:pretty}.contact-copy .project-link{margin-top:26px}
.footer-details{justify-self:end}.legal-links{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:24px}.legal-links a{font-size:12px;line-height:1.5;min-height:44px;display:inline-flex;align-items:center;text-decoration-color:var(--magenta)}
.motion-control{min-height:44px}
@media(max-width:1000px){.section-intro{align-items:flex-start;flex-direction:column;gap:28px}.section-intro h2{max-width:17ch}.section-intro p{max-width:58ch}}
@media(max-width:700px){.contact-nav a{font-size:13px}.about-copy p,.contact-opening{grid-template-columns:1fr;gap:28px}.contact-opening h2{font-size:clamp(38px,8.5vw,60px)}.contact-copy p{font-size:16px}.footer-details{justify-self:start}.legal-links{gap:8px 20px}.legal-links a{font-size:12px}}
