/* DCA main-site header on the WooCommerce shop (copied from the HubSpot dca-header module). Aspian, Nov 2026 */
.dcah,.dcah-skip{--pink:#E44061;--pink-deep:#C9294C;--pink-darker:#9E2441;--ink:#181819;--text:#5B5B63;--cream:#F7EADC;--ease:cubic-bezier(.22,1,.36,1);--font-sans:'Montserrat',Arial,sans-serif;--svc-early:#ECA920;--svc-edu:#625D8A;--svc-youth:#5CB7CD}
/* Undo the shop theme's global button/heading/input styles inside the header (all states) */
.dcah .dcah-trigger,.dcah .dcah-trigger:hover,.dcah .dcah-trigger:focus,.dcah .dcah-trigger:active,.dcah .dcah-trigger[aria-expanded="true"]{background:transparent!important;color:var(--ink)!important;border:0!important;box-shadow:none!important;min-height:0!important;height:auto!important;text-transform:none!important;letter-spacing:normal!important}
.dcah .dcah-search-btn,.dcah .dcah-burger,.dcah .dcah-search-btn:focus,.dcah .dcah-burger:focus,.dcah .dcah-burger:active{background:transparent!important;color:var(--ink)!important;border:0!important;box-shadow:none!important;text-transform:none!important;letter-spacing:normal!important}
.dcah .dcah-search-btn:hover,.dcah .dcah-burger:hover,.dcah .dcah-search-btn[aria-expanded="true"]{background:var(--cream)!important;color:var(--ink)!important}
.dcah .dcah-m-back,.dcah .dcah-m-back:hover,.dcah .dcah-m-back:focus{background:transparent!important;color:var(--text)!important;border:0!important;box-shadow:none!important;text-transform:none!important}
.dcah .dcah-search button,.dcah .dcah-search button:hover,.dcah .dcah-search button:focus{background:var(--ink)!important;color:#fff!important;border:0!important;box-shadow:none!important;text-transform:none!important;letter-spacing:normal!important}
.dcah input[type=search]{height:auto!important;line-height:normal!important;box-shadow:none!important}
.dcah .dcah-feature strong{color:#fff!important}
.dcah .dcah-m-title{color:var(--ink)!important}
.dcah .dcah-group{color:var(--text)!important}
/* theme adds margin-top:5px to li+li */
.dcah li+li{margin-top:0}
/* hide the old theme header (desktop, sticky and mobile) */
.wgl-theme-header,.wgl-site-header,.wgl-sticky-header,.sticky_header{display:none!important}
/* cart icon */
.dcah-cart{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;color:var(--ink);margin-right:6px}
.dcah-cart:hover{background:#f4f4f5}
.dcah-cart svg{width:22px;height:22px}
.dcah-cart-count{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--pink-deep);color:#fff;font:700 11px/18px var(--font-sans);text-align:center}
/* DCA global header, Option A. Everything is scoped under .dcah, and the brand
   tokens are defined here so the header looks the same on pages that still use
   the original dca-poc.css values (DCA Brand Guide Book, May 2026). */
.dcah,.dcah-skip{
  --pink:#E53E61;--pink-deep:#BF2D4E;--pink-darker:#9E2441;
  --ink:#231F20;--text:#59595B;--cream:#F7EADC;
  --svc-early:#ECA920;--svc-youth:#5CB7CD;--svc-edu:#625D8A;
  --ease:cubic-bezier(.22,1,.36,1);
  --font-sans:'Montserrat',Arial,sans-serif;
}
.dcah{--h:84px;position:sticky;top:0;z-index:200;font-family:var(--font-sans);background:#fff}
.dcah *{box-sizing:border-box}
.dcah a{text-decoration:none;color:inherit}
.dcah ul{list-style:none;margin:0;padding:0}
.dcah-wrap{max-width:1320px;margin:0 auto;padding:0 32px}
.dcah-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dcah-skip{position:absolute;left:12px;top:-60px;z-index:300;background:var(--ink);color:#fff;padding:10px 16px;border-radius:8px;font:600 14px var(--font-sans)}
.dcah-skip:focus{top:12px}
.dcah :focus-visible{outline:3px solid var(--pink-deep);outline-offset:2px;border-radius:6px}

/* utility row */
.dcah-utility{position:relative;z-index:3;background:var(--cream);font-size:12.5px;font-weight:500;color:var(--ink);transition:max-height .3s var(--ease),opacity .25s;max-height:40px;overflow:hidden}
.dcah-utility-inner{display:flex;justify-content:flex-end;gap:26px;height:36px;align-items:center}
.dcah-utility a{display:inline-flex;gap:5px;align-items:center}
.dcah-utility a:hover{color:var(--pink-deep)}
.dcah-utility svg{width:10px;height:10px}
.dcah.is-scrolled .dcah-utility{max-height:0;opacity:0}

/* main bar */
.dcah-bar{border-bottom:1px solid rgba(35,31,32,.1);background:#fff;position:relative;z-index:2}
.dcah.is-scrolled .dcah-bar{box-shadow:0 8px 24px rgba(35,31,32,.08)}
.dcah-bar-inner{display:flex;align-items:center;gap:28px;height:var(--h)}
.dcah-logo img{display:block;width:79px;height:auto}
.dcah-nav{flex:1;min-width:0;align-self:stretch}
.dcah-top{display:flex;align-items:stretch;height:100%;gap:2px}
.dcah-item{display:flex}
.dcah-trigger{all:unset;cursor:pointer;display:flex;align-items:center;gap:7px;padding:0 13px;font:600 14.5px/1 var(--font-sans);color:var(--ink);position:relative;white-space:nowrap}
.dcah-trigger svg{width:9px;height:6px;opacity:.55;transition:transform .2s var(--ease)}
.dcah-trigger::after{content:"";position:absolute;left:13px;right:13px;bottom:-1px;height:4px;border-radius:4px 4px 0 0;background:var(--accent,var(--pink-deep));transform:scaleX(0);transition:transform .2s var(--ease)}
.dcah-item[data-svc="family"]{--accent:var(--svc-early)}
.dcah-item[data-svc="youth"]{--accent:var(--svc-youth)}
.dcah-item[data-svc="edu"]{--accent:var(--svc-edu)}
.dcah-trigger:hover::after,.dcah-trigger[aria-expanded="true"]::after,.dcah-item.is-current .dcah-trigger::after{transform:scaleX(1)}
.dcah-trigger[aria-expanded="true"] svg{transform:rotate(180deg)}
.dcah-trigger:focus-visible{outline-offset:-4px}

.dcah-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.dcah-search-btn,.dcah-burger{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font:600 14px var(--font-sans);color:var(--ink);padding:10px 14px;border-radius:999px}
.dcah-search-btn:hover,.dcah-burger:hover,.dcah-search-btn[aria-expanded="true"]{background:var(--cream)}
.dcah-search-btn svg{width:18px;height:18px}
.dcah-donate{display:inline-flex;align-items:center;justify-content:center;background:var(--pink-deep);color:#fff!important;font:700 14.5px var(--font-sans);padding:13px 26px;border-radius:999px;transition:background .2s}
.dcah-donate:hover{background:var(--pink-darker)}
.dcah-burger{display:none}
.dcah-burger-lines{display:grid;gap:4px;width:20px}
.dcah-burger-lines span{height:2px;background:currentColor;border-radius:2px;transition:transform .2s,opacity .2s}
.dcah-burger[aria-expanded="true"] .dcah-burger-lines span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.dcah-burger[aria-expanded="true"] .dcah-burger-lines span:nth-child(2){opacity:0}
.dcah-burger[aria-expanded="true"] .dcah-burger-lines span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* panels */
.dcah-panel{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:4px solid var(--accent,var(--pink-deep));box-shadow:0 30px 50px -20px rgba(35,31,32,.25);padding:34px 0 30px;visibility:hidden;opacity:0;transform:translateY(-6px);transition:opacity .15s,transform .15s,visibility 0s .15s}
.dcah-item.is-open .dcah-panel{visibility:visible;opacity:1;transform:none;transition:opacity .15s,transform .15s}
.dcah-panel--narrow{left:auto;right:auto;margin-top:0;width:290px;padding:18px 10px;border-radius:0 0 14px 14px}
.dcah-item{position:static}
.dcah-item:has(.dcah-panel--narrow){position:relative}
.dcah-panel--narrow{top:calc(100% + 1px)}
.dcah-panel-grid{display:grid;grid-template-columns:1.15fr 1fr .95fr;gap:40px;align-items:start}
.dcah-panel-grid--3{grid-template-columns:repeat(3,1fr)}
.dcah-group{margin:0 0 10px;font:700 11.5px/1.2 var(--font-sans);letter-spacing:.09em;text-transform:uppercase;color:var(--text)}
.dcah-col ul + .dcah-group{margin-top:24px}
.dcah-col ul li a{display:block;border-radius:10px}
.dcah-col ul:not(.dcah-plain) li a{padding:11px 14px;margin:0 -14px}
.dcah-col ul:not(.dcah-plain) strong{display:block;font:600 15.5px/1.3 var(--font-sans);color:var(--ink)}
.dcah-col ul:not(.dcah-plain) span{display:block;font:400 13.5px/1.4 var(--font-sans);color:var(--text);margin-top:2px}
.dcah-col ul:not(.dcah-plain) li a:hover{background:var(--cream)}
.dcah-col ul:not(.dcah-plain) li a:hover strong{color:var(--pink-deep)}
.dcah-plain li a{padding:7px 0;font:500 15px/1.35 var(--font-sans);color:var(--ink)}
.dcah-panel--narrow .dcah-plain li a{padding:9px 14px}
.dcah-panel--narrow .dcah-group{padding:10px 14px 0;margin-bottom:2px}
.dcah-panel--narrow .dcah-col ul + .dcah-group{margin-top:10px}
.dcah-plain li a:hover{color:var(--pink-deep)}
.dcah-panel--narrow .dcah-plain li a:hover{background:var(--cream)}
.dcah-overview{display:inline-flex;gap:8px;align-items:center;margin-top:22px;font:700 14px var(--font-sans);color:var(--pink-deep)!important}
.dcah-panel--narrow .dcah-overview{margin:8px 14px 4px;padding-top:12px;border-top:1px solid rgba(35,31,32,.1);display:flex}
.dcah-overview:hover{text-decoration:underline!important}
.dcah a.dcah-feature{color:#fff}
.dcah-feature{position:relative;display:block;border-radius:16px;overflow:hidden;min-height:250px;height:100%;background:var(--ink);color:#fff}
.dcah-feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease)}
.dcah-feature::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(35,31,32,0) 30%,rgba(35,31,32,.85))}
.dcah-feature:hover img{transform:scale(1.03)}
.dcah-feature-text{position:absolute;left:22px;right:22px;bottom:20px;z-index:1;display:grid;gap:6px}
.dcah-kicker{font:700 11px var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:#fff;opacity:.85}
.dcah-feature strong{font:700 20px/1.2 var(--font-sans)}
.dcah-more{font:600 13.5px var(--font-sans)}
.dcah-scrim{position:fixed;inset:0;top:0;background:rgba(35,31,32,.35);opacity:0;visibility:hidden;transition:opacity .2s,visibility 0s .2s;z-index:1}
.dcah.has-open .dcah-scrim{opacity:1;visibility:visible;transition:opacity .2s}
.dcah-bar,.dcah-panel{z-index:3}

/* search drawer */
.dcah-search{background:#fff;border-bottom:1px solid rgba(35,31,32,.1);padding:18px 0;position:relative;z-index:2}
.dcah-search form{display:flex;gap:10px}
.dcah-search input,.dcah-m-search input{flex:1;min-width:0;font:500 16px var(--font-sans);padding:14px 18px;border:2px solid var(--ink);border-radius:999px;color:var(--ink);background:#fff}
.dcah-search button{all:unset;cursor:pointer;background:var(--ink);color:#fff;font:700 14.5px var(--font-sans);padding:0 26px;border-radius:999px}

/* mobile */
.dcah-mobile{display:none}
@media (max-width:1360px){.dcah-trigger{padding:0 10px;font-size:14px}.dcah-trigger::after{left:10px;right:10px}.dcah-bar-inner{gap:20px}.dcah-search-btn span{display:none}}
@media (max-width:1120px){
  .dcah{--h:72px}
  .dcah-wrap{padding:0 20px}
  .dcah-nav,.dcah-utility{display:none}
  .dcah-burger{display:inline-flex}
  .dcah-search-btn span{display:none}
  .dcah-logo img{width:64px}
  .dcah-bar-inner{gap:12px}
  .dcah-donate{padding:11px 20px;font-size:14px}
  .dcah-mobile{display:block;position:fixed;left:0;right:0;top:var(--h);bottom:0;background:#fff;overflow:hidden;z-index:4}
  .dcah-mobile[hidden]{display:none}
  .dcah-m-screen{position:absolute;inset:0;overflow-y:auto;padding:18px 20px 40px;transform:translateX(100%);visibility:hidden;transition:transform .25s var(--ease),visibility 0s .25s;background:#fff}
  .dcah-m-screen.is-active{transform:none;visibility:visible;transition:transform .25s var(--ease)}
  .dcah-m-screen.is-left{transform:translateX(-30%)}
  .dcah-m-search{margin-bottom:12px}
  .dcah-m-search input{width:100%}
  .dcah-m-list > li > button,.dcah-m-list > li > a{all:unset;cursor:pointer;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;width:100%;padding:17px 4px;border-bottom:1px solid rgba(35,31,32,.1);font:700 18px var(--font-sans);color:var(--ink)}
  .dcah-m-list > li > button::after{content:"";width:9px;height:9px;border-right:2px solid currentColor;border-top:2px solid currentColor;transform:rotate(45deg);margin-right:6px}
  .dcah-m-util{display:grid;gap:4px;margin-top:22px}
  .dcah-m-util a{display:block;padding:10px 4px;font:500 15px var(--font-sans);color:var(--ink)}
  .dcah-m-back{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font:600 14px var(--font-sans);color:var(--text);padding:6px 0}
  .dcah-m-back::before{content:"";width:8px;height:8px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}
  .dcah-m-title{font:700 24px/1.2 var(--font-sans);color:var(--ink);margin:12px 0 4px;padding-bottom:12px;border-bottom:4px solid var(--accent,var(--pink-deep))}
  .dcah-m-screen .dcah-group{margin:22px 0 4px}
  .dcah-m-screen .dcah-col ul li a{margin:0;padding:12px 0;border-bottom:1px solid rgba(35,31,32,.07);border-radius:0}
  .dcah-m-screen .dcah-col ul:not(.dcah-plain) li a{margin:0;padding:12px 0}
  .dcah-m-screen .dcah-overview{margin-top:20px}
  body.dcah-lock{overflow:hidden}
}
@media (max-width:420px){.dcah-donate{padding:10px 16px}.dcah-burger > span:last-child{display:none}}
@media (prefers-reduced-motion:reduce){.dcah *,.dcah *::after{transition:none!important}}
.dcah-donate{border-radius:4px!important}
/* HubSpot wraps the module in a div exactly as tall as the header, which stops
   .dcah sticking. Make the wrapper itself the sticky element. */
#hs_cos_wrapper_header,.hs_cos_wrapper:has(> .dcah){position:sticky;top:0;z-index:200}

/* === Footer: main-site footer on the shop (rules extracted from www stylesheets) === */
.dcaf{--pink:#E44061;--pink-deep:#C9294C;--ink:#181819;--dark:#222328;--gold:#FFAC00;--line-dark:rgba(255,255,255,.1);--shadow-md:0 14px 40px rgba(20,20,25,.10);--ease:cubic-bezier(.22,1,.36,1);--svc-early:#ECA920;--font-sans:'Montserrat',Arial,sans-serif;font-family:var(--font-sans)}
.dcaf *{box-sizing:border-box}
/* theme leaks inside the footer */
.dcaf h1,.dcaf h2,.dcaf h3,.dcaf h4,.dcaf h5,.dcaf h6{font-family:var(--font-sans)!important;color:#fff!important;text-transform:none!important;letter-spacing:normal!important}
.dcaf ul{list-style:none;margin:0;padding:0}
.dcaf li+li{margin-top:0}
.dcaf a{text-decoration:none}
.dcaf,.dcaf-totop{--ink:#231f20;--dark:#231f20;--pink:#e53e61;--pink-deep:#bf2d4e;--gold:#eca920;--svc-early:#eca920;--font-sans:"Montserrat",Arial,sans-serif}
.dcaf.dca-footer{background:var(--ink)}
.dcaf .dca-footer-brand{line-height:0;margin-bottom:20px}
.dcaf .dca-footer-brand img{display:block;height:64px;width:auto}
.dcaf .dca-footer-col a:hover,.dcaf .dca-footer-contact a:hover{color:var(--svc-early)}
.dcaf a:focus-visible{outline:3px solid #fff;outline-offset:2px}
.dcaf .dca-btn-primary{border-radius:4px}
.dcaf .dca-btn-primary,.dcaf-totop:hover{background:var(--pink-deep)}
.dcaf .dca-ack,.dcaf .dca-bottom-bar,.dcaf .dca-footer-top{max-width:1320px;padding-left:32px;padding-right:32px}
.dcaf-aspian{color:#fff;font-family:Fraunces,Georgia,serif;font-size:1.05em;font-weight:600;letter-spacing:-.01em}
.dcaf-aspian span{color:#6f5ec7}
.dcaf-aspian:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
@media (max-width:960px){.dcaf .dca-ack,.dcaf .dca-bottom-bar,.dcaf .dca-footer-top{padding-left:20px;padding-right:20px}}
@media (max-width:640px){.dcaf .dca-footer-grid{gap:40px;grid-template-columns:1fr;text-align:center}.dcaf .dca-footer-brand img{margin:0 auto}.dcaf .dca-social{justify-content:center}.dcaf .dca-footer-col a:hover{padding-left:0}.dcaf .dca-ack{text-align:center}.dcaf .dca-bottom-bar{align-items:center;flex-direction:column;gap:6px;text-align:center}}
.dca-container{margin:0 auto;max-width:1280px;padding:0 28px}
.dca-btn{align-items:center;border:2px solid transparent;border-radius:999px;display:inline-flex;font-size:.86rem;font-weight:700;gap:8px;justify-content:center;letter-spacing:.02em;overflow:hidden;padding:14px 30px;position:relative;transition:transform .35s var(--ease),box-shadow .35s var(--ease),color .3s ease,border-color .3s ease;white-space:nowrap;z-index:0}
.dca-btn:before{content:"";inset:0;position:absolute;transform:scaleX(0);transform-origin:left center;transition:transform .4s var(--ease);z-index:-1}
.dca-btn:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.dca-btn:active{transform:translateY(0) scale(.98)}
.dca-btn-primary{background:var(--pink);color:#fff}
.dca-btn-primary:before{background:var(--pink-deep)}
.dca-btn-primary:hover:before{transform:scaleX(1)}
.dca-btn-sm{font-size:.78rem;padding:10px 22px}
.dca-utility .dca-container{align-items:center;display:flex;gap:30px;height:42px;justify-content:center}
@media (max-width:980px){.dca-main-links,.dca-nav-actions .dca-btn,.dca-nav-actions .dca-icon-btn{display:none}}
.dca-footer{background:var(--dark);color:#a9a9b2}
.dca-footer-top{padding:70px 0 44px}
.dca-footer-grid{display:grid;gap:36px;grid-template-columns:1.5fr 1fr 1fr 1fr}
.dca-footer-brand{color:#fff;font-size:1.35rem;font-weight:800;margin-bottom:16px}
.dca-footer-tagline{color:#8a8a94;font-size:.85rem;margin:0 0 22px}
.dca-footer-contact{font-size:.86rem;line-height:1.9;margin-bottom:20px}
.dca-footer-contact a{color:#c9c9d1;transition:color .2s ease}
.dca-footer-contact a:hover{color:var(--gold)}
.dca-social{display:flex;gap:10px}
.dca-social a{align-items:center;border:1px solid var(--line-dark);border-radius:50%;display:flex;height:36px;justify-content:center;transition:background .25s ease,border-color .25s ease,transform .3s var(--ease);width:36px}
.dca-social a:hover{background:var(--pink);border-color:var(--pink);transform:translateY(-3px)}
.dca-social svg{fill:#fff;height:15px;width:15px}
.dca-footer-col h4{color:#fff;font-size:.85rem;letter-spacing:.05em;margin:0 0 18px;text-transform:uppercase}
.dca-footer-col a{color:#a9a9b2;display:block;font-size:.88rem;margin-bottom:13px;transition:color .2s ease,padding-left .2s ease}
.dca-footer-col a:hover{color:var(--gold);padding-left:4px}
.dca-ack-wrap{border-top:1px solid var(--line-dark)}
.dca-ack{color:#77777f;font-size:.84rem;font-style:italic;line-height:1.75;padding:28px 0}
.dca-bottom-wrap{border-top:1px solid var(--line-dark)}
.dca-bottom-bar{color:#6f6f78;display:flex;flex-wrap:wrap;font-size:.8rem;gap:10px;justify-content:space-between;padding:20px 0}
@media (max-width:640px){.dca-bottom-bar{flex-direction:column;gap:6px}}
@media (max-width:980px){.dca-footer-grid{grid-template-columns:1fr 1fr}}
.dca-event-feature-body .dca-btn{margin-top:14px}
.dca-cataloguecard-body .dca-btn{align-self:flex-start;margin-top:auto}
