/*
Theme Name: Annuit Revenue Engineering
Theme URI: https://example.com/
Author: Generated by ChatGPT
Author URI: https://example.com/
Description: A Tailwind-powered WordPress theme based on the provided Annuit HTML.
Version: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: annuit
Tags: custom, tailwind, dark, one-column
*/

:root{
  --navy-950:#020410;
  --navy-900:#080c19;
  --navy-850:#0f1629;
  --navy-800:#1e293b;
  --navy-700:#334155;
  --navy-100:#e2e8f0;
  --accent-500:#3b82f6;
  --accent-400:#60a5fa;
  --accent-900:#1e3a8a;
}

/* Match original site smoothing */
body{
  font-family: 'Inter', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Custom Scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #020410; }
::-webkit-scrollbar-thumb { background: #1e293b; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #334155; }

/* Subtle grid background */
.bg-grid{
  background-size: 40px 40px;
  background-image:
    linear-gradient(to right, rgba(255, 255, 255, 0.02) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
}

.glass-panel{
  background: rgba(11, 16, 33, 0.6);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}


/* Fallback colors if Tailwind doesn't load */
body{background:#020410;color:#e2e8f0;}

/* -----------------------------
   Techy polish / motion tweaks
   ----------------------------- */

/* A subtle glow for key headlines
   UPDATED: add drop-shadow for desktop consistency and tune intensity */
.annuit-text-glow{
  text-shadow:
    0 0 18px rgba(96,165,250,0.22),
    0 0 44px rgba(59,130,246,0.14);
  /* Helps the glow read consistently on desktop browsers */
  filter:
    drop-shadow(0 0 10px rgba(96,165,250,0.22))
    drop-shadow(0 0 22px rgba(59,130,246,0.14));
}

/* Slightly stronger glow on desktop so it matches the "mobile wow" */
@media (min-width: 768px){
  .annuit-text-glow{
    text-shadow:
      0 0 22px rgba(96,165,250,0.28),
      0 0 62px rgba(59,130,246,0.18);
    filter:
      drop-shadow(0 0 14px rgba(96,165,250,0.28))
      drop-shadow(0 0 34px rgba(59,130,246,0.18));
  }
}

/* Animated gradient text (keeps base white readable) */
.annuit-animated-gradient{
  background-size: 200% 200%;
  background-image: linear-gradient(135deg, rgba(255,255,255,1) 0%, rgba(96,165,250,0.95) 35%, rgba(16,185,129,0.85) 70%, rgba(255,255,255,0.9) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: annuitGradientShift 8s ease-in-out infinite;
}
@keyframes annuitGradientShift{
  0%{ background-position: 0% 50%; }
  50%{ background-position: 100% 50%; }
  100%{ background-position: 0% 50%; }
}

/* Scroll-to-section should land below the fixed header */
*[id]{
  scroll-margin-top: 9rem; /* header is 8rem; leave a little breathing room */
}

/* Mobile menu open/close animation */
.annuit-mobile-menu{
  transform: translateY(-10px);
  opacity: 0;
  pointer-events: none;
  transition: transform 220ms ease, opacity 220ms ease;
}
.annuit-mobile-menu.is-open{
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

/* Burger to X animation */
.annuit-burger{
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.annuit-burger-lines{
  position: relative;
  width: 22px;
  height: 14px;
}
.annuit-burger-lines span{
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background: rgba(226,232,240,0.95);
  border-radius: 999px;
  transition: transform 220ms ease, top 220ms ease, opacity 160ms ease;
}
.annuit-burger-lines span:nth-child(1){ top: 0; }
.annuit-burger-lines span:nth-child(2){ top: 6px; }
.annuit-burger-lines span:nth-child(3){ top: 12px; }
.annuit-burger.is-open .annuit-burger-lines span:nth-child(1){ top: 6px; transform: rotate(45deg); }
.annuit-burger.is-open .annuit-burger-lines span:nth-child(2){ opacity: 0; }
.annuit-burger.is-open .annuit-burger-lines span:nth-child(3){ top: 6px; transform: rotate(-45deg); }

/* Prevent body scroll when mobile menu is open */
body.annuit-menu-open{ overflow: hidden; }

/* -----------------------------
   News & Media styling helpers
   ----------------------------- */

.annuit-chip{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.5rem .75rem;
  border-radius:999px;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.10);
  color:rgba(226,232,240,0.9);
  font-size:.75rem;
  line-height:1;
  transition:transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
}
.annuit-chip:hover{ transform:translateY(-1px); background:rgba(255,255,255,0.06); border-color:rgba(96,165,250,0.35); }
.annuit-chip.is-active{ background:rgba(59,130,246,0.14); border-color:rgba(96,165,250,0.45); color:#e2e8f0; }

.annuit-post-card{ transition: transform 220ms ease, border-color 220ms ease, background-color 220ms ease; }
.annuit-post-card:hover{ transform: translateY(-3px); border-color: rgba(96,165,250,0.35); background: rgba(255,255,255,0.06); }

.annuit-pagination a,
.annuit-pagination span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  height:44px;
  padding:0 .85rem;
  border-radius:14px;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.10);
  color:rgba(226,232,240,0.9);
  transition:background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}
.annuit-pagination a:hover{ background:rgba(255,255,255,0.06); border-color:rgba(96,165,250,0.35); transform:translateY(-1px); }
.annuit-pagination .current{ background:rgba(59,130,246,0.14); border-color:rgba(96,165,250,0.45); color:#e2e8f0; }

/* If Tailwind line-clamp plugin isn't present, provide a lightweight fallback */
.line-clamp-2{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}

/* ---------------------------------
   Normalize hero spacing across pages
   Contact + Careers
   --------------------------------- */

/* Target page-specific body classes (slugs) */
body.page-contact .page-hero,
body.page-careers .page-hero,
body.page-contact h1:first-of-type,
body.page-careers h1:first-of-type{
  margin-top: 0;
  padding-top: 6rem; /* matches homepage hero spacing */
}

/* Mobile adjustment (keeps rhythm identical everywhere) */
@media (max-width: 767px){
  body.page-contact .page-hero,
  body.page-careers .page-hero,
  body.page-contact h1:first-of-type,
  body.page-careers h1:first-of-type{
    padding-top: 4.5rem;
  }
}


/* FINAL spacing tweak: bring Contact + Careers hero closer to header */
body.page-contact .page-hero,
body.page-careers .page-hero,
body.page-contact h1:first-of-type,
body.page-careers h1:first-of-type{
  padding-top: 4.25rem; /* tighter, closer to header */
}

@media (max-width: 767px){
  body.page-contact .page-hero,
  body.page-careers .page-hero,
  body.page-contact h1:first-of-type,
  body.page-careers h1:first-of-type{
    padding-top: 3.25rem;
  }
}


/* ================================
   FINAL CONSISTENCY PASS
   Careers + Contact spacing + Services mobile headline
   ================================ */

/* Careers + Contact: tighter + identical spacing under header */
body.page-careers .page-hero,
body.page-contact .page-hero,
body.page-careers h1:first-of-type,
body.page-contact h1:first-of-type{
  padding-top: 3.75rem;
}

@media (max-width: 767px){
  body.page-careers .page-hero,
  body.page-contact .page-hero,
  body.page-careers h1:first-of-type,
  body.page-contact h1:first-of-type{
    padding-top: 3rem;
  }
}

/* Services page: mobile headline size should match homepage */
@media (max-width: 767px){
  body.page-services h1{
    font-size: clamp(2.25rem, 6vw, 3rem);
    line-height: 1.1;
  }
}

/* ================================
   Page spacing + Services mobile headline consistency
   ================================ */

/* WP body classes use the page slug, e.g. page-contact, page-careers */
body.page-contact main.relative.z-10,
body.page-careers main.relative.z-10{
  padding-top: 0; /* template controls spacing */
}

/* Ensure Services hero H1 matches homepage size on mobile */
@media (max-width: 767px){
  body.page-services h1{
    font-size: 3rem; /* Tailwind text-5xl equivalent */
    line-height: 1.1;
  }
}
