/* HallowixStudios V28 — shared art direction for public surfaces. */
:root{--hx-v28-moss:#5C7A5E;--hx-v28-plum:#8B4C63;--hx-v28-gold:#D9B36C}
body.hx-ambient-v28{background:var(--bg);position:relative;isolation:isolate}
body.hx-ambient-v28::before,body.hx-ambient-v28::after{content:"";position:fixed;pointer-events:none;z-index:0;opacity:.78;filter:blur(.2px)}
body.hx-ambient-v28::before{width:58vw;height:58vw;max-width:920px;max-height:920px;left:-18vw;top:9vh;clip-path:polygon(8% 18%,62% 0,100% 26%,88% 74%,58% 100%,12% 82%,0 47%);background:linear-gradient(145deg,color-mix(in srgb,var(--hx-v28-moss) 28%,transparent),color-mix(in srgb,var(--hx-v28-gold) 9%,transparent));animation:hxV28AmbientA 18s ease-in-out infinite alternate}
body.hx-ambient-v28::after{width:54vw;height:54vw;max-width:860px;max-height:860px;right:-17vw;top:33vh;clip-path:polygon(20% 0,84% 8%,100% 45%,78% 100%,19% 84%,0 31%);background:linear-gradient(145deg,color-mix(in srgb,var(--hx-v28-plum) 24%,transparent),color-mix(in srgb,var(--hx-v28-moss) 10%,transparent));animation:hxV28AmbientB 21s ease-in-out infinite alternate}
body.hx-ambient-v28 main,body.hx-ambient-v28 footer,body.hx-ambient-v28 .apply-shell,body.hx-ambient-v28 .auth-wrap{position:relative;z-index:1}
/* Remove the legacy floating ring from the Home "Why choose Hallowix" block. */
body.hx-home-v28 .why-section::before{display:none!important;content:none!important}
body.hx-home-v28 .why-section::after{background:linear-gradient(145deg,transparent 0 36%,color-mix(in srgb,var(--moss) 5%,transparent) 36.4% 37%,transparent 37.4% 100%),linear-gradient(32deg,transparent 0 72%,color-mix(in srgb,var(--lantern) 3%,transparent) 72.4% 73%,transparent 73.4% 100%)!important;mask-image:none!important;opacity:.48!important}
/* Public section surfaces stay atmospheric rather than flat. */
body.hx-home-v28 .why-section,body.hx-home-v28 .portfolio-section,body.hx-home-v28 .reviews-section{background-color:transparent!important;background-image:linear-gradient(145deg,color-mix(in srgb,var(--surface) 76%,transparent),color-mix(in srgb,var(--bg) 62%,transparent))!important;backdrop-filter:blur(2px)}
body.hx-portfolio-v28 main,body.hx-about-v28 main{background:transparent!important}
body.hx-portfolio-v28 .portfolio-v21-hero,body.hx-about-v28 .hero{background:radial-gradient(700px 420px at 12% 22%,color-mix(in srgb,var(--moss) 15%,transparent),transparent 70%),radial-gradient(620px 420px at 88% 28%,color-mix(in srgb,var(--plum) 16%,transparent),transparent 72%),transparent!important}
/* Apply/Auth use the same polygon language as Portfolio. */
body.hx-apply-v28,body.hx-auth-v28{background:
 radial-gradient(760px 480px at 18% 20%,color-mix(in srgb,var(--moss) 16%,transparent),transparent 72%),
 radial-gradient(760px 500px at 86% 74%,color-mix(in srgb,var(--plum) 17%,transparent),transparent 72%),var(--bg)!important}
body.hx-apply-v28::before,body.hx-auth-v28::before{left:-15vw;top:-13vh;opacity:.92}body.hx-apply-v28::after,body.hx-auth-v28::after{right:-16vw;top:45vh;opacity:.88}
body.hx-apply-v28 .apply-card,body.hx-auth-v28 .auth-shell{box-shadow:0 34px 100px rgba(0,0,0,.28),0 0 0 1px color-mix(in srgb,var(--lantern) 7%,transparent)!important}
@keyframes hxV28AmbientA{to{transform:translate(4vw,3vh) rotate(5deg) scale(1.04)}}@keyframes hxV28AmbientB{to{transform:translate(-4vw,-2vh) rotate(-5deg) scale(1.05)}}
@media(prefers-reduced-motion:reduce){body.hx-ambient-v28::before,body.hx-ambient-v28::after{animation:none!important}}
