

/* Shared home-return control: consistent on the gallery, designers and tools. */
.public-site .ww-home-link463{
 display:inline-flex;align-items:center;gap:9px;min-height:44px;max-width:100%;
 padding:10px 18px;margin:0 0 20px;border:1px solid #d8b6cd;border-radius:999px;
 background:linear-gradient(135deg,#fffaf4,#f1e7f1);color:#643169;
 box-shadow:0 3px 10px #3d223b0b;text-decoration:none;font:700 .9rem/1.35 Inter,Arial,sans-serif;
 transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.public-site .ww-home-link463:hover{background:#f3e2e9;border-color:#b86686;box-shadow:0 4px 14px #66306b18}
.public-site .ww-home-link463:focus-visible{outline:3px solid #a668c3;outline-offset:3px}
html:has(body.public-site){scroll-padding-top:var(--ww-nav-offset463,100px)}
.portfolio-load-more{position:relative;min-height:1px}
#portfolioLoadTrigger463{position:absolute;inset:0 0 auto;height:1px;pointer-events:none}
.project-heart::after{
 content:attr(data-heart-tip);position:absolute;top:calc(100% + 8px);right:0;z-index:5;
 box-sizing:border-box;width:max-content;max-width:min(180px,calc((100vw - 100px)/2));padding:8px 11px;border:1px solid #d6adc4;border-radius:10px;
 background:#352239;color:#fff8f0;font:600 .78rem/1.4 Inter,Arial,sans-serif;text-align:left;
 box-shadow:0 4px 14px #21112730;opacity:0;visibility:hidden;pointer-events:none;
 transition:opacity .15s ease;
}
@media(hover:hover){.project-heart:hover::after{opacity:1;visibility:visible}}
.project-heart:focus-visible::after{opacity:1;visibility:visible}
@media(prefers-reduced-motion:reduce){.ww-home-link463,.project-heart::after{transition:none!important}}
/* Small public-site interactions; no layout or CMS visibility changes. */
.public-site #site-navigation.ww-nav-motion456{isolation:isolate}
@media(min-width:781px){
  .public-site #site-navigation.ww-nav-motion456{position:relative}
}
.ww-nav-highlight456{position:absolute;top:0;left:0;border-radius:8px;background:linear-gradient(110deg,#9d53e442,#ef7d3230);box-shadow:inset 0 0 0 1px #c68cbc24;pointer-events:none;z-index:-1;opacity:0;transition:opacity .15s ease}
.ww-nav-highlight456.is-visible{opacity:1}
.public-site #site-navigation.ww-nav-motion456>a{transition:color .16s ease}
.public-site #site-navigation.ww-nav-motion456>a>.ww-nav-label457{display:inline-block;pointer-events:none;transform-origin:50% 100%}
.public-site #site-navigation.ww-nav-motion456>a:focus-visible{outline:2px solid #d6afff;outline-offset:5px;border-radius:5px}
.public-site #site-navigation.ww-nav-motion456>a:not(.btn):focus-visible,.public-site #site-navigation.ww-nav-motion456>a:not(.btn):active{color:#ffb977}
.public-site #site-navigation.ww-nav-motion456>a:focus-visible>.ww-nav-label457{animation:ww-nav-hop457 .42s ease-in-out}
.public-site #site-navigation.ww-nav-motion456>a.btn{transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
@media(hover:hover) and (pointer:fine){
  .public-site #site-navigation.ww-nav-motion456>a:not(.btn):hover{color:#ffb977}
  .public-site #site-navigation.ww-nav-motion456>a:hover>.ww-nav-label457{animation:ww-nav-hop457 .42s ease-in-out}
  .public-site #site-navigation.ww-nav-motion456>a.btn:hover{transform:translateY(-2px);filter:brightness(1.12);box-shadow:0 5px 14px #ff661b30!important}
}
@keyframes ww-nav-hop457{0%,100%{transform:translateY(0)}35%{transform:translateY(-6px)}72%{transform:translateY(1px)}86%{transform:translateY(-1px)}}
.public-site #site-navigation.ww-nav-motion456>a.btn:active{transform:translateY(1px);box-shadow:none!important}
.ww-menu-toggle456{display:none;align-items:center;justify-content:center}
.ww-menu-bars456{display:block;position:relative;width:22px;height:18px}
.ww-menu-bars456 i{position:absolute;left:0;display:block;width:22px;height:2px;border-radius:2px;background:currentColor;transition:transform .2s ease,opacity .15s ease}
.ww-menu-bars456 i:nth-child(1){top:0}
.ww-menu-bars456 i:nth-child(2){top:8px}
.ww-menu-bars456 i:nth-child(3){top:16px}
.ww-menu-toggle456[aria-expanded=true] i:nth-child(1){transform:translateY(8px) rotate(45deg)}
.ww-menu-toggle456[aria-expanded=true] i:nth-child(2){opacity:0}
.ww-menu-toggle456[aria-expanded=true] i:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
@media(max-width:780px){
  .public-site .menu-toggle.ww-menu-toggle456{display:flex}
  .ww-nav-highlight456{display:none}
  .public-site #site-navigation.ww-nav-motion456.open{max-height:calc(100dvh - 70px);overflow-y:auto;animation:ww-menu-enter456 .2s ease both}
  .public-site #site-navigation.ww-nav-motion456.open>a{animation:ww-menu-link456 .2s ease backwards;animation-delay:calc(var(--ww-menu-order,0)*18ms)}
}
@keyframes ww-menu-enter456{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@keyframes ww-menu-link456{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.public-site .ww-rating456{min-width:0;margin:0;padding:0;border:0;color:inherit}
.public-site .ww-rating456 legend{padding:0;margin:0 0 7px;font:inherit;font-weight:650}
.public-site .ww-rating-stars456{display:flex;align-items:center;gap:2px;width:max-content;max-width:100%;padding:3px 0}
.public-site .ww-rating456 .ww-rating-choice456{position:relative;display:block;flex:0 0 44px;width:44px;height:48px;min-width:0;margin:0;cursor:pointer}
.public-site .ww-rating456 input[type=radio]{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}
.ww-rating-icon456{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:9px;color:#b8afbf;transition:transform .18s ease,color .18s ease,background .18s ease}
.ww-rating-icon456 svg{display:block;width:34px;height:34px;overflow:visible;fill:transparent;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;transition:fill .18s ease,filter .18s ease}
.ww-rating-choice456.is-lit .ww-rating-icon456{color:var(--ww-orange,#ff8a00)}
.ww-rating-choice456.is-lit svg{fill:currentColor;filter:drop-shadow(0 2px 4px #ff661b26)}
.ww-rating-choice456.is-preview .ww-rating-icon456{transform:translateY(-4px)}
.ww-rating-choice456.is-selected .ww-rating-icon456{animation:ww-rating-pop456 .24s ease}
.ww-rating456 input:focus-visible+.ww-rating-icon456{outline:2px solid #d6afff;outline-offset:1px;background:#9d53e42e}
.ww-rating456 input:active+.ww-rating-icon456{transform:scale(.93)}
.public-site .ww-rating-help456,.public-site .ww-rating-value456{display:block;font-size:.82rem;line-height:1.45;color:#c9becd}
.public-site .ww-rating-value456{min-height:1.45em;margin-top:3px;color:inherit;font-weight:600}
@keyframes ww-rating-pop456{50%{transform:translateY(-3px) scale(1.13)}to{transform:none}}
@media(prefers-reduced-motion:reduce){
  .ww-nav-highlight456,.public-site #site-navigation.ww-nav-motion456>a,.ww-menu-bars456 i,.ww-rating-icon456,.ww-rating-icon456 svg{transition:none!important}
  .public-site #site-navigation.ww-nav-motion456.open,.public-site #site-navigation.ww-nav-motion456.open>a,.public-site #site-navigation.ww-nav-motion456>a>.ww-nav-label457,.ww-rating-choice456.is-selected .ww-rating-icon456{animation:none!important}
  .public-site #site-navigation.ww-nav-motion456>a.btn:hover,.public-site #site-navigation.ww-nav-motion456>a.btn:active,.ww-rating-choice456.is-preview .ww-rating-icon456,.ww-rating456 input:active+.ww-rating-icon456{transform:none!important}
}

/* Color feedback without changing button geometry or sending a love on hover. */
.public-site .portfolio-filter{transition:background .16s ease,border-color .16s ease,color .16s ease}
.public-site .project-heart-icon{transition:fill .16s ease,stroke .16s ease}
@media(hover:hover) and (pointer:fine){
 .public-site .portfolio-filter:not(.active):hover,.public-site #portfolioModal .portfolio-filter:not(.active):hover{background:#f5e4ed;color:#6b2c64;border-color:#c895b8}
 .public-site .project-heart:not(:disabled):hover .project-heart-icon{fill:#f04f70;stroke:#fff}
}
.public-site .portfolio-filter:not(.active):focus-visible,.public-site #portfolioModal .portfolio-filter:not(.active):focus-visible{background:#f5e4ed;color:#6b2c64;border-color:#c895b8;outline:2px solid #8f538a;outline-offset:3px}
.public-site .project-heart:not(:disabled):focus-visible .project-heart-icon{fill:#f04f70;stroke:#fff}
/* A geometric cross is centered independently of the font's baseline. */
.public-site #siteChatClose{position:relative;display:grid;place-items:center;flex:none;width:38px;height:38px;padding:0;line-height:1;font-size:0}
.public-site #siteChatClose::before,.public-site #siteChatClose::after{content:'';position:absolute;left:50%;top:50%;width:15px;height:2px;border-radius:2px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}
.public-site #siteChatClose::after{transform:translate(-50%,-50%) rotate(-45deg)}
@media(prefers-reduced-motion:reduce){.public-site .portfolio-filter,.public-site .project-heart-icon{transition:none}}
