/* ============================================================
   AUTOHIVE GROUP SERVICES BANNER: shared stylesheet, v2.2 (31 Jul 2026)
   Served once from /ah-shared/ on every estate domain.
   ONE file. Every AutoHive Group site loads this exact file.
   Do not fork it per site. Per-site difference is expressed
   only through the data-site attribute in the page markup.

   THIS IS THE ONLY PLACE COLOUR VALUES ARE WRITTEN.
   No page in the estate declares a division colour.
   ============================================================ */

.ahs{
  /* Core palette */
  --ah-navy:#0A1F44;
  --ah-gold:#F5A623;          /* AutoHive PRIMARY gold, Pantone 7409C */
  --ah-teal:#009688;          /* AutoHive SECONDARY teal, Pantone 327C */
  --ah-white:#FFFFFF;

  /* Division palette. Six divisions. CRM is retired and never appears. */
  --ah-marketing:#D16621;     /* Agentic Digital Marketing */
  --ah-business:#33578C;      /* Business Consulting */
  --ah-thinktank:#D81B60;     /* The Think Tank SA */
  --ah-beehive:#218C5E;       /* BeeHive Business Network */
  --ah-webdev:#E5A100;        /* Website Development, Pantone 7455C. NOT the primary gold. */
  --ah-glasscastle:#D81B60;   /* Glass Castle Luxury Properties, shared with Think Tank SA */

  /* Neutrals */
  --ahs-ink:#0A1F44;
  --ahs-muted:#6B7280;
  --ahs-line:#E5E7EB;
  --ahs-panel:#FFFFFF;
  --ahs-tile:#FFFFFF;

  --ahs-font:'Lato',Arial,sans-serif;

  position:relative;
  z-index:5000;
  background:var(--ah-navy);
  font-family:var(--ahs-font);
}

.ahs *,.ahs *::before,.ahs *::after{box-sizing:border-box;}

/* ── The bar ── */
.ahs__bar{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  max-width:1280px;margin:0 auto;
  padding:.55rem clamp(.85rem,3vw,2rem);
  min-height:42px;
}

.ahs__crumb{
  display:flex;align-items:center;gap:.5rem;
  min-width:0;
  font-size:.72rem;line-height:1.2;
}
.ahs__mark{
  flex:0 0 auto;width:15px;height:15px;object-fit:contain;
}
.ahs__group{
  font-weight:900;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ah-white);text-decoration:none;white-space:nowrap;
}
.ahs__group:hover,.ahs__group:focus-visible{color:var(--ah-gold);}
.ahs__sep{color:rgba(255,255,255,.42);flex:0 0 auto;}
.ahs__site{
  color:var(--ah-gold);font-weight:700;white-space:nowrap;
  text-decoration:none;
}
.ahs__site:hover,.ahs__site:focus-visible{color:var(--ah-gold);}
.ahs__page{
  color:rgba(255,255,255,.55);font-weight:400;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}

/* ── The trigger ── */
.ahs__trigger{
  display:inline-flex;align-items:center;gap:.45rem;
  flex:0 0 auto;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(245,166,35,.45);
  border-radius:6px;
  padding:.35rem .7rem;
  font-family:var(--ahs-font);
  font-size:.74rem;font-weight:900;letter-spacing:.04em;
  color:var(--ah-white);
  cursor:pointer;
  transition:background 180ms ease,border-color 180ms ease;
}
.ahs__trigger:hover,.ahs__trigger:focus-visible{
  background:rgba(245,166,35,.14);
  border-color:var(--ah-gold);
}
.ahs__bee{flex:0 0 auto;width:16px;height:16px;object-fit:contain;}
.ahs__caret{
  flex:0 0 auto;
  transition:transform 200ms ease;
}
.ahs.is-open .ahs__caret{transform:rotate(180deg);}

/* ── The panel ── */
.ahs__panel{
  position:absolute;top:100%;right:clamp(.5rem,3vw,2rem);
  width:min(760px,calc(100vw - 1rem));
  background:var(--ahs-panel);
  border-top:3px solid var(--ah-gold);
  border-radius:0 0 12px 12px;
  box-shadow:0 18px 48px rgba(10,31,68,.28);
  padding:1.15rem;
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity 180ms ease,transform 200ms ease,visibility 180ms;
}
.ahs.is-open .ahs__panel{opacity:1;visibility:visible;transform:translateY(0);}

.ahs__grid{
  display:grid;gap:.85rem;
  grid-template-columns:repeat(3,1fr);
}

/* ── A tile ── */
.ahs__tile{
  display:block;
  background:var(--ahs-tile);
  border:1px solid var(--ahs-line);
  border-radius:8px;
  padding:.9rem .9rem 1rem;
  text-decoration:none;
  transition:border-color 180ms ease,box-shadow 180ms ease,transform 180ms ease;
}
.ahs__tile:hover,.ahs__tile:focus-visible{
  border-color:var(--svc);
  box-shadow:0 6px 18px rgba(10,31,68,.10);
  transform:translateY(-2px);
}
.ahs__rule{
  display:block;width:38px;height:4px;border-radius:2px;
  background:var(--svc);
  margin-bottom:.7rem;
}
.ahs__icon{
  display:block;width:44px;height:44px;object-fit:contain;
  margin-bottom:.5rem;
}
.ahs__name{
  display:block;
  font-size:.9rem;font-weight:900;line-height:1.25;
  color:var(--ahs-ink);
  margin-bottom:.35rem;
}
.ahs__badge{
  display:inline-block;vertical-align:middle;
  margin-left:.4rem;
  font-size:.56rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;
  color:var(--svc);
  border:1px solid var(--svc);
  border-radius:99px;
  padding:.12rem .42rem;
  white-space:nowrap;
}
.ahs__tag{
  display:block;
  font-size:.76rem;line-height:1.5;font-weight:400;
  color:var(--ahs-muted);
  margin-bottom:.6rem;
}
.ahs__subs{list-style:none;margin:0;padding:0;}
.ahs__subs li{
  font-size:.75rem;line-height:1.65;
  color:var(--ahs-muted);
  padding-left:.9rem;
  position:relative;
}
.ahs__subs li::before{
  content:'';
  position:absolute;left:.1rem;top:.62em;
  width:4px;height:4px;border-radius:50%;
  background:var(--ah-teal);
}

/* ── Division colour binding. The only mapping in the estate. ── */
.ahs__tile--marketing{--svc:var(--ah-marketing);}
.ahs__tile--business{--svc:var(--ah-business);}
.ahs__tile--thinktank{--svc:var(--ah-thinktank);}
.ahs__tile--beehive{--svc:var(--ah-beehive);}
.ahs__tile--webdev{--svc:var(--ah-webdev);}
.ahs__tile--glasscastle{--svc:var(--ah-glasscastle);}

/* ── Panel foot ── */
.ahs__foot{
  margin-top:1.05rem;padding-top:.9rem;
  border-top:1px solid var(--ahs-line);
  text-align:center;
}
.ahs__parent{
  display:inline-flex;align-items:center;gap:.4rem;
  font-size:.8rem;font-weight:700;
  color:var(--ahs-ink);text-decoration:none;
}
.ahs__parent:hover,.ahs__parent:focus-visible{color:var(--ah-teal);}

/* ── Focus visibility ── */
.ahs a:focus-visible,.ahs button:focus-visible{
  outline:3px solid var(--ah-gold);outline-offset:2px;border-radius:4px;
}

/* ── Responsive ── */
@media (max-width:860px){
  .ahs__grid{grid-template-columns:repeat(2,1fr);}
  .ahs__page{display:none;}
}
@media (max-width:600px){
  .ahs__trigger{min-height:44px;font-size:.78rem;padding:.4rem .8rem;}
  .ahs__panel{
    left:.5rem;right:.5rem;width:auto;
    max-height:min(72vh,540px);overflow-y:auto;
    padding:.9rem;
  }
  .ahs__grid{grid-template-columns:1fr;}
  .ahs__group{font-size:.66rem;}
  .ahs__site{display:none;}
  .ahs__sep{display:none;}
}

@media (prefers-reduced-motion:reduce){
  .ahs__panel,.ahs__tile,.ahs__caret{transition:none;}
  .ahs__tile:hover{transform:none;}
}


/* ============================================================
   v2 HARDENING. The frame renders identically on every host.
   Host pages all load Lato across the estate, apart from the
   serif stacks on Glass Castle. Nothing here may inherit.
   ============================================================ */
.ahs, .ahs *{
  font-family:var(--ahs-font) !important;
}
.ahs{
  line-height:1.45;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.ahs a{text-decoration:none;}
.ahs ul{list-style:none;margin:0;padding:0;}
.ahs img{max-width:none;}  /* defeat host img{max-width:100%} squeeze */
