/* ============================================================
   Ascend Collective Consulting — site styles
   Recreated from the Claude Design handoff bundle.
   Base appearance is set via inline style attributes in the HTML;
   this file provides @font-face, resets, per-page theming,
   and the hover/focus/reveal behaviour the prototype framework
   used to apply at runtime.
   ============================================================ */

/* ---------- Fonts ---------- */
@font-face { font-family:'Montserrat'; font-style:normal; font-weight:300; src:url('/assets/fonts/Montserrat-Light.ttf') format('truetype'); font-display:swap; }
@font-face { font-family:'Montserrat'; font-style:normal; font-weight:400; src:url('/assets/fonts/Montserrat-Regular.ttf') format('truetype'); font-display:swap; }
@font-face { font-family:'Montserrat'; font-style:normal; font-weight:500; src:url('/assets/fonts/Montserrat-Medium.ttf') format('truetype'); font-display:swap; }
@font-face { font-family:'Montserrat'; font-style:normal; font-weight:600; src:url('/assets/fonts/Montserrat-SemiBold.ttf') format('truetype'); font-display:swap; }
@font-face { font-family:'Montserrat'; font-style:normal; font-weight:700; src:url('/assets/fonts/Montserrat-Bold.ttf') format('truetype'); font-display:swap; }
@font-face { font-family:'Montserrat'; font-style:normal; font-weight:800; src:url('/assets/fonts/Montserrat-ExtraBold.ttf') format('truetype'); font-display:swap; }
@font-face { font-family:'Montserrat'; font-style:normal; font-weight:900; src:url('/assets/fonts/Montserrat-Black.ttf') format('truetype'); font-display:swap; }
@font-face { font-family:'Montserrat'; font-style:italic; font-weight:400; src:url('/assets/fonts/Montserrat-Italic.ttf') format('truetype'); font-display:swap; }
@font-face { font-family:'Montserrat'; font-style:italic; font-weight:500; src:url('/assets/fonts/Montserrat-MediumItalic.ttf') format('truetype'); font-display:swap; }
@font-face { font-family:'Montserrat'; font-style:italic; font-weight:300; src:url('/assets/fonts/Montserrat-LightItalic.ttf') format('truetype'); font-display:swap; }

/* ---------- Reset / base ---------- */
*, *::before, *::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:88px; }
body { margin:0; font-family:'Montserrat','Helvetica Neue',Arial,sans-serif; color:#1F262B; background:#FAF7F3; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
img { max-width:100%; display:block; }
a { color:inherit; }
input, textarea { font-family:inherit; }

/* ---------- Per-page selection accent ---------- */
::selection { background:#C28050; color:#fff; }
.theme-learn ::selection     { background:#6EA8DB; color:#fff; }
.theme-talent ::selection    { background:#E8D265; color:#1F262B; }
.theme-influence ::selection { background:#A3BE80; color:#1F262B; }
.theme-events ::selection    { background:#F2AC4A; color:#1F262B; }

/* ---------- Focus visibility (accessibility) ---------- */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
  outline:2px solid #C28050; outline-offset:2px;
}

/* ---------- Hover / focus interactions ----------
   Inline styles set the base; these !important rules win on hover/focus. */
.btn-copper:hover     { background:#9E6537 !important; }
.btn-outline:hover    { background:#1F262B !important; color:#FAF7F3 !important; }
.btn-dark:hover       { background:#11181C !important; }
.btn-learn:hover      { background:#4A88C0 !important; }
.btn-talent:hover     { background:#C4AE3A !important; }
.btn-influence:hover  { background:#7A9858 !important; }
.btn-events:hover     { background:#D48C28 !important; }
.btn-pill:hover       { background:#9E6537 !important; }

.navlink:hover        { color:#1F262B !important; }
.footer-link:hover    { color:#FAF7F3 !important; }
.backlink:hover       { color:#1F262B !important; }
.quicknav:hover       { background:#F2EDE6 !important; }

/* Collapse the inline nav links on small screens; logo + CTA remain. */
@media (max-width:720px) { .nav-links { display:none !important; } }

.pillar-card:hover {
  transform:translateY(-4px) !important;
  box-shadow:0 18px 40px -22px rgba(31,38,43,0.45) !important;
  z-index:2;
}

/* cross-pillar cards — hover background varies per theme */
.cross-card:hover                  { background:#fff !important; }
.theme-talent .cross-card:hover    { background:#FDFAE8 !important; }
.theme-influence .cross-card:hover { background:#F2F7EC !important; }
.theme-events .cross-card:hover    { background:#fff !important; }
/* influence solution rows */
.influence-row:hover               { background:#fff !important; }

/* ---------- Scroll reveal ----------
   No-JS: content is fully visible. With JS (html.js) it animates in. */
[data-reveal] { opacity:1; transform:none; }
html.js [data-reveal] {
  opacity:0;
  transform:translateY(18px);
  transition:opacity 600ms cubic-bezier(0.4,0,0.2,1), transform 600ms cubic-bezier(0.4,0,0.2,1);
  will-change:opacity, transform;
}
html.js [data-reveal].is-visible { opacity:1; transform:none; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  html.js [data-reveal] { opacity:1 !important; transform:none !important; transition:none !important; }
}
