/* OPHYC: the user's circular serpent, with a stationary centered glyph. */
.ophyc-action{
 --orbit-ink:#21372a;--orbit-core:#21372a;--orbit-paper:#f1f0e4;
}
.ophyc-orbit{
 display:inline-grid;place-items:center;flex:none;position:relative;
 width:48px;height:48px;vertical-align:middle;line-height:0;
 padding:0;border:0;border-radius:0;background:transparent;
 isolation:isolate
}
.ophyc-button-icon{
 display:block;width:100%;height:100%;max-width:none;overflow:visible;
 fill:none;stroke:none;pointer-events:none
}
.ophyc-button-icon .orbit-core{fill:var(--orbit-core,#21372a)}
.ophyc-button-icon .orbit-coil{
 transform-origin:40px 40px;transition:transform 420ms cubic-bezier(.22,.68,.25,1)
}
.ophyc-button-icon .orbit-runner{
 transform-origin:40px 40px;
 animation:ophyc-serpent-orbit 4.8s linear infinite;
 animation-play-state:paused
}
@keyframes ophyc-serpent-orbit{
 from{transform:rotate(0deg)}to{transform:rotate(360deg)}
}
.ophyc-button-icon .orbit-body{
 fill:none;stroke:var(--orbit-ink,#21372a);stroke-width:1.25;
 stroke-linecap:round;stroke-linejoin:round
}
.ophyc-button-icon .orbit-head{fill:var(--orbit-ink,#21372a);stroke:none}
.ophyc-button-icon .orbit-eye{fill:var(--orbit-paper,#f1f0e4);stroke:none}
.ophyc-button-icon .orbit-core{
 transform-origin:40px 40px;transition:transform 420ms cubic-bezier(.22,.68,.25,1)
}
.ophyc-button-icon .orbit-arrow,
.ophyc-button-icon .orbit-play,
.ophyc-button-icon .orbit-pause{
 fill:none;stroke:var(--orbit-paper,#f1f0e4);stroke-width:1.65;
 stroke-linecap:round;stroke-linejoin:round
}
.ophyc-button-icon .orbit-left{transform:rotate(180deg);transform-origin:40px 40px}
.ophyc-action .circle.ophyc-orbit{
 width:48px;height:48px;background:transparent;border:0;font:inherit
}
.ophyc-action .ophyc-orbit{order:-1}
.ophyc-action :is(.fine-line,.cta-line){background:currentColor;opacity:.55}
.start-project.ophyc-action{--orbit-ink:currentColor;gap:12px;text-decoration:none}
.start-project.ophyc-action>.circle.ophyc-orbit{width:34px;height:34px}
.start-project.ophyc-action>span:first-child{padding:0;border:0}
.product-cta.ophyc-action{
 --orbit-ink:#dce4d0;--orbit-core:#21372a;gap:14px
}
.product-cta.ophyc-action>.circle.ophyc-orbit{width:40px;height:40px}
.project-link.ophyc-action{align-items:center;gap:11px;min-height:36px}
.project-link.ophyc-action>.project-arrow.ophyc-orbit{
 width:36px;height:36px;margin:0;background:transparent;font:inherit
}
.project-link.ophyc-action>span:first-child{text-decoration:none}
.project-link.ophyc-action::after{
 content:"";width:26px;height:1px;flex:none;background:currentColor;opacity:.5
}
.vow-work .project-link.ophyc-action:hover .project-arrow{transform:none}
.category-card.ophyc-action{--orbit-ink:#dce4d0;--orbit-core:#21372a}
.category-card.ophyc-action .category-arrow.ophyc-orbit{
 width:32px;height:32px;border:0;border-radius:0;background:transparent;
 color:inherit;font:inherit
}
.category-card.ophyc-action .ophyc-orbit{order:0}
.contact-start.ophyc-action{
 --orbit-ink:#dce4d0;--orbit-core:#21372a;--orbit-paper:#f1f0e4;
 display:inline-flex;align-items:center;justify-content:flex-start;gap:16px;
 padding:0;border:0;background:transparent;color:#e2e8d7;
 min-height:48px;letter-spacing:.14em;text-decoration:none
}
.contact-start.ophyc-action:hover{background:transparent}
.contact-start.ophyc-action>.button-label{
 font:inherit;line-height:1.4
}
.contact-start.ophyc-action>.ophyc-orbit{width:48px;height:48px;font:inherit}
.contact-start.ophyc-action::after{
 content:"";width:36px;height:1px;flex:none;background:currentColor;opacity:.55
}
.contact-footer{grid-template-columns:minmax(0,1fr) auto}
.vow-controls .ophyc-action{
 --orbit-ink:#cbd6c3;--orbit-core:#21372a;--orbit-paper:#eef0e3;
 min-width:36px;min-height:36px;padding:3px;gap:6px
}
.vow-controls .ophyc-action>.ophyc-orbit{width:30px;height:30px}
.vow-controls .ophyc-button-icon{width:100%;height:100%;fill:none;stroke:none}
.vow-controls .orbit-play{display:none}
.vow-preview[data-playing="false"] .vow-toggle .orbit-pause{display:none}
.vow-preview[data-playing="false"] .vow-toggle .orbit-play{display:block}
.secondary-link.ophyc-action,.text-link.ophyc-action{
 display:inline-flex;align-items:center;gap:10px;text-decoration:none
}
.secondary-link.ophyc-action>.ophyc-orbit,
.text-link.ophyc-action>.ophyc-orbit{width:30px;height:30px}
.ophyc-action:focus-visible .orbit-coil{transform:scale(1.1)}
.ophyc-action:focus-visible .orbit-core{transform:scale(.95)}
.ophyc-action:focus-visible .orbit-runner{animation-play-state:running}
@media (hover:hover){
 .ophyc-action:hover .orbit-coil{transform:scale(1.1)}
 .ophyc-action:hover .orbit-core{transform:scale(.95)}
 .ophyc-action:hover .orbit-runner{animation-play-state:running}
}
@media (max-width:600px){
 .contact-footer{grid-template-columns:minmax(0,1fr)}
 .contact-footer .contact-copyright{grid-column:1;justify-self:start}
}
@media (max-width:420px){
 .ophyc-action .circle.ophyc-orbit{width:44px;height:44px}
 .start-project.ophyc-action>.circle.ophyc-orbit{width:30px;height:30px}
 .product-cta.ophyc-action>.circle.ophyc-orbit{width:36px;height:36px}
 .category-card.ophyc-action .category-arrow.ophyc-orbit{width:28px;height:28px}
 .vow-controls{gap:7px}
 .vow-controls .ophyc-action>.ophyc-orbit{width:28px;height:28px}
 .secondary-link.ophyc-action{gap:6px}
 .secondary-link.ophyc-action>.ophyc-orbit{width:24px;height:24px}
}
@media (prefers-reduced-motion:reduce){
 .ophyc-button-icon :is(.orbit-coil,.orbit-core){transition:none}
 .ophyc-button-icon .orbit-runner{animation:none}
}
