/* A-Goal Initiative — Coded header + footer — shared across every redesigned page */
.agoal-chrome{
  --terracotta:#D14622; --terracotta-deep:#A8351A; --navy:#1B2A41; --navy-deep:#0F1B2C;
  --ochre:#D89B3C; --cream:#FBF3E7; --cream-2:#F3E7D6; --paper:#FFFCF7; --charcoal:#2A241F;
  --serif:'Playfair Display',serif; --sans:'Plus Jakarta Sans',sans-serif;
}
.ag-header{position:sticky;top:0;z-index:1200;background:rgba(251,243,231,.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(42,36,31,.08);}
.ag-header .wrap{max-width:1180px;margin-inline:auto;padding-inline:32px;display:flex;align-items:center;justify-content:space-between;height:80px;gap:16px;}
.ag-logo{display:flex;align-items:center;gap:8px;font-family:var(--serif);font-weight:700;font-size:22px;color:var(--terracotta);}
.ag-logo img{height:34px;width:auto;display:block;}
.ag-nav{display:flex;align-items:center;gap:28px;}
@media (max-width:900px){ .ag-nav{display:none;} }
.ag-nav > a, .ag-nav > .ag-drop > button{font-family:var(--sans);font-size:14.5px;font-weight:600;color:var(--navy);background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:4px;padding:4px 0;}
.ag-nav > a:hover, .ag-drop:hover > button{color:var(--terracotta);}
/* Blocksy paints a border/outline box on bare <button>; it lingers after a click.
   Reset it, but keep a real focus ring for keyboard users via :focus-visible. */
.ag-nav > .ag-drop > button{
  background:none!important;background-image:none!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
  outline:none;padding:4px 0!important;margin:0!important;
}
.ag-nav > .ag-drop > button:hover,
.ag-nav > .ag-drop > button:focus,
.ag-nav > .ag-drop > button:active{
  background:none!important;border:0!important;box-shadow:none!important;outline:none;
}
.ag-nav > .ag-drop > button:focus-visible{
  outline:2px solid var(--terracotta);outline-offset:4px;border-radius:4px;
}
.ag-drop{position:relative;}
.ag-drop-panel{position:absolute;top:100%;left:50%;z-index:50;width:340px;transform:translateX(-50%) translateY(-6px);border-radius:18px;border:1px solid rgba(42,36,31,.1);border-top:8px solid transparent;background-color:var(--paper);background-clip:padding-box;padding:.5rem;box-shadow:0 20px 45px -12px rgba(27,42,65,.25);display:flex;flex-direction:column;gap:2px;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease;}
.ag-drop:hover .ag-drop-panel{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.ag-drop-item{display:flex;align-items:flex-start;gap:.75rem;border-radius:12px;padding:.7rem 1rem;text-decoration:none;}
.ag-drop-item:hover{background:var(--cream-2);}
.ag-drop-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;height:2.25rem;width:2.25rem;border-radius:10px;background:var(--cream-2);color:var(--terracotta);}
.ag-drop-text{display:block;}
.ag-drop-item .t{display:block;font-family:var(--sans);font-size:.875rem;font-weight:700;color:var(--navy);}
.ag-drop-item .d{display:block;margin-top:.125rem;font-family:var(--sans);font-size:.75rem;line-height:1.4;color:rgba(42,36,31,.65);}
.ag-cta-btn{background:var(--terracotta);color:#fff!important;font-family:var(--sans);font-weight:700;font-size:14px;padding:11px 22px;border-radius:9999px;display:inline-block;transition:background .2s ease,transform .2s ease;}
.ag-cta-btn:hover{background:var(--terracotta-deep);transform:translateY(-1px);}
.ag-burger{display:none;background:none;border:none;color:var(--navy);cursor:pointer;}
@media (max-width:900px){ .ag-burger{display:block;} .ag-cta-btn{display:none;} }

.ag-footer{background:var(--navy-deep);color:var(--cream);}
.ag-footer .wrap{max-width:1180px;margin-inline:auto;padding-inline:32px;}
.ag-footer-grid{padding-block:64px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;}
@media (max-width:800px){ .ag-footer-grid{grid-template-columns:1fr 1fr;} }
.ag-footer-brand{font-family:var(--serif);font-weight:700;font-size:22px;color:var(--terracotta);}
.ag-footer-tagline{margin-top:14px;font-family:var(--sans);font-size:14px;line-height:1.6;color:rgba(251,243,231,.65);max-width:26rem;}
.ag-footer h4{font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ochre);margin:0 0 16px;}
.ag-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.ag-footer a{font-family:var(--sans);font-size:14px;color:rgba(251,243,231,.75);}
.ag-footer a:hover{color:var(--terracotta);}
.ag-footer-social{margin-top:16px;display:flex;gap:10px;}
.ag-footer-social a{display:flex;align-items:center;justify-content:center;height:36px;width:36px;border-radius:9999px;background:rgba(251,243,231,.08);color:rgba(251,243,231,.8);}
.ag-footer-social a:hover{background:var(--terracotta);color:#fff;}
.ag-footer-bottom{border-top:1px solid rgba(251,243,231,.1);padding-block:20px;text-align:center;font-family:var(--sans);font-size:12px;color:rgba(251,243,231,.55);}
.ag-back-top{position:fixed;bottom:24px;right:24px;z-index:100;display:flex;align-items:center;justify-content:center;height:44px;width:44px;border-radius:9999px;background:var(--navy);color:var(--cream);box-shadow:0 12px 24px rgba(15,27,44,.3);}
.ag-back-top:hover{background:var(--terracotta);}

/* Proactive defensive fixes — applied upfront since visual screenshot verification isn't available this pass */
.ag-header,.ag-header *{font-family:'Plus Jakarta Sans',sans-serif;}
.ag-header .ag-logo{font-family:'Playfair Display',serif!important;color:var(--terracotta)!important;}
.ag-nav>a,.ag-nav>.ag-drop>button{color:var(--navy)!important;}
.ag-nav>a:hover,.ag-drop:hover>button{color:var(--terracotta)!important;}
.ag-drop-item .t{color:var(--navy)!important;}
.ag-drop-item .d{color:rgba(42,36,31,.55)!important;}
.ag-cta-btn{color:#fff!important;}

.ag-footer,.ag-footer *{font-family:'Plus Jakarta Sans',sans-serif;}
.ag-footer-brand{font-family:'Playfair Display',serif!important;color:var(--terracotta)!important;}
.ag-footer-tagline{color:rgba(251,243,231,.65)!important;}
.ag-footer h4{color:var(--ochre)!important;}
.ag-footer ul a{color:rgba(251,243,231,.75)!important;}
.ag-footer ul a:hover{color:var(--terracotta)!important;}
.ag-footer-social a{color:rgba(251,243,231,.8)!important;}
.ag-footer-bottom{color:rgba(251,243,231,.55)!important;}
.ag-back-top{color:var(--cream)!important;}

/* Reset UA defaults on bare elements we reuse */
.agoal-chrome ul{list-style:none;margin:0;padding:0;}
.agoal-chrome button{font:inherit;background:none;border:none;}


/* ---------- Logo image sizing ---------- */
.ag-logo img{height:32px;width:auto;display:block;}
@media (max-width:900px){ .ag-logo img{height:27px;} }

/* ---------- Mobile menu ---------- */
.ag-mobile-menu{display:none;}

@media (max-width:900px){

  .ag-header .wrap{height:64px;padding-inline:20px;}
  .ag-header{border-bottom:1px solid rgba(42,36,31,.10);}

  /* Burger: 44px tap target, bars morph to an X via pseudo-elements
     (markup has a single <path>, so the icon itself can't be morphed) */
  .ag-burger{
    display:flex!important;align-items:center;justify-content:center;
    position:relative;
    width:44px!important;height:44px!important;
    min-width:0!important;min-height:0!important;max-width:none!important;
    margin:0 -10px 0 0!important;padding:0!important;
    background:none!important;background-image:none!important;
    border:0!important;border-radius:0!important;box-shadow:none!important;
    color:var(--navy)!important;-webkit-tap-highlight-color:transparent;
    font-size:0!important;line-height:0!important;text-transform:none!important;
    letter-spacing:normal!important;transform:none!important;
  }
  .ag-burger:hover,.ag-burger:focus,.ag-burger:active,.ag-burger.is-open{
    background:none!important;border:0!important;box-shadow:none!important;
    color:var(--navy)!important;transform:none!important;
  }
  .ag-burger svg{display:block;width:24px;height:24px;color:var(--navy)!important;}
  .ag-burger svg path{stroke:currentColor!important;fill:none!important;}
  .ag-burger svg{transition:opacity .18s ease;}
  .ag-burger.is-open svg{opacity:0;}
  .ag-burger::before,.ag-burger::after{
    content:'';position:absolute;left:50%;top:50%;
    width:20px;height:2px;border-radius:2px;background:currentColor;opacity:0;
    transform:translate(-50%,-50%);
    transition:opacity .18s ease,transform .26s cubic-bezier(.4,0,.2,1);
  }
  .ag-burger.is-open::before{opacity:1;transform:translate(-50%,-50%) rotate(45deg);}
  .ag-burger.is-open::after{opacity:1;transform:translate(-50%,-50%) rotate(-45deg);}

  /* Sheet: navy-deep contrast panel, rises from below the header */
  .ag-mobile-menu{
    display:flex;flex-direction:column;
    position:fixed;top:0;left:0;right:0;bottom:0;z-index:1100;
    background:var(--navy-deep);
    padding:calc(var(--ag-header-h,64px) + 24px) 24px calc(32px + env(safe-area-inset-bottom));
    overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
    opacity:0;visibility:hidden;transform:translateY(10px);
    transition:opacity .28s ease,transform .32s cubic-bezier(.4,0,.2,1),visibility 0s linear .32s;
  }
  .ag-mobile-menu.open{opacity:1;visibility:visible;transform:translateY(0);transition-delay:0s;}

  /* Single authored entrance: items settle in sequence */
  .ag-mobile-menu > *{opacity:0;transform:translateY(8px);transition:opacity .3s ease,transform .3s ease;}
  .ag-mobile-menu.open > *{opacity:1;transform:translateY(0);}
  .ag-mobile-menu.open > :nth-child(1){transition-delay:.06s;}
  .ag-mobile-menu.open > :nth-child(2){transition-delay:.10s;}
  .ag-mobile-menu.open > :nth-child(3){transition-delay:.14s;}
  .ag-mobile-menu.open > :nth-child(4){transition-delay:.18s;}
  .ag-mobile-menu.open > :nth-child(5){transition-delay:.22s;}
  .ag-mobile-menu.open > :nth-child(6){transition-delay:.26s;}

  /* Top level: editorial serif, cream on navy */
  .ag-m-link,.ag-m-group > button{
    display:flex!important;align-items:center;justify-content:space-between;gap:12px;
    width:100%!important;max-width:none!important;
    font-family:var(--serif)!important;font-size:23px!important;font-weight:600!important;
    line-height:1.2!important;text-transform:none!important;letter-spacing:-.01em!important;
    color:var(--cream)!important;
    background:none!important;background-image:none!important;
    border:0!important;border-radius:0!important;box-shadow:none!important;
    border-bottom:1px solid rgba(251,243,231,.12)!important;
    padding:18px 2px!important;margin:0!important;
    text-align:left!important;cursor:pointer;text-decoration:none!important;
    transform:none!important;-webkit-tap-highlight-color:transparent;
  }
  .ag-m-link:hover,.ag-m-link:focus,.ag-m-group > button:hover,.ag-m-group > button:focus{
    background:none!important;box-shadow:none!important;transform:none!important;
    color:var(--cream)!important;
  }
  .ag-m-link:active,.ag-m-group > button:active{color:var(--ochre)!important;background:none!important;}
  .ag-m-group > button svg{flex-shrink:0;color:rgba(251,243,231,.5);transition:transform .26s cubic-bezier(.4,0,.2,1),color .2s ease;}
  .ag-m-group.expanded > button{color:var(--ochre)!important;border-bottom-color:transparent!important;}
  .ag-m-group.expanded > button svg{transform:rotate(180deg);color:var(--ochre)!important;}

  /* Accordion: max-height so every child collapses, not just the first */
  .ag-m-sub{
    max-height:0;overflow:hidden;
    border-bottom:1px solid rgba(251,243,231,.12);
    transition:max-height .34s cubic-bezier(.4,0,.2,1);
  }
  .ag-m-group.expanded .ag-m-sub{max-height:460px;}
  .ag-m-sub a{
    position:relative;display:block;
    font-family:var(--sans);font-size:15px;font-weight:500;line-height:1.35;
    color:rgba(251,243,231,.66);
    padding:13px 2px 13px 18px;text-decoration:none;
  }
  .ag-m-sub a::before{
    content:'';position:absolute;left:0;top:50%;
    width:6px;height:1px;background:var(--ochre);opacity:.55;
  }
  .ag-m-sub a:active{color:var(--cream);}
  .ag-m-sub a:last-child{padding-bottom:20px;}

  /* CTA anchored after the list */
  .ag-m-cta{
    margin-top:auto;padding-top:28px;
    display:flex;align-items:center;justify-content:center;
    text-decoration:none;
  }
  .ag-m-cta{
    margin-top:32px;background:var(--terracotta);color:#fff!important;
    font-family:var(--sans);font-weight:700;font-size:15.5px;letter-spacing:.01em;
    padding:17px 24px;border-radius:9999px;
  }
  .ag-m-cta:active{background:var(--terracotta-deep);}

  /* Defensive: Blocksy resets that leak into the sheet */
  .ag-mobile-menu a{text-decoration:none!important;}
  .ag-mobile-menu .ag-m-link{color:var(--cream)!important;}
  .ag-mobile-menu .ag-m-sub a{color:rgba(251,243,231,.66)!important;}
  .ag-mobile-menu .ag-m-cta{color:#fff!important;}
  .ag-mobile-menu button{font:inherit;background:none;border:none;}
}

@media (max-width:900px) and (prefers-reduced-motion:reduce){
  .ag-mobile-menu,.ag-mobile-menu > *,.ag-m-sub,.ag-burger::before,.ag-burger::after{transition-duration:.01ms!important;}
  .ag-mobile-menu > *{transition-delay:0s!important;}
}

/* ---------- Shared final CTA band (agoal-cta.php) ----------
   Replaces aa-cta / ai-cta / ap-cta / ph-cta. Values taken from the design file.
   Colour fallbacks are literal in case the section renders outside .agoal-chrome. */
.ag-cta-band{background:var(--navy,#1B2A41);color:var(--cream,#FBF3E7);padding-block:80px;}
.ag-cta-band .wrap{max-width:1180px;margin-inline:auto;padding-inline:32px;display:flex;align-items:flex-end;justify-content:space-between;gap:48px;}
.ag-cta-copy{max-width:32rem;}
.ag-cta-band h2{font-family:var(--serif,'Playfair Display',serif)!important;font-size:36px;line-height:1.15;font-weight:700;color:var(--cream,#FBF3E7)!important;margin:0;text-wrap:balance;}
.ag-cta-band p{margin:16px 0 0;font-family:var(--sans,'Plus Jakarta Sans',sans-serif);font-size:16px;line-height:1.7;color:rgba(251,243,231,.7)!important;}
.ag-cta-form{display:flex;width:100%;max-width:26rem;align-items:flex-end;gap:16px;}
.ag-cta-form input[type=email]{width:100%;border:0!important;border-bottom:1px solid rgba(251,243,231,.35)!important;border-radius:0!important;background:transparent!important;padding:12px 0!important;font-family:var(--sans,'Plus Jakarta Sans',sans-serif);font-size:15px;color:var(--cream,#FBF3E7)!important;box-shadow:none!important;transition:border-color .2s ease;}
.ag-cta-form input[type=email]::placeholder{color:rgba(251,243,231,.45);}
.ag-cta-form input[type=email]:focus{outline:none;border-bottom-color:var(--ochre,#D89B3C)!important;box-shadow:none!important;}
.ag-cta-form button{flex-shrink:0;cursor:pointer;border-radius:9999px!important;border:1px solid var(--ochre,#D89B3C)!important;background:transparent!important;padding:12px 28px!important;font-family:var(--sans,'Plus Jakarta Sans',sans-serif);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ochre,#D89B3C)!important;transition:background .2s ease,color .2s ease;}
.ag-cta-form button:hover,.ag-cta-form button:focus-visible{background:var(--ochre,#D89B3C)!important;color:var(--navy,#1B2A41)!important;}
.ag-cta-band .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
@media (max-width:900px){
  .ag-cta-band{padding-block:56px;}
  .ag-cta-band .wrap{flex-direction:column;align-items:stretch;gap:28px;padding-inline:20px;}
  .ag-cta-band h2{font-size:28px;}
  .ag-cta-form{max-width:none;}
}
@media (max-width:520px){
  .ag-cta-form{flex-direction:column;align-items:stretch;gap:14px;}
  .ag-cta-form button{width:100%;padding:15px 24px!important;}
}
