
/* APSHINFO Global Brand/Header V3 — logo-derived palette */
:root{
 --ap-aqua:#18aeb1;--ap-aqua-dark:#0b858b;--ap-orange:#f58220;--ap-orange-deep:#df651c;
 --ap-gold:#d3a349;--ap-green:#0b604d;--ap-forest:#153c38;--ap-cream:#fbf5e9;--ap-ink:#193d3a;
}
.public-header{position:relative;z-index:80}
.public-topbar{background:linear-gradient(90deg,#087f86,#0b604d)!important;color:#fff!important}
.public-topbar-inner{min-height:32px!important;padding-top:3px!important;padding-bottom:3px!important}
.public-contact-links,.public-social-links{gap:11px!important}
.public-contact-links a,.public-social-links a,.public-social-links span{color:#efffff!important;font-size:11px!important}
.public-social-links a{width:24px;height:24px;border:1px solid rgba(255,255,255,.26);border-radius:50%;display:inline-grid;place-items:center}
.public-social-links a:hover{background:var(--ap-orange);border-color:var(--ap-orange);transform:translateY(-1px)}
.public-notice-bar{min-height:29px!important;background:linear-gradient(90deg,#f8ead0,#fff8ec)!important;border-bottom:1px solid #e1bd77!important;color:#70471e!important}
.public-notice-label{background:var(--ap-orange)!important;color:#fff!important;padding-inline:16px!important}
.public-notice-track{font-size:10.5px!important;font-weight:750!important}
.public-navbar{height:70px!important;min-height:70px!important;background:rgba(255,255,255,.98)!important;border-bottom:1px solid rgba(19,91,78,.12)!important;box-shadow:0 7px 23px rgba(23,58,53,.08)!important;overflow:visible!important}
.public-navbar-inner{height:70px!important;min-height:70px!important;overflow:visible!important}
.public-brand{width:112px!important;min-width:112px!important;height:70px!important;position:relative!important;overflow:visible!important}
.public-brand-copy{display:none!important}
.public-logo-circle{
 position:absolute!important;left:2px!important;top:50%!important;transform:translateY(-43%)!important;
 width:106px!important;height:106px!important;min-width:106px!important;border-radius:50%!important;
 background:#fff!important;border:3px solid #e6b758!important;box-shadow:
  0 0 0 5px rgba(24,174,177,.16),0 12px 25px rgba(12,72,64,.21),inset 0 0 0 2px rgba(255,255,255,.8)!important;
 z-index:90!important;overflow:hidden!important;
}
.public-logo-circle img{width:100%!important;height:100%!important;object-fit:contain!important;padding:3px!important}
.public-desktop-menu{margin-left:8px!important;gap:1px!important}
.public-nav-link{padding:10px 10px!important;border-radius:10px!important;font-size:12px!important;color:#324b49!important;font-weight:800!important}
.public-nav-link:hover,.public-nav-link.active{background:#e9f5f3!important;color:#08746d!important}
.public-header-actions{gap:8px!important}
.public-header-actions .public-donate-btn{
 width:50px!important;height:50px!important;min-width:50px!important;border-radius:50%!important;padding:0!important;
 font-size:0!important;background:linear-gradient(145deg,var(--ap-orange),#f6a219)!important;
 border:2px solid #ffd495!important;box-shadow:0 8px 18px rgba(232,110,28,.25)!important;
 display:inline-grid!important;place-items:center!important;
}
.public-header-actions .public-donate-btn:before{content:"\f004";font-family:"Font Awesome 6 Free";font-weight:900;font-size:18px;color:#fff}
.public-header-actions .public-donate-btn i{display:none!important}
.public-login-btn{border-color:#8dc8c4!important;color:#0b675d!important;border-radius:12px!important}
.floating-action-stack{
 position:fixed!important;right:18px!important;bottom:22px!important;z-index:999!important;
 display:flex!important;flex-direction:column!important;gap:9px!important;align-items:center!important;
}
.floating-action-stack .floating-action{
 width:48px!important;height:48px!important;min-width:48px!important;border-radius:50%!important;padding:0!important;
 display:flex!important;align-items:center!important;justify-content:center!important;border:2px solid rgba(255,255,255,.72)!important;
 box-shadow:0 8px 20px rgba(17,57,50,.2)!important;transition:.2s ease!important;
}
.floating-action-stack .floating-action:hover{transform:translateY(-2px) scale(1.03)}
.floating-action--donate{background:var(--ap-orange)!important;color:#fff!important}
.floating-action--call{background:var(--ap-aqua-dark)!important;color:#fff!important}
.floating-action--whatsapp{background:#20b867!important;color:#fff!important}
.floating-action-stack .back-to-top{background:var(--ap-forest)!important;color:#fff!important}
.floating-action-stack .floating-action__label{display:none!important}
.ax-ai-launch{
 width:52px!important;height:52px!important;min-width:52px!important;border-radius:50%!important;padding:0!important;
 display:grid!important;place-items:center!important;background:linear-gradient(145deg,#0ba6a6,#0b7c70)!important;
 border:2px solid #9ee4dd!important;box-shadow:0 9px 22px rgba(13,106,95,.24)!important;font-size:0!important;
 right:18px!important;
}
.ax-ai-launch i{font-size:18px!important;margin:0!important}.ax-ai-launch span{display:none!important}
@media(max-width:1120px){
 .public-logo-circle{width:90px!important;height:90px!important;min-width:90px!important}
 .public-brand{width:92px!important;min-width:92px!important}
 .public-nav-link{padding:9px 7px!important;font-size:11px!important}
}
@media(max-width:900px){
 .public-navbar,.public-navbar-inner{height:64px!important;min-height:64px!important}
 .public-brand{width:78px!important;min-width:78px!important;height:64px!important}
 .public-logo-circle{width:76px!important;height:76px!important;min-width:76px!important;left:0!important;transform:translateY(-44%)!important}
 .public-topbar-inner{min-height:30px!important}
 .public-contact-links a span{display:none!important}
 .public-social-links>span{display:none!important}
}
@media(max-width:640px){
 .public-topbar{display:block!important}
 .public-topbar-inner{padding-inline:10px!important}
 .public-social-links a{width:22px;height:22px}
 .public-notice-label span{display:none}
 .floating-action-stack{right:10px!important;bottom:14px!important;gap:7px!important}
 .floating-action-stack .floating-action{width:44px!important;height:44px!important;min-width:44px!important}
}


/* APSHINFO V3.2 — true half-navbar / half-hero embossed seal */
.public-header,
.public-navbar,
.public-navbar-inner,
.public-brand{
 overflow:visible!important;
}
.public-navbar{position:relative!important;z-index:90!important}
.public-navbar-inner{position:relative!important}
.public-brand{
 position:relative!important;
 align-self:stretch!important;
 height:70px!important;
 z-index:110!important;
}
.public-logo-circle{
 left:4px!important;
 top:100%!important;
 transform:translateY(-50%)!important;
 width:104px!important;
 height:104px!important;
 min-width:104px!important;
 border-radius:50%!important;
 background:#fff!important;
 border:3px solid #e4a83f!important;
 box-shadow:
  0 0 0 4px rgba(29,176,179,.18),
  0 0 0 9px rgba(255,255,255,.55),
  0 13px 27px rgba(8,71,63,.25),
  inset 0 0 0 2px rgba(255,255,255,.95)!important;
 z-index:120!important;
 isolation:isolate;
}
.public-logo-circle:before,
.public-logo-circle:after{
 content:"";
 position:absolute;
 border-radius:50%;
 pointer-events:none;
 z-index:-1;
}
.public-logo-circle:before{
 inset:-8px;
 border:1px solid rgba(24,174,177,.46);
 animation:apLogoBreathe 3.2s ease-in-out infinite;
}
.public-logo-circle:after{
 inset:-15px;
 border:1px solid rgba(229,166,65,.25);
 animation:apLogoBreathe2 3.2s ease-in-out infinite;
}
.public-logo-circle img{
 display:block!important;
 width:100%!important;
 height:100%!important;
 object-fit:contain!important;
 padding:4px!important;
 border-radius:50%!important;
 background:#fff!important;
}
@keyframes apLogoBreathe{
 0%,100%{transform:scale(.97);opacity:.30}
 50%{transform:scale(1.045);opacity:.68}
}
@keyframes apLogoBreathe2{
 0%,100%{transform:scale(.96);opacity:.12}
 50%{transform:scale(1.07);opacity:.38}
}

/* Reserve horizontal room, not vertical room. */
.public-brand{width:118px!important;min-width:118px!important}
.public-desktop-menu{margin-left:4px!important}

/* Logo must float over the hero, never be hidden below it. */
.public-header + main,
.public-header + .v2,
.public-header + #main-content{
 position:relative;
 z-index:1;
}

@media(max-width:1120px){
 .public-logo-circle{width:94px!important;height:94px!important;min-width:94px!important}
 .public-brand{width:104px!important;min-width:104px!important}
}
@media(max-width:900px){
 .public-brand{height:64px!important;width:86px!important;min-width:86px!important}
 .public-logo-circle{
  width:82px!important;height:82px!important;min-width:82px!important;
  top:100%!important;left:2px!important;transform:translateY(-50%)!important
 }
}
@media(prefers-reduced-motion:reduce){
 .public-logo-circle:before,.public-logo-circle:after{animation:none!important}
}


/* APSHINFO V3.3 — FINAL LARGE HALF-MENU / HALF-HERO LOGO + HORIZONTAL FLOATING ACTIONS */

/* The navbar must allow the seal to overflow downward into hero. */
.public-header,
.public-navbar,
.public-navbar-inner,
.public-brand{
    overflow:visible!important;
}
.public-navbar{
    position:relative!important;
    z-index:90!important;
}
.public-navbar-inner{
    position:relative!important;
    min-height:70px!important;
    height:70px!important;
}

/* Reserve HORIZONTAL width for the large seal without increasing header height. */
.public-brand{
    position:relative!important;
    width:190px!important;
    min-width:190px!important;
    height:70px!important;
    align-self:stretch!important;
    z-index:130!important;
}

/*
   BIG SEAL:
   top:100% puts the centre at the bottom edge of navbar.
   translateY(-50%) means exactly half above / half below that edge.
*/
.public-logo-circle{
    position:absolute!important;
    left:18px!important;
    top:100%!important;
    transform:translateY(-50%)!important;

    width:170px!important;
    height:170px!important;
    min-width:170px!important;

    border-radius:50%!important;
    overflow:visible!important;
    background:#fff!important;
    border:4px solid #dfa338!important;

    box-shadow:
      0 0 0 5px rgba(25,177,181,.22),
      0 0 0 10px rgba(255,255,255,.72),
      0 0 0 13px rgba(223,163,56,.20),
      0 17px 34px rgba(8,64,59,.27),
      inset 0 0 0 2px rgba(255,255,255,.98)!important;

    z-index:150!important;
    isolation:isolate;
}

/* breathing embossed halo */
.public-logo-circle:before,
.public-logo-circle:after{
    content:"";
    position:absolute;
    border-radius:50%;
    pointer-events:none;
    z-index:-1;
}
.public-logo-circle:before{
    inset:-11px;
    border:2px solid rgba(24,174,177,.34);
    animation:apLogoV33Breath 3.4s ease-in-out infinite;
}
.public-logo-circle:after{
    inset:-20px;
    border:1px solid rgba(226,164,57,.26);
    animation:apLogoV33BreathOuter 3.4s ease-in-out infinite;
}
.public-logo-circle img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:contain!important;
    padding:5px!important;
    border-radius:50%!important;
    background:#fff!important;
}

@keyframes apLogoV33Breath{
    0%,100%{transform:scale(.98);opacity:.28}
    50%{transform:scale(1.045);opacity:.70}
}
@keyframes apLogoV33BreathOuter{
    0%,100%{transform:scale(.97);opacity:.10}
    50%{transform:scale(1.075);opacity:.38}
}

/* Keep menu starting after the logo, still no extra navbar height. */
.public-desktop-menu{
    margin-left:4px!important;
}

/* Ensure the hero stays underneath the floating seal. */
.public-header + main,
.public-header + .v2,
.public-header + #main-content{
    position:relative!important;
    z-index:1!important;
}

/* FOUR FLOATING CIRCLES — ONE HORIZONTAL LINE */
.floating-action-stack{
    position:fixed!important;
    right:18px!important;
    bottom:18px!important;

    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:7px!important;

    width:auto!important;
    z-index:9999!important;
}
.floating-action-stack .floating-action{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    flex:0 0 42px!important;

    border-radius:50%!important;
    padding:0!important;
    margin:0!important;

    display:flex!important;
    align-items:center!important;
    justify-content:center!important;

    border:2px solid rgba(255,255,255,.78)!important;
    box-shadow:0 6px 15px rgba(16,58,52,.20)!important;
}
.floating-action-stack .floating-action i{
    font-size:14px!important;
}
.floating-action-stack .back-to-top{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
}

/* Keep AI guide separate above the horizontal row so it never hides a circle. */
.ax-ai-launch{
    right:18px!important;
    bottom:70px!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    border-radius:50%!important;
    z-index:9999!important;
}

/* Smaller desktop/tablet seal, but still clearly overlapping 50/50 */
@media(max-width:1180px){
    .public-brand{
        width:160px!important;
        min-width:160px!important;
    }
    .public-logo-circle{
        width:142px!important;
        height:142px!important;
        min-width:142px!important;
        left:10px!important;
    }
}

/* Mobile keeps the same principle but safely scaled. */
@media(max-width:900px){
    .public-navbar,
    .public-navbar-inner{
        height:64px!important;
        min-height:64px!important;
    }
    .public-brand{
        width:112px!important;
        min-width:112px!important;
        height:64px!important;
    }
    .public-logo-circle{
        width:102px!important;
        height:102px!important;
        min-width:102px!important;
        left:5px!important;
        top:100%!important;
        transform:translateY(-50%)!important;
    }
    .floating-action-stack{
        right:10px!important;
        bottom:12px!important;
        gap:5px!important;
    }
    .floating-action-stack .floating-action{
        width:38px!important;
        height:38px!important;
        min-width:38px!important;
        flex-basis:38px!important;
    }
    .ax-ai-launch{
        right:10px!important;
        bottom:59px!important;
        width:40px!important;
        height:40px!important;
        min-width:40px!important;
    }
}

@media(max-width:520px){
    .public-brand{
        width:98px!important;
        min-width:98px!important;
    }
    .public-logo-circle{
        width:90px!important;
        height:90px!important;
        min-width:90px!important;
        left:4px!important;
    }

    /* keep all four in a single row even on mobile */
    .floating-action-stack{
        max-width:calc(100vw - 20px)!important;
        flex-wrap:nowrap!important;
    }
    .floating-action-stack .floating-action{
        width:36px!important;
        height:36px!important;
        min-width:36px!important;
        flex-basis:36px!important;
    }
}

@media(prefers-reduced-motion:reduce){
    .public-logo-circle:before,
    .public-logo-circle:after{
        animation:none!important;
    }
}
