/* Final, non-destructive typography policy. Loaded last everywhere. */
html body *:not(#aeko-global-policy),
html body *:not(#aeko-global-policy)::before,
html body *:not(#aeko-global-policy)::after{
  font-family:Inconsolata,monospace!important;
}

html body h1:not(#aeko-global-policy),
html body h2:not(#aeko-global-policy),
html body h3:not(#aeko-global-policy),
html body h1:not(#aeko-global-policy) *,
html body h2:not(#aeko-global-policy) *,
html body h3:not(#aeko-global-policy) *{
  font-family:"Momo Trust Display",sans-serif!important;
  -webkit-text-stroke:0!important;
  text-stroke:0!important;
  paint-order:normal!important;
}

/* Shared refresh/navigation identity. */
.universal-loader-drop{display:block!important;width:112px!important;height:48px!important;border:0!important;background:url('/assets/branding/aeko-soft-logo-hairline.webp') center/contain no-repeat!important;box-shadow:none!important;color:transparent!important;font-size:0!important;filter:drop-shadow(0 10px 14px rgba(36,129,165,.18))}
.aqua-route-loader{z-index:5000!important;inset:0!important;background:radial-gradient(circle at 18% 24%,rgba(38,225,210,.28),transparent 29%),radial-gradient(circle at 82% 72%,rgba(223,73,203,.22),transparent 31%),linear-gradient(135deg,#effefd,#faffff 45%,#fff0fb)!important}
.aqua-route-loader__mark{width:112px!important;height:48px!important;border:0!important;border-radius:0!important;background:url('/assets/branding/aeko-soft-logo-hairline.webp') center/contain no-repeat!important;color:transparent!important;font-size:0!important;box-shadow:none!important;filter:drop-shadow(0 10px 14px rgba(36,129,165,.18))}
.aqua-route-loader__mark:after{display:none!important}
.aqua-route-loader__card{border:1px solid rgba(34,181,194,.38)!important;border-radius:28px!important;background:linear-gradient(145deg,rgba(255,255,255,.93),rgba(226,255,251,.86),rgba(255,231,248,.86))!important;box-shadow:inset 1px 1px #fff,0 28px 70px rgba(25,105,145,.2)!important}

/* Public loading belongs to the content region; navigation chrome stays visible. */
.page-shell>main{position:relative!important}
.page-shell>main>.universal-boot-loader,.page-shell>main>.aqua-route-loader{position:absolute!important;z-index:70!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;border-radius:0!important}
html.aqua-navigating .page-shell>main{height:clamp(320px,42vh,520px)!important;min-height:320px!important;max-height:520px!important;overflow:hidden!important}
.page-shell>.site-footer>div,.page-shell>.site-header>.header-actions{animation:none!important;opacity:1!important;transform:none!important}

/* Public refresh and navigation: clear canvas, centered indicator, header progress. */
html:is(.universal-loading,.aqua-navigating) .page-shell>main{height:max(320px,calc(50svh + 30px))!important;max-height:none!important;background:transparent!important;box-shadow:none!important}
html:is(.universal-loading,.aqua-navigating) .page-shell>main>:not(.universal-boot-loader):not(.aqua-route-loader){visibility:hidden!important}
.page-shell>main>.universal-boot-loader,.page-shell>main>.aqua-route-loader{background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;transition:none!important;pointer-events:none!important}
.page-shell>main>.universal-boot-loader>div,.page-shell>main>.aqua-route-loader>.aqua-route-loader__card{position:fixed!important;top:50vh!important;left:50vw!important;transform:translate(-50%,-50%)!important;box-sizing:border-box;min-width:0!important;width:min(360px,calc(100vw - 32px));padding:28px!important;border:1px solid rgba(34,181,194,.38)!important;border-radius:26px!important;background:radial-gradient(circle at 10% 8%,#fff 0 10px,transparent 32px),linear-gradient(135deg,#e0fff8,#edf6ff 52%,#ffe5f7)!important;box-shadow:inset 0 1px #fff,0 14px 35px #247da324!important;backdrop-filter:none!important}
.page-shell>main>.aqua-route-loader:before{display:none!important}
html:is(.universal-loading,.aqua-navigating) .page-shell>.site-header:after{content:"";position:absolute;top:calc(100% + 1px);left:0;right:auto;width:18%;height:3px;border-radius:999px;pointer-events:none;background:linear-gradient(90deg,#08c8c4,#447cf1,#dd39d4);animation:publicHeaderProgress 1.2s ease-in-out infinite alternate}
/* Same 82%-of-header travel; transform avoids layout on every frame. */
@keyframes publicHeaderProgress{from{transform:translateX(0)}to{transform:translateX(455.555556%)}}
/* The permanent shell never participates in the content reveal. */
.page-shell>.site-header,.page-shell>.site-footer,.page-shell>.copyright,.page-shell>.site-footer>div{opacity:1!important;visibility:visible!important;transform:none!important;animation:none!important}
/* Home is revealed as one completed page, without scroll-triggered entrances. */
body[data-page="home"] main .reveal{opacity:1!important;transform:none!important;transition:none!important}
/* Full document loads reveal the complete shell together. */
html.universal-loading .page-shell>.site-header,html.universal-loading .page-shell>.site-footer,html.universal-loading .page-shell>.copyright,html.universal-loading .page-shell>.site-footer>div{visibility:hidden!important;opacity:0!important}
html.universal-loading .page-shell>main>.universal-boot-loader{visibility:visible!important;opacity:1!important}
/* Staged destination markup must never occupy space beside the outgoing main. */
html.aqua-navigating .page-shell>main[aria-hidden="true"]{position:fixed!important;inset:0!important;visibility:hidden!important;pointer-events:none!important}
@media(prefers-reduced-motion:reduce){html:is(.universal-loading,.aqua-navigating) .page-shell>.site-header:after{animation:none;background-position:center}}
/* Opacity on the ancestor cannot be undone by a route's child visibility rule. */
html:is(.universal-loading,.aqua-navigating) .page-shell>main>:not(.universal-boot-loader):not(.aqua-route-loader){opacity:0!important;pointer-events:none!important}
html.aqua-navigating .page-shell>main[aria-hidden="true"]{opacity:0!important;contain:paint}
html.universal-loading .page-shell>main>.aqua-route-loader{display:none!important}
.page-shell>main>.aqua-route-loader{display:none!important}
html.aqua-navigating .page-shell>main>.aqua-route-loader{display:grid!important}
.page-shell>.universal-boot-loader{background:transparent!important;backdrop-filter:none!important}
html.aqua-navigating .page-shell>main:not([aria-hidden="true"])>:not(.aqua-route-loader){visibility:hidden!important;opacity:0!important;transition:none!important;animation:none!important}
/* One navigation indicator independent of service renderer and route CSS. */
.page-shell>.aqua-route-loader{display:none!important;position:fixed!important;inset:0!important;min-height:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;pointer-events:none!important;transition:none!important;z-index:90!important}
html.aqua-navigating .page-shell>.aqua-route-loader{display:grid!important;visibility:visible!important;opacity:1!important}
.page-shell>.aqua-route-loader:before{display:none!important}
.page-shell>.aqua-route-loader>.aqua-route-loader__card{position:fixed!important;top:50vh!important;left:50vw!important;transform:translate(-50%,-50%)!important;width:min(360px,calc(100vw - 32px));min-width:0!important;box-sizing:border-box;padding:28px!important;backdrop-filter:none!important}
html.aqua-navigating .page-shell>main{visibility:hidden!important;opacity:0!important;transition:none!important;animation:none!important}
html.aqua-navigating .page-shell>.universal-boot-loader{display:none!important}
