/*
Theme Name: Hello Elementor Child
Author: Enspirit Tech
Description: Your description goes here
Version: 1.0
Template: hello-elementor

This is the child theme for Hello Elementor theme, generated with Generate Child Theme plugin by catchthemes.

(optional values you can add: Theme URI, Author URI, License, License URI, Tags, Text Domain)
*/

:root{
    --soot:#12110F;
    --soot-2:#1C1A17;
    --red:#A01428;          /* logo crimson */
    --red-deep:#7E0F1F;     /* deeper crimson for hover */
    --red-bright:#C41E36;   /* brighter crimson for accents */
    --gold:#A08C50;         /* logo warm gold/tan */
    --gold-bright:#C2A862;  /* slightly lifted gold for highlights */
    --cream:#F5EFD9;
    --cream-2:#EDE5C5;
    --green:#1F4D3F;
    --green-soft:#286A57;
    --rule:rgba(18,17,15,.12);
    --display:'Oswald', 'Arial Narrow', sans-serif;
    --sans:'Oswald', 'Arial Narrow', sans-serif;
    --hand:'Oswald', 'Arial Narrow', sans-serif;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:var(--sans);
    color:var(--soot);
    background:var(--cream);
    -webkit-font-smoothing:antialiased;
    line-height:1.5;
    font-size:16px;
    overflow-x:hidden;
  }

/*Header css*/
 /* ============ NAV ============ */
  .nav-wrap{
    position:sticky;top:0;z-index:50;
    background:var(--cream);
    border-bottom:2px solid var(--soot);
  }
  .nav{
    max-width:1440px;margin:0 auto;
    display:grid;grid-template-columns:auto 1fr auto;
    align-items:center;
    padding:14px 32px;gap:48px;
  }
  .logo{
    display:inline-block;
    transition:transform .25s;
  }
  .logo:hover{transform:rotate(-2deg) scale(1.02)}
  .logo img{
    height:54px;width:auto;
    display:block;
  }
.nav-links ul {
    display: flex;
    gap: 32px;
    justify-content: center;
    font-weight: 600;
    font-size: 14px;
    color: var(--soot);
    list-style: none;
}
  .nav-links ul li a {
    position: relative;
    padding: 6px 0;
    letter-spacing: -0.005em;
    color: var(--soot);
}
.nav-links ul li.current-menu-item a{
	    color: #A01428;
}
  .nav-links ul li a::after{
    content:"";position:absolute;
    left:0;right:100%;bottom:-2px;
    height:3px;background:var(--red);
    transition:right .35s cubic-bezier(.6,.05,.2,.95);
  }
  .nav-links ul li a:hover::after{right:0}
  .nav-cta{display:flex;gap:12px;align-items:center;    justify-content: flex-end;}
  .phone{
    font-weight:700;font-size:14px;
    color:var(--soot);letter-spacing:-0.01em;
  }
  .btn-quote{
    background:var(--red);color:var(--cream) !important;
    padding:11px 18px;border-radius:30px;
    font-size:13px;font-weight:700;letter-spacing:.04em;
    text-transform:uppercase;
    display:inline-flex;align-items:center;gap:8px;
    transition:all .25s;
    box-shadow:3px 3px 0 var(--soot) !important;
  }
  .btn-quote:hover{
    transform: translate(-2px, -2px);
    box-shadow: 5px 5px 0 var(--soot) !important;
    background: var(--red-deep);
  }
  .btn-hire{
    background:var(--soot);color:var(--cream);
    padding:11px 16px;border-radius:30px;
    font-size:13px;font-weight:700;letter-spacing:.04em;
    text-transform:uppercase;
    display:inline-flex;align-items:center;gap:8px;
    transition:all .25s;
    border:2px solid var(--soot);
  }
  .btn-hire::before{
    content:"";width:7px;height:7px;border-radius:50%;
    background:var(--gold-bright);
    box-shadow:0 0 0 0 var(--gold-bright);
    animation:hire-pulse 1.6s ease-in-out infinite;
  }
  @keyframes hire-pulse{
    0%,100%{box-shadow:0 0 0 0 rgba(194,168,98,.7)}
    50%{box-shadow:0 0 0 6px rgba(194,168,98,0)}
  }
  .btn-hire:hover{
    background:var(--cream);color:var(--soot);
  }






 /* ============ MOBILE HAMBURGER + DRAWER (brief §5) ============ */
  .hamburger{
    display:none;
    width:42px;height:42px;
    background:transparent;
    border:2px solid var(--soot);
    border-radius:50%;
    padding:0;
    cursor:pointer;
    align-items:center;justify-content:center;
    flex-direction:column;
    gap:5px;
    transition:background .2s;
  }
  .hamburger:hover,.hamburger:focus{background:var(--cream-2,#FAF6E8)}
  .hamburger span{
    display:block;
    width:18px;height:2px;
    background:var(--soot);
    transition:transform .25s, opacity .2s;
  }
  .hamburger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .hamburger[aria-expanded="true"] span:nth-child(2){opacity:0}
  .hamburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-drawer-nav ul {
    list-style: none;
}
.mobile-drawer{
position:fixed;
inset:0;
z-index:99999;
visibility:hidden;
opacity:0;
pointer-events:none;
transition:opacity .3s ease;
}

.mobile-drawer.active{
visibility:visible;
opacity:1;
pointer-events:auto;
}

.mobile-drawer-overlay{
position:absolute;
inset:0;
background:rgba(0,0,0,.6);
}

.mobile-drawer.active .mobile-drawer-panel{
transform:translateX(0);
}
  .mobile-drawer[hidden]{display:none}
  .mobile-drawer-overlay{
    position:absolute;
    inset:0;
    background:rgba(18,17,15,.6);
    animation:drawerFade .25s ease both;
  }
  .mobile-drawer-panel{
    position:absolute;
    top:0;right:0;bottom:0;
    width:min(86%, 380px);
    background:var(--soot,#1F1B17);
    color:var(--cream,#F5EED9);
    padding:24px 28px 32px;
    display:flex;flex-direction:column;
    animation:drawerSlide .3s cubic-bezier(.4,0,.2,1) both;
    overflow-y:auto;
  }
  @keyframes drawerFade{ from{opacity:0} to{opacity:1} }
  @keyframes drawerSlide{ from{transform:translateX(100%)} to{transform:translateX(0)} }

  .mobile-drawer-head{
    display:flex;align-items:center;justify-content:space-between;
    padding-bottom:24px;
    border-bottom:2px solid rgba(245,239,217,.18);
    margin-bottom:24px;
  }
  .mobile-drawer-eyebrow{
    font-family:var(--display,Oswald);
    font-weight:700;
    font-size:12px;
    letter-spacing:.28em;text-transform:uppercase;
    color:var(--gold-bright,#C2A862);
  }
  .mobile-drawer-close{
    background:transparent;color:var(--cream,#F5EED9);
    border:2px solid var(--cream,#F5EED9);
    border-radius:50%;
    width:36px;height:36px;
    font-size:14px;line-height:1;
    cursor:pointer;
    transition:background .2s, color .2s;
    padding: 0;
  }
  .mobile-drawer-close:hover{background:var(--cream,#F5EED9);color:var(--soot,#1F1B17)}

  .mobile-drawer-nav{
    display:flex;flex-direction:column;
    gap:2px;
    margin-bottom:32px;
  }
  .mobile-drawer-nav a{
    display:block;
    padding:16px 0;
    font-family:var(--display,Oswald);
    font-weight:700;
    font-size:26px;
    line-height:1.1;letter-spacing:-0.01em;
    text-transform:uppercase;
    color:var(--cream,#F5EED9);
    border-bottom:1.5px solid rgba(245,239,217,.12);
    transition:color .2s, padding-left .2s;
  }
  .mobile-drawer-nav a:hover,
  .mobile-drawer-nav a:focus{
    color:var(--gold-bright,#C2A862);
    padding-left:10px;
  }
  .mobile-drawer-nav a[aria-current="page"]{
    color:var(--red,#A01428);
  }

  .mobile-drawer-cta{
    display:flex;flex-direction:column;gap:10px;
    margin-top:auto;
    padding-top:24px;
    border-top:2px solid rgba(245,239,217,.18);
  }
  .mobile-drawer-hire,
  .mobile-drawer-quote,
  .mobile-drawer-phone{
    display:flex;align-items:center;justify-content:space-between;
    padding:14px 18px;
    font-family:var(--display,Oswald);
    font-weight:700;
    font-size:13px;
    letter-spacing:.18em;text-transform:uppercase;
    border:2px solid currentColor;
    transition:background .2s, color .2s;
  }
  .mobile-drawer-hire{
    color:var(--gold-bright,#C2A862);
    border-color:var(--gold-bright,#C2A862);
  }
  .mobile-drawer-hire:hover{background:var(--gold-bright,#C2A862);color:var(--soot,#1F1B17)}
  .mobile-drawer-quote{
    background:var(--red,#A01428);
    color:var(--cream,#F5EED9);
    border-color:var(--red,#A01428);
  }
  .mobile-drawer-quote:hover{
    background:transparent;color:var(--red,#A01428);
  }
  .mobile-drawer-phone{
    color:var(--cream,#F5EED9);
    border-color:rgba(245,239,217,.4);
    font-family:Inter, system-ui, sans-serif;
    letter-spacing:0;
    font-size:14px;
    font-weight:600;
    justify-content:center;
  }
  .mobile-drawer-phone:hover{background:rgba(245,239,217,.08)}

  /* Show hamburger only on mobile */
  @media (max-width:780px){
    .hamburger{display:flex}
    /* Header simplification on mobile so hamburger fits */
    .nav-cta .phone,
    .nav-cta .btn-hire{display:none !important}
    .nav{grid-template-columns:auto auto;padding:10px 14px;gap:12px}
    .nav-links{display:none}
    .phone{display:none}
    .btn-hire{padding:8px 12px;font-size:10.5px;letter-spacing:.1em}
    .logo img{height:42px
    }
  }
  /* Prevent body scroll when drawer open */
  body.drawer-open{overflow:hidden}


  .wc-main-footer-list p, .wc-main-footer-list ul.elementor-icon-list-items li a, .wc-main-footer-list ul.elementor-icon-list-items li a span {
    opacity: .82;
}
.wc-main-footer-bottom h2.elementor-heading-title, .wc-main-footer-bottom ul li {
    opacity: .7;
}