/* Shared production public shell. Page-specific designs live in their own CSS files. */
body.publicStandalone{background:var(--light);min-height:100vh}
body.publicStandalone .view{display:block}
a.primary,a.secondary,.publicNavLink,.publicSiteFooter a{text-decoration:none}
.publicHeader .brand{text-decoration:none}
#productionNav{align-items:center}
.publicNavLink{display:inline-flex;align-items:center;border:0;background:none;padding:11px;border-radius:10px;color:#4d5870;text-decoration:none;white-space:nowrap}
.publicNavLink:hover,.publicNavLink.active{color:var(--navy);background:#f2f4fa}
.publicNavLink.dark{background:var(--ink);color:#fff}
.publicNavLink.dark:hover{background:var(--navy);color:#fff}
a.primary,a.secondary{display:inline-flex;align-items:center;justify-content:center}

/* Approved v36 footer, converted from demo buttons to real anchors. */
.publicSiteFooter{display:block!important;width:100%!important;background:linear-gradient(135deg,#11194a 0%,#15335b 55%,#12466c 100%)!important;color:#fff;padding:0!important;margin:0!important;text-align:left!important;font-size:inherit!important;position:relative;overflow:hidden}
.publicSiteFooter:before,.publicSiteFooter:after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:0}
.publicSiteFooter:before{width:520px;height:520px;border:75px solid #44b0e512;right:-170px;top:-300px;animation:footerRingDrift 14s ease-in-out infinite}
.publicSiteFooter:after{width:280px;height:280px;background:radial-gradient(circle,#44b0e516,transparent 68%);left:32%;bottom:-170px;animation:footerGlowDrift 11s ease-in-out infinite}
.publicSiteFooter .footerMain,.publicSiteFooter .footerBottom{position:relative;z-index:1;width:100%;box-sizing:border-box}
.footerMain{display:grid;grid-template-columns:1.55fr .7fr .7fr 1.05fr;gap:42px;padding:58px 7vw 45px;max-width:1600px;margin:auto}
.footerBrandLogo{width:min(100%,310px)!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
.footerBrandLogo:before{display:none!important}
.footerBrandLogo img{width:auto!important;max-width:100%!important;height:100px!important;object-fit:contain!important;object-position:left center!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;filter:drop-shadow(0 9px 15px #02061770)!important;animation:footerCompositeFloat 5s ease-in-out infinite}
.footerBrand h3{font-size:25px;margin:22px 0 7px}
.footerBrand p,.footerVisit p{color:#aeb7cf;line-height:1.65;max-width:390px}
.footerBrand>p{margin-top:16px!important}
.footerMain>section:not(.footerBrand){display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.footerMain>section>b{font-size:8px;color:var(--sky);letter-spacing:.16em;margin-bottom:8px}
.publicSiteFooter a{color:#cbd2e3;text-decoration:none;transition:.2s}
.publicSiteFooter .footerMain>section:not(.footerBrand)>a:hover,.publicSiteFooter .footerBottom a:hover{color:#fff;transform:translateX(3px)}
.footerActions{display:flex;gap:9px;margin-top:17px}
.footerActions a{border:1px solid #ffffff33!important;border-radius:8px!important;padding:10px 14px!important;color:#fff!important;font-weight:700}
.footerActions .footerPrimary{background:var(--orange)!important;border-color:var(--orange)!important;position:relative;overflow:hidden}
.footerActions .footerPrimary:after{content:"";position:absolute;inset:-70% -30%;background:linear-gradient(110deg,transparent 42%,#ffffff55 50%,transparent 58%);transform:translateX(-80%);animation:footerButtonShine 4.8s ease-in-out infinite}
.footerVisit{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:12px!important;padding:0!important;border:0!important}
.footerVisit>b{font-size:8px;color:var(--sky);letter-spacing:.16em;margin-bottom:8px}
.footerVisit p{margin:0;color:#bdc7da!important}
.footerBottom{display:grid!important;clear:both;grid-template-columns:minmax(260px,auto) minmax(360px,1fr) minmax(250px,auto)!important;border-top:1px solid #ffffff20;max-width:none!important;margin:0!important;padding:18px 7vw 22px!important;align-items:center;gap:25px;color:#8892ac;background:#07102a55;backdrop-filter:blur(4px)}
.footerBottom>span,.footerBottom>small{min-width:0}
.footerBottom>span{white-space:nowrap}
.footerBottom>div{display:flex!important;align-items:center;justify-content:center;gap:22px;min-width:0}
.footerBottom a{font-size:9px;color:#9fa8bd;white-space:nowrap}
.footerBottom>small{text-align:right;line-height:1.4;font-size:8px;color:#69738d;white-space:normal}
@keyframes footerRingDrift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-28px,22px) scale(1.06)}}
@keyframes footerGlowDrift{0%,100%{transform:translateY(0);opacity:.7}50%{transform:translateY(-28px);opacity:1}}
@keyframes footerCompositeFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.015)}}
@keyframes footerButtonShine{0%,65%{transform:translateX(-90%)}90%,100%{transform:translateX(90%)}}

.publicActionModal{display:none;position:fixed;inset:0;background:#090e21cc;z-index:80;place-items:center;padding:20px}
.publicActionModal.open{display:grid}
.publicActionDialog{width:min(520px,100%);background:#fff;border-radius:22px;padding:30px;position:relative;box-shadow:0 30px 80px #0005}
.publicActionDialog h2{font-size:30px;margin:8px 0}.publicActionDialog p{color:var(--muted);line-height:1.65}.publicActionDialog .authGateActions{display:flex;gap:10px;margin-top:20px}.publicActionDialog .authGateActions a{text-decoration:none;text-align:center;flex:1}.publicActionClose{position:absolute;right:15px;top:15px;border:0;background:#eef1f7;width:36px;height:36px;border-radius:50%;font-size:20px}
@media(max-width:1150px){.footerMain{grid-template-columns:1.4fr .7fr .7fr}.footerVisit{grid-column:1/4!important;border-top:1px solid #ffffff18!important;padding-top:24px!important;max-width:600px}}
@media(max-width:1000px){.publicSiteFooter .footerBottom{grid-template-columns:1fr!important;gap:12px!important}.footerBottom>span{white-space:normal}.footerBottom>div{justify-content:flex-start!important;flex-wrap:wrap}.footerBottom>small{text-align:left!important}}
@media(max-width:900px){#productionNav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:15px;box-shadow:0 15px 30px #17204b16}#productionNav.open{display:grid}.publicNavLink{width:100%}.publicHeader #menu{display:block}}
@media(max-width:650px){.footerMain{grid-template-columns:1fr 1fr;padding:42px 24px 35px;gap:32px}.footerBrand,.footerVisit{grid-column:1/3!important}.footerBrandLogo{width:min(100%,285px)!important}.footerBrandLogo img{height:100px!important}.footerActions{display:grid}.footerBottom{padding:18px 24px!important}.publicActionDialog .authGateActions{display:grid}}
@media(prefers-reduced-motion:reduce){.publicSiteFooter:before,.publicSiteFooter:after,.footerBrandLogo img,.footerActions .footerPrimary:after{animation:none!important}}
