/* PERFECT categories only. Loaded before client custom.css. */
.perfect-icons-section{--cat-gap:20px;--cat-text:#35233f;--cat-border:#e8ddf2;--cat-surface:linear-gradient(145deg,#fff 15%,#faf7fd);--cat-shadow:0 10px 26px #693c8510;padding-block:32px}
.perfect-icons-section>h2{text-align:center;font-size:clamp(26px,3vw,40px);font-weight:750;line-height:1.4;color:var(--cat-text);margin:0 0 10px}
.perfect-icons-section>.perfect-section-description{text-align:center;color:var(--p-muted,#796886);font-size:clamp(14px,1.5vw,18px);line-height:1.8;margin:0 auto 28px;max-width:650px}
.perfect-icons-section .perfect-categories{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:var(--cat-gap);margin:24px auto 0;padding:0;width:100%;grid-template-columns:none}
.perfect-icons-section .perfect-categories>a{box-sizing:border-box;flex:0 0 calc((100% - 4 * var(--cat-gap))/5);min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:12px;margin:0;padding:14px 12px 18px;border:1px solid var(--cat-border);border-radius:20px;background:var(--cat-surface);color:var(--cat-text);box-shadow:var(--cat-shadow);text-decoration:none;text-align:center;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
.perfect-icons-section .perfect-categories .perfect-circle{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;max-width:none;height:auto;aspect-ratio:1;margin:0;min-width:0;overflow:hidden;border:0;border-radius:14px;background:#fff;box-shadow:none;padding:8px}
.perfect-icons-section .perfect-categories .perfect-circle img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;border-radius:0;filter:none;mix-blend-mode:normal;transition:transform .24s ease}
.perfect-icons-section .perfect-categories>a>span:last-child{display:flex;align-items:center;justify-content:center;min-height:3em;height:auto;font-size:15px;font-weight:600;line-height:1.5;overflow:visible;overflow-wrap:anywhere;color:inherit}
.perfect-icons-section .perfect-categories>a:focus-visible{outline:3px solid #9958ad;outline-offset:4px}
:root[data-theme="dark"] .perfect-icons-section{--cat-text:#f7effc;--cat-border:#574061;--cat-surface:linear-gradient(145deg,#302834,#251f2b);--cat-shadow:0 10px 26px #0002}
@media(max-width:900px){.perfect-icons-section{--cat-gap:16px}.perfect-icons-section .perfect-categories>a{flex-basis:calc((100% - 2 * var(--cat-gap))/3)}}
@media(max-width:600px){.perfect-icons-section{--cat-gap:12px;padding-block:24px}.perfect-icons-section .perfect-categories>a{padding:8px 6px 12px;gap:8px}.perfect-icons-section .perfect-categories .perfect-circle{padding:3px;border-radius:12px}.perfect-icons-section .perfect-categories>a>span:last-child{font-size:clamp(13px,3.4vw,14px)}.perfect-icons-section>.perfect-section-description{margin-bottom:20px}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.perfect-icons-section .perfect-categories>a:hover{transform:translateY(-4px);border-color:#bd95cf;box-shadow:0 14px 28px #693c8520}.perfect-icons-section .perfect-categories>a:hover img{transform:scale(1.04)}}
/* Existing site reveal observer supplies p-reveal only when entering viewport. */
@keyframes perfect-category-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.perfect-icons-section.p-reveal{animation:none}.perfect-icons-section.p-reveal .perfect-categories>a{animation:perfect-category-enter .5s ease backwards}.perfect-icons-section.p-reveal .perfect-categories>a:nth-child(2){animation-delay:.08s}.perfect-icons-section.p-reveal .perfect-categories>a:nth-child(3){animation-delay:.16s}.perfect-icons-section.p-reveal .perfect-categories>a:nth-child(4){animation-delay:.24s}.perfect-icons-section.p-reveal .perfect-categories>a:nth-child(5){animation-delay:.32s}}
@media(prefers-reduced-motion:reduce){.perfect-icons-section .perfect-categories>a,.perfect-icons-section .perfect-categories img{animation:none!important;transition:none!important;transform:none!important}}
