/* About Face And Body header: WES jumbo nav (jumbomenu.md) in the brand palette.
   Contrast (measured): white on teal #366a6d 6.0:1; teal on white 6.0:1;
   teal on blush #fce1d4 5.0:1; deep teal #234548 on blush 8.6:1.
   Rules kept from the spec: no backdrop-filter / transform / filter on any
   ancestor of the drawer, no overflow:hidden between header and panels,
   column titles are spans, triggers are buttons. */
:root{--afab-teal:#366a6d;--afab-teal-d:#234548;--afab-blush:#fce1d4;--afab-pink:#f08e8a;--afab-cream:#faf6f1;--afab-line:#e9dfd6;--afab-text:#3f463c}
.afab-header{position:sticky;top:0;z-index:1000;background:var(--afab-teal);font-family:Tranquillo,"Josefin Sans",sans-serif}
.afab-header *,.afab-header *::before,.afab-header *::after{box-sizing:border-box}
.afab-wrap{max-width:1320px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.afab-header svg{width:15px;height:15px;flex-shrink:0}

/* utility bar */
.afab-util{background:var(--afab-teal-d);color:#fff;font-size:13px;letter-spacing:.04em}
.afab-util .afab-wrap{min-height:36px}
.afab-util a{color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:7px}
.afab-util a:hover{text-decoration:underline}
.afab-util-left,.afab-util-right{display:flex;align-items:center;gap:22px}
.afab-util-social{display:inline-flex;gap:12px}
.afab-util-social a:hover{text-decoration:none;opacity:.8}
.afab-header.scrolled .afab-util{display:none}

/* main bar */
.afab-main .afab-wrap{min-height:78px}
.afab-logo{display:block;flex-shrink:0}
.afab-logo img{display:block;width:230px;height:auto}
.afab-header.scrolled .afab-main .afab-wrap{min-height:66px}
.nav{display:block}
.nav__menu{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0}
.nav__item{position:relative;margin:0;padding:0;list-style:none}
.nav .nav__link,.nav .mega-trigger{display:inline-flex;align-items:center;gap:6px;background:none;border:0;font:inherit;color:#fff;cursor:pointer;
  text-transform:uppercase;letter-spacing:.13em;font-size:.8rem;padding:6px 0;-webkit-appearance:none;appearance:none;font-family:"Tranquillo Bold","Josefin Sans",sans-serif}
.nav .mega-trigger .caret{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .3s}
.nav .has-mega:hover .mega-trigger .caret,.nav .has-mega:focus-within .mega-trigger .caret,.nav .has-mega.open .mega-trigger .caret{transform:rotate(-135deg) translateY(0)}
.nav .has-mega.is-active>.mega-trigger{box-shadow:inset 0 -2px 0 var(--afab-blush)}
.nav__icon-btn{background:none;border:0;color:#fff;cursor:pointer;padding:6px;display:inline-flex}
.nav__icon-btn svg{width:18px;height:18px}

/* panels */
.mega{position:absolute;top:calc(100% + 18px);left:50%;transform:translateX(-50%) translateY(10px);z-index:20;
  background:#fff;border:1px solid var(--afab-line);border-radius:14px;box-shadow:0 30px 70px rgba(0,0,0,.16);padding:30px 32px;
  opacity:0;visibility:hidden;pointer-events:none;text-align:left;
  /* close grace: a diagonal move from the trigger toward a far column leaves the
     trigger before it reaches the bridge, so hiding waits .25s */
  transition:opacity .2s ease .25s,transform .2s ease .25s,visibility 0s linear .45s}
.has-mega:hover .mega,.has-mega:focus-within .mega,.has-mega.open .mega{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);transition:opacity .3s ease,transform .3s ease,visibility 0s}
.mega::before{content:'';position:absolute;top:-20px;left:0;right:0;height:22px}
.mega--compact .mega-cols{display:flex;gap:40px}
.mega--compact .mega-col{min-width:230px}
.mega--services{width:640px}
.mega--services .mega-cols{display:grid;grid-template-columns:1fr 1fr;column-gap:36px;row-gap:26px}
.mega--services .mega-col--wide{grid-column:1/-1}
.mega--services .mega-col--wide .mega-links{display:grid;grid-template-columns:1fr 1fr;column-gap:36px}
.mega-col-title{display:block;font-family:"Tranquillo Bold","Josefin Sans",sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--afab-teal);
  margin-bottom:10px;padding-bottom:9px;border-bottom:1px solid var(--afab-line)}
.mega-links{display:flex;flex-direction:column}
.mega-col a{display:flex;align-items:center;gap:11px;font-size:.95rem;text-transform:none;letter-spacing:0;color:var(--afab-text);padding:7px 0;border:0;text-decoration:none;transition:color .22s,padding-left .22s}
.mega-col a:hover,.mega-col a:focus-visible{color:var(--afab-teal-d);padding-left:5px}
.mega-col a::after{display:none}
.afab-header .mega-ic{width:19px;height:19px;flex-shrink:0;color:var(--afab-teal);transition:color .22s,transform .22s}
.mega-col a:hover .mega-ic{color:var(--afab-pink);transform:scale(1.12)}
.mega-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:22px;padding:16px 18px;border-radius:10px;background:var(--afab-blush);color:var(--afab-teal-d);text-decoration:none}
.mega-cta-txt{font-size:.92rem;line-height:1.4}
.mega-cta-txt strong{display:block;font-family:"Tranquillo Bold","Josefin Sans",sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;margin-bottom:2px}
.mega-cta-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border-radius:999px;background:var(--afab-teal);color:#fff;font-family:"Tranquillo Bold","Josefin Sans",sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}
.mega-cta:hover .mega-cta-btn{background:var(--afab-teal-d)}

/* search popover */
.nav__search{position:relative}
.afab-search-pop{position:absolute;right:0;top:calc(100% + 14px);display:none;gap:6px;background:#fff;padding:10px;border-radius:12px;box-shadow:0 20px 50px rgba(0,0,0,.18);width:340px;z-index:30}
.afab-search-pop.open{display:flex}
.afab-search-pop input{flex:1;padding:10px 12px;border:1px solid var(--afab-line);border-radius:8px;font:inherit;font-size:15px;color:var(--afab-text)}
.afab-search-pop button{padding:10px 14px;border:0;border-radius:8px;background:var(--afab-teal);color:#fff;cursor:pointer;font:inherit;font-size:13px;text-transform:uppercase;letter-spacing:.08em}

/* buttons */
.afab-btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 20px;border-radius:999px;text-decoration:none;font-family:"Tranquillo Bold","Josefin Sans",sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:.74rem;transition:background .2s,color .2s}
.afab-btn--solid{background:var(--afab-blush);color:var(--afab-teal-d)}
.afab-btn--solid:hover{background:#fff}
.afab-btn--ghost{border:1.5px solid var(--afab-teal);color:var(--afab-teal)}

/* burger + mobile chrome (hidden on desktop) */
.burger{display:none;width:46px;height:46px;border:0;border-radius:10px;background:var(--afab-blush);cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0}
.burger span{display:block;width:20px;height:2px;background:var(--afab-teal-d);transition:transform .25s,opacity .25s}
.nav__mobile-top,.nav__mobile-foot{display:none}
.afab-scrim{position:fixed;inset:0;background:rgba(20,30,30,.45);z-index:999}
.afab-scrim[hidden]{display:none}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

@media (max-width:1180px){.nav__menu{gap:22px}.afab-logo img{width:190px}.afab-util-addr{display:none}}
@media (max-width:1000px){
  .afab-util-right a:first-child{display:none}
  .burger{display:flex}
  .nav{position:fixed;top:0;right:0;bottom:0;width:min(400px,88vw);z-index:1001;background:#fff;overflow-y:auto;
    transform:translateX(100%);transition:transform .3s ease;display:flex;flex-direction:column;box-shadow:-20px 0 50px rgba(0,0,0,.2)}
  .nav.open{transform:translateX(0)}
  body.afab-nav-open{overflow:hidden}
  .nav__mobile-top{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--afab-line)}
  .nav__mobile-title{font-family:"Tranquillo Bold","Josefin Sans",sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:.8rem;color:var(--afab-teal)}
  .nav__close{background:none;border:0;color:var(--afab-text);cursor:pointer;padding:8px}
  .nav__close svg{width:22px;height:22px}
  .nav__menu{flex-direction:column;align-items:stretch;gap:0;padding:6px 22px}
  .nav__item{border-bottom:1px solid var(--afab-line)}
  .nav .nav__link,.nav .mega-trigger{color:var(--afab-text);width:100%;justify-content:space-between;padding:16px 0;font-size:.85rem;min-height:52px}
  .has-mega .mega,.has-mega.open .mega,.has-mega:hover .mega,.has-mega:focus-within .mega{transform:none;left:auto}
  .mega{position:static;width:auto;opacity:1;visibility:visible;pointer-events:auto;box-shadow:none;border:0;border-radius:0;padding:0 0 0 4px;max-height:0;overflow:hidden;transition:max-height .3s ease}
  .has-mega:hover .mega,.has-mega:focus-within .mega{max-height:0}
  .has-mega.open .mega{max-height:1600px;padding-bottom:12px}
  .mega::before{display:none}
  .mega--compact .mega-cols{flex-direction:column;gap:14px}
  .mega--compact .mega-col{min-width:0}
  .mega--services{width:auto}
  .mega--services .mega-cols{grid-template-columns:1fr}
  .mega--services .mega-col--wide{grid-column:auto}
  .mega--services .mega-col--wide .mega-links{display:flex;grid-template-columns:1fr}
  .mega-col a{min-height:44px;padding:8px 0 8px 12px;font-size:1rem}
  .mega-cta{margin-top:10px;padding:0;background:none}
  .mega-cta-txt{display:none}
  .mega-cta-btn{display:flex;width:100%;min-height:52px;justify-content:center}
  .nav__search,.nav__cta-item{display:none}
  .nav__mobile-foot{display:flex;flex-direction:column;gap:10px;padding:20px 22px 28px;margin-top:auto}
  .nav__mobile-foot .afab-btn{min-height:50px;font-size:.78rem}
  .nav__mobile-foot .afab-btn--solid{background:var(--afab-teal);color:#fff}
  .nav__phone{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;color:var(--afab-teal);text-decoration:none;font-size:1rem}
  .nav__social{display:flex;justify-content:center;gap:18px}
  .nav__social a{color:var(--afab-teal)}
  .nav__social svg{width:20px;height:20px}
}
@media (max-width:640px){
  .afab-util-left a:not(:first-child){display:none}
  .afab-util-social{display:none}
  .afab-wrap{padding:0 16px}
  .afab-main .afab-wrap{min-height:66px}
  .afab-logo img{width:170px}
}

/* chat launcher (replaces Tawk.to's "Let's Chat" image bubble) */
.afab-chat{position:fixed;right:20px;bottom:20px;z-index:2147482000;display:inline-flex;align-items:center;gap:10px;height:56px;padding:0 22px 0 18px;border:0;border-radius:999px;
  background:var(--afab-teal);color:#fff;cursor:pointer;box-shadow:0 12px 30px rgba(35,69,72,.35);font-family:"Tranquillo Bold","Josefin Sans",sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:.76rem;
  transition:padding .25s ease,gap .25s ease,background .2s,transform .2s,opacity .2s}
.afab-chat:hover{background:var(--afab-teal-d);transform:translateY(-2px)}
.afab-chat:focus-visible{outline:3px solid var(--afab-pink);outline-offset:3px}
.afab-chat-ic svg{width:24px;height:24px;display:block}
.afab-chat-txt{white-space:nowrap;overflow:hidden;max-width:160px;transition:max-width .25s ease,opacity .2s}
.afab-chat.is-compact{padding:0 16px;gap:0}
.afab-chat.is-compact .afab-chat-txt{max-width:0;opacity:0}
.afab-chat-dot{position:absolute;top:8px;left:38px;width:10px;height:10px;border-radius:50%;background:#7fd18b;border:2px solid var(--afab-teal);display:none}
.afab-chat[data-status="online"] .afab-chat-dot{display:block}
.afab-chat-badge{position:absolute;top:-4px;right:-4px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--afab-pink);color:#3b1110;font-size:12px;line-height:22px;text-align:center;display:none}
.afab-chat.has-unread .afab-chat-badge{display:block}
.afab-chat.is-hidden{opacity:0;pointer-events:none}
@media (max-width:640px){.afab-chat{right:14px;bottom:14px;height:52px}}
body.afab-nav-open .afab-chat{display:none}
