
/* AUD visual interactions: preserves approved composition and imagery */
:root{--aud-gold:#cba65c;--aud-green:#003b30;--aud-ease:cubic-bezier(.22,1,.36,1)}
a,button{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #d4aa53;outline-offset:4px}
.nav-list a,.quick a,.footer-links a,.section-head>a,.partner-link{transition:color .28s ease,background-color .28s ease,transform .28s var(--aud-ease)}
.nav-list a{position:relative}
.nav-list a::after{content:"";position:absolute;right:12px;left:12px;bottom:4px;height:2px;background:var(--aud-gold);transform:scaleX(0);transform-origin:right;transition:transform .3s var(--aud-ease)}
.nav-list a:hover::after,.nav-list a:focus-visible::after,.nav-list a.active::after{transform:scaleX(1)}
.quick a:hover{color:#a57b2e;transform:translateY(-3px)}
.field,.project,.news-row{isolation:isolate;transition:transform .45s var(--aud-ease),box-shadow .45s ease,border-color .3s ease}
.field>img,.project>img,.news-row img{transition:transform .65s var(--aud-ease),filter .5s ease}
.field:hover,.field:focus-visible,.project:hover,.project:focus-within,.news-row:hover,.news-row:focus-visible{transform:translateY(-6px);box-shadow:0 15px 30px #002f2726}
.field:hover>img,.field:focus-visible>img,.project:hover>img,.project:focus-within>img,.news-row:hover img{transform:scale(1.075);filter:saturate(1.1)}
.field>span{transition:background-color .3s ease,padding .3s ease}
.field:hover>span{background:#003e33f5;padding-bottom:13px}
.field i{transition:transform .3s ease,background-color .3s ease}
.field:hover i{transform:translateX(-5px);background:#d2a958;color:#00352b}
.gold-button,.project a,.news-panel a,.partner-link{position:relative;overflow:hidden;transition:transform .3s var(--aud-ease),box-shadow .3s ease,background-color .3s ease}
.gold-button:hover,.gold-button:focus-visible{transform:translateY(-3px);box-shadow:0 9px 24px #0004}
.gold-button::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 15%,#fff7 48%,transparent 80%);transform:translateX(140%);transition:transform .7s ease;pointer-events:none}
.gold-button:hover::before{transform:translateX(-140%)}
.project a:hover,.partner-link:hover{background:#e9d29c;color:#173b2e;box-shadow:0 5px 16px #0002}
.section-head>a:hover,.footer-links a:hover{color:#d2a655;transform:translateX(-3px)}
.about-img>img{transition:transform 1s var(--aud-ease)}
.about-img:hover>img{transform:scale(1.035)}
.play{transition:transform .35s var(--aud-ease),background-color .35s ease,box-shadow .35s ease}
.play:hover,.play:focus-visible{transform:translate(-50%,-50%) scale(1.12);background:#004e40d9;box-shadow:0 0 0 10px #ffffff25}
.section-title:after{transition:width .5s var(--aud-ease)}
.section-title:hover:after{width:115px}
[data-reveal]{opacity:1;transform:none}
.js-effects [data-reveal]:not(.is-visible){opacity:0;transform:translateY(22px)}
.js-effects [data-reveal]{transition:opacity .65s ease,transform .65s var(--aud-ease)}
.js-effects [data-reveal].is-visible{opacity:1;transform:translateY(0)}
/* Never fade hero or original logos */
.hero img,.brand img,.council img{animation:none!important;filter:none!important}
.aud-progress{position:fixed;top:0;right:0;height:3px;width:0;background:linear-gradient(90deg,#b98c39,#efd393);z-index:1000;pointer-events:none}
.aud-to-top{position:fixed;left:20px;bottom:22px;z-index:80;width:43px;height:43px;border:1px solid #d4b66e;border-radius:50%;background:#003b30;color:#f4d58e;box-shadow:0 6px 18px #0003;cursor:pointer;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s ease,transform .25s ease,background .25s ease}
.aud-to-top.show{opacity:1;transform:translateY(0);pointer-events:auto}
.aud-to-top:hover{background:#075746}
@media(hover:none){.field:hover,.project:hover,.news-row:hover,.quick a:hover{transform:none}.field:hover>img,.project:hover>img,.news-row:hover img{transform:none}}
@media(max-width:700px){.nav-list a::after{display:none}.aud-to-top{left:12px;bottom:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}.js-effects [data-reveal]:not(.is-visible){opacity:1;transform:none}}
