/* =================================================
   HEADER
================================================= */

#site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;              /* allow centering */

  max-width:var(--max-width);
  margin:0 auto;        /* center the whole header */

  z-index:1000;
  background:transparent;

  padding:0 20px;       /*  creates side margin ALWAYS */

  transition:
    transform 0.3s ease,
    background 0.3s ease,
    color 0.3s ease,
    backdrop-filter 0.3s ease,
    box-shadow 0.3s ease;
}

body.scrolled .header-inner{
  border-radius:12px;

  background:rgba(255,255,255,0.75);

  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);

  border:1px solid rgba(0,0,0,0.06);

  box-shadow:
    0 12px 40px rgba(0,0,0,0.12),
    0 2px 8px rgba(0,0,0,0.08);
}

/* LOGO */

.logo{
  position:relative;
  display:flex;
  align-items:center;
}

/* base image (keeps layout) */
.logo-dark{
  position:relative;
  width:160px;
  height:auto;
  display:block;
}

/* overlay image */
.logo-light{
  position:absolute;
  top:0;
  left:0;
  width:160px;
  height:auto;
}

/* ============================
   LOGO VARIANTS
============================ */

/* default */
.logo-dark{
  opacity:1;
}

.logo-light{
  opacity:0;
}

/* media */
body.header-on-media .logo-dark{
  opacity:0;
}

body.header-on-media .logo-light{
  opacity:1;
}


/* =================================================
   NAVIGATION
================================================= */

.main-nav{
  display:flex;
  align-items:center;
  gap:var(--space-md);

  position:relative;
  top:-10px;
}

.main-nav a,
.nav-trigger{
  position:relative;
  z-index:1; /* ensure above pseudo */

  display:inline-flex;
  align-items:center;
  justify-content:center;

  padding:0.5rem 0.9rem;
  border-radius:6px;

  font-family:var(--font-heading);
  font-size:0.8rem;
  letter-spacing:0.14em;

  color:var(--color-text-primary);
  opacity:0.9;

  cursor:pointer;
  overflow:hidden;

  transition:
    color var(--transition-fast),
    transform var(--transition-fast),
    opacity var(--transition-fast);
}

.main-nav a::before,
.nav-trigger::before{
  content:"";
  position:absolute;
  inset:0;

  background:#ffffff;

  transform:scaleY(0);
  transform-origin:bottom;

  transition:transform 0.32s cubic-bezier(.22,1,.36,1);

  z-index:-1;
}

.main-nav a:hover::before,
.nav-trigger:hover::before{
  transform:scaleY(1);
}

.main-nav a:hover,
.nav-trigger:hover{
  color:var(--color-accent);
  opacity:1;
  transform:translateY(-1px);
}

.main-nav a.active{
  opacity:1;
}


/* =================================================
   DROPDOWN
================================================= */

.nav-dropdown{
  position:relative;
  display:flex;
  align-items:center;
}

.dropdown-menu{
  position:absolute;
  top:calc(100% + 50px); /* creates breathing space */
  right:-15%;

  transform:translateX(0) translateY(6px);

  padding:1.5rem 1rem;

  background:rgba(255,255,255,0.75);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);

  border-radius:10px;
  border:1px solid rgba(0,0,0,0.06);
  box-shadow:
    0 12px 40px rgba(0,0,0,0.12),
    0 2px 8px rgba(0,0,0,0.08);

  display:flex;

  gap:0.8rem;

  opacity:0;
  pointer-events:none;

  transition:opacity 0.25s ease, transform 0.25s ease;
}

.nav-dropdown:hover .dropdown-menu,
.nav-dropdown:focus-within .dropdown-menu{
  opacity:1;
  pointer-events:auto;
  transform:translateX(0) translateY(0);
}

.dropdown-open{
  opacity:1;
  pointer-events:auto;
  transform:translateX(0) translateY(0);
}

.nav-dropdown-trigger{
  background:none;
  border:none;
  color:inherit;
  cursor:pointer;

  font-family:var(--font-heading);
  letter-spacing:0.14em;
}

.dropdown-menu a {
  white-space: nowrap;
  display: inline-flex;
}

/* =================================================
   FOOTER
================================================= */

#site-footer{
  padding:1.5rem 2rem;
  font-size:var(--text-xs);
  font-family:var(--font-heading);

  /* ADD THIS */
  max-width: var(--max-width);
  margin: 3rem 3rem; /* space around it */

  background: rgba(255,255,255,0.75);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);

  border: 1px solid rgba(0,0,0,0.06);
  border-radius:12px;

  box-shadow:
    0 12px 40px rgba(0,0,0,0.12),
    0 2px 8px rgba(0,0,0,0.08);
}

/* SOCIAL ICONS */

.footer-left{
  display:flex;
  gap:var(--space-xs);
}

/* subtle hover */
.social-icon:hover{
  transform:translateY(-2px) scale(1.08);
  filter:brightness(0.95);
}

#site-footer .social-icon{
  display:inline-block;

  font-size:18px;
  line-height:1;
  vertical-align:middle;

  color:rgba(0,0,0,0.6);

  transition:
    transform 0.3s ease,
    text-shadow 0.3s ease,
    opacity 0.3s ease;
}

#site-footer .social-icon:hover{
  transform:translateY(-3px) scale(1.12);
  opacity:1;

  /* layered depth instead of glow */
  filter:drop-shadow(0 6px 14px rgba(0,0,0,0.12))
         drop-shadow(0 2px 6px rgba(255,86,35,0.25));
}

/* FOOTER LINKS */

.footer-center{
  display:flex;
  gap:2rem;
}

.footer-center a{
  font-size:var(--text-xs);
  letter-spacing:0.08em;
  opacity:0.7;
}

.footer-center a:hover{
  opacity:1;
}


/* COPYRIGHT */

.footer-right{
  font-size:var(--text-xs);
  opacity:0.6;
}

/* ============================
   CTA BUTTON
============================ */

.section-cta,
.contact-cta{
  display:inline-block;
  position:relative;
  overflow:hidden;
  padding:0.8rem 1.6rem;
  margin-top: 1.5rem;
  
  border-radius:6px;

  border:1px solid rgba(0,0,0,0.15);
  background:transparent;

  color:var(--color-text-primary);
  font-family:var(--font-heading);
  font-size:var(--text-xs);
  letter-spacing:clamp(0.12em, 0.3vw, 0.18em);

  transition:
    background var(--transition-fast),
    border-color var(--transition-fast),
    transform var(--transition-fast);
}


.section-cta::after{
  content:" →";
  display:inline-block;
  transition:transform var(--transition-fast);
}


.section-cta:hover,
.contact-cta:hover{
  background:rgba(0,0,0,0.04);
  border-color:rgba(0,0,0,0.3);
  transform:translateY(-2px);
  box-shadow:0 4px 12px rgba(0,0,0,0.08);
  letter-spacing:0.18em;
}

/* arrow motion stronger */
.section-cta:hover::after,
.contact-cta:hover::after{
  transform:translateX(6px);
}

/* ============================
   ICON 
============================ */
.social-icon{
  transition:
    transform 0.35s cubic-bezier(.22,1,.36,1),
    opacity 0.25s ease,
    filter 0.25s ease;
}

/* =================================================
   MICRO INTERACTIONS
================================================= */
.contact-cta::before,
.section-cta::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    120deg,
    transparent,
    rgba(255,86,35,0.25),
    transparent
  );
  transform:translateX(-100%);
  transition:transform 0.6s ease;
}

.section-cta:hover::before,
.contact-cta:hover::before{
  transform:translateX(100%);
}


/* ============================
   HEADER ON MEDIA (FINAL FIX)
============================ */

body.header-on-media #site-header .main-nav a,
body.header-on-media #site-header .nav-trigger{
  color:#ffffff;
  opacity:0.9;
}

body.header-on-media #site-header .main-nav a:hover,
body.header-on-media #site-header .nav-trigger:hover{
  color:var(--color-accent);
  opacity:1;
}

body.header-on-media #site-header{
  background:transparent;
  border:none;
}

body.header-on-media.scrolled .header-inner{
  background:rgba(0,0,0,0.5);

  backdrop-filter:blur(12px);
  
  border:1px solid rgba(255,255,255,0.08);

  box-shadow:
  0 12px 40px rgba(0,0,0,0.6);
}

body.header-on-media .dropdown-menu{
  background:rgba(0,0,0,0.7);

  backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:
    0 12px 40px rgba(0,0,0,0.6);
}

/* ============================
   ACCESSIBILITY: FOCUS STATES
============================ */

a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 3px;
}

/* =================================================
   MOBILE NAVIGATION – FIXED TOGGLE COLOR
================================================= */

.nav-toggle{
  display:none;
  font-size:var(--text-xl);
  background:none;
  border:none;
  color:var(--color-text-primary);
  cursor:pointer;
}

/* =========================
   FINAL COLOR LOGIC
========================= */

/* 1. NAV OPEN → ALWAYS WHITE (highest priority) */
body.nav-open .nav-toggle {
  color: #ffffff !important;
}

/* 2. ON MEDIA (when closed) → WHITE */
body.header-on-media:not(.nav-open) .nav-toggle {
  color: #ffffff;
  background: rgba(0,0,0,0.5);
}

/* 3. DEFAULT (non-media, closed) */
body:not(.header-on-media):not(.nav-open) .nav-toggle {
  color: var(--color-text-primary);
  background: rgba(0,0,0,0.05);
  border: 1px solid rgba(0,0,0,0.1);
}