/* ACC Australia — shared styles layered on top of Tailwind CDN (LIGHT CORPORATE) */
html, body { background:#FFFFFF; color:#0F172A; font-family:"DM Sans","Inter",system-ui,sans-serif; }
h1,h2,h3,h4,h5,h6,.font-display { font-family:"DM Sans","Inter",system-ui,sans-serif; font-weight:800; letter-spacing:-0.015em; }

.tafe-eyebrow { text-transform:uppercase; letter-spacing:.20em; font-weight:700; font-size:11px; color:#EF4444; }
.tafe-card { position:relative; overflow:hidden; background:#FFFFFF; border:1px solid #E2E8F0; transition: box-shadow .25s ease, transform .25s ease; }
.tafe-card:hover { box-shadow:0 14px 30px rgba(15,23,42,.08); transform: translateY(-2px); }
.tafe-cta { display:inline-flex; align-items:center; gap:.5rem; background:#EF4444; color:#FFFFFF !important; font-weight:700; text-transform:uppercase; letter-spacing:.06em; padding:.85rem 1.4rem; border-radius:6px; transition: background .2s ease; }
.tafe-cta:hover { background:#DC2626; }
.tafe-ghost { display:inline-flex; align-items:center; gap:.5rem; background:transparent; color:#0F172A; border:1.5px solid #0F172A; font-weight:700; text-transform:uppercase; letter-spacing:.06em; padding:.75rem 1.4rem; border-radius:6px; transition: background .2s, color .2s; }
.tafe-ghost:hover { background:#0F172A; color:#FFFFFF; }

/* Department tile color-coded hover */
.dept-tile { position:relative; overflow:hidden; isolation:isolate; }
.dept-tile .dept-wash { position:absolute; inset:0; opacity:0; transition: opacity .45s ease; mix-blend-mode:multiply; }
.dept-tile:hover .dept-wash { opacity:.85; }
.dept-tile .dept-img { transition: transform .7s ease; }
.dept-tile:hover .dept-img { transform: scale(1.06); }
.dept-tile .dept-arrow { transform: translateX(-6px); opacity:0; transition: transform .35s ease, opacity .35s ease; }
.dept-tile:hover .dept-arrow { transform: translateX(0); opacity:1; }
.dept-tile:hover { transform: translateY(-4px); transition: transform .4s ease; }

.no-scrollbar { scrollbar-width: none; -ms-overflow-style: none; }
.no-scrollbar::-webkit-scrollbar { display:none; }

.glow-spectrum {
  background:
    radial-gradient(60% 50% at 15% 20%, rgba(239,68,68,.10), transparent 60%),
    radial-gradient(50% 45% at 85% 25%, rgba(14,165,233,.10), transparent 60%),
    radial-gradient(45% 40% at 70% 80%, rgba(139,92,246,.09), transparent 60%),
    radial-gradient(45% 40% at 25% 85%, rgba(16,185,129,.08), transparent 60%),
    radial-gradient(35% 30% at 50% 50%, rgba(245,158,11,.06), transparent 60%);
}
.glow-red,    .glow-sport   { background: radial-gradient(60% 60% at 50% 0%, rgba(239,68,68,.10), transparent 70%); }
.glow-blue,   .glow-project { background: radial-gradient(60% 60% at 50% 0%, rgba(14,165,233,.10), transparent 70%); }
.glow-purple, .glow-culture { background: radial-gradient(60% 60% at 50% 0%, rgba(139,92,246,.10), transparent 70%); }
.glow-green,  .glow-member  { background: radial-gradient(60% 60% at 50% 0%, rgba(16,185,129,.10), transparent 70%); }
.glow-gold                  { background: radial-gradient(60% 60% at 50% 0%, rgba(228,0,43,.14), transparent 70%); }

.hairline { border-color:#E5E7EB !important; }
[class*="border-[#1E2028]"] { border-color:#E5E7EB !important; }
[class*="border-t-[#1E2028]"] { border-top-color:#E5E7EB !important; }
[class*="border-l-[#1E2028]"] { border-left-color:#E5E7EB !important; }
[class*="border-b-[#1E2028]"] { border-bottom-color:#E5E7EB !important; }

.grid-dots { background-image: radial-gradient(rgba(15,16,21,.07) 1px, transparent 1px); background-size: 22px 22px; }

.ticker { animation: ticker 40s linear infinite; }
@keyframes ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.card-hover { transition: transform .35s ease, border-color .35s ease, background .35s ease; }
.card-hover:hover { transform: translateY(-3px); border-color:#CBD5E1; background:#F8FAFC; }

details > summary { list-style:none; cursor:pointer; }
details > summary::-webkit-details-marker { display:none; }

.pulse-ring::after {
  content:''; position:absolute; inset:-2px; border-radius:9999px;
  box-shadow:0 0 0 0 rgba(228,0,43,.5); animation: pulse 2.4s infinite;
}
@keyframes pulse {
  0% { box-shadow:0 0 0 0 rgba(228,0,43,.45); }
  70% { box-shadow:0 0 0 16px rgba(228,0,43,0); }
  100% { box-shadow:0 0 0 0 rgba(228,0,43,0); }
}

.tab-btn[aria-selected="true"] { background:#F1F5F9; color:#0F1015; border-color:#CBD5E1; }

/* Mobile drawer */
.drawer { transform: translateX(100%); transition: transform .35s ease; }
.drawer.open { transform: translateX(0); }

@media (prefers-reduced-motion: reduce) {
  .ticker, .pulse-ring::after { animation: none !important; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

.sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}

.skip-link {
  position: fixed;
  top: -100px; left: 12px;
  z-index: 100;
  background: #E4002B;
  color: #FFFFFF;
  padding: 10px 16px;
  border-radius: 2px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  text-decoration: none;
  box-shadow: 0 6px 20px rgba(0,0,0,.18);
  transition: top .2s ease;
}
.skip-link:focus { top: 12px; outline: 2px solid #1A1A1A; outline-offset: 2px; }

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible,
summary:focus-visible {
  outline: 2px solid #E4002B;
  outline-offset: 2px;
  border-radius: 2px;
}
