/*
Theme Name: Hawthorne Energy Systems
Theme URI: https://hawthorne.energy/
Author: Hawthorne Energy Systems
Description: Canonical-source WordPress theme for Hawthorne Energy Systems.
Version: 0.2.4
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: hawthorne-energy-systems
*/

/*
IMPORTANT SOURCE-CONTROL RULE
Page copy in front-page.php, page-industrial-applications.php and page-platform.php
is transferred verbatim from the locked canonical HTML sources listed in /control/.
Do not edit substantive page copy in this theme. Create a new controlled source version first.
*/

:root{
  --hes-navy:#102f4e;
  --hes-brass:#b58a4d;
  --hes-brass-soft:#c9a66e;
  --hes-ivory:#f1ece2;
  --hes-graphite:#151515;
  --hes-serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  --hes-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0}
img{max-width:100%;height:auto}

.skip-link{
  position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;
}
.skip-link:focus{
  left:18px;top:18px;width:auto;height:auto;padding:10px 14px;
  background:#fff;color:#111;z-index:9999;
}

/* Shared site shell.
   Deliberate theme-level correction from the discarded v0.1.0 build:
   the full masthead is NORMAL-FLOW, never sticky over editorial content. */
.hes-site-header{
  position:relative !important;
  top:auto !important;
  z-index:50;
  display:grid;
  grid-template-columns:minmax(315px,.95fr) 1.65fr auto;
  align-items:center;
  gap:30px;
  min-height:108px;
  padding:13px 4vw;
  background:var(--hes-navy);
  border-bottom:1px solid rgba(201,166,110,.52);
}
.hes-brand{display:flex;align-items:center}
.hes-brand img{
  display:block;
  width:330px;
  max-width:100%;
  height:auto;
  border:0;
  background:transparent;
  box-shadow:none;
}
.hes-nav ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  justify-content:center;
  gap:24px;
  flex-wrap:wrap;
}
.hes-nav a,.hes-mobile-contact{display:none}
.hes-contact{
  font-family:var(--hes-sans);
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.hes-nav a{color:rgba(255,255,255,.86)}
.hes-nav a:hover,.hes-nav a:focus-visible,
.hes-nav .current-menu-item>a,.hes-nav .current_page_item>a{color:#fff}
.hes-contact{
  border:1px solid rgba(201,166,110,.9);
  padding:11px 15px;
  color:#fff;
}
.hes-menu-toggle{
  display:none;
  border:1px solid rgba(201,166,110,.72);
  background:transparent;
  color:#fff;
  font:inherit;
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  padding:10px 12px;
  cursor:pointer;
}

.hes-site-footer{
  background:var(--hes-navy);
  padding:24px 4vw;
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
  border-top:1px solid rgba(255,255,255,.1);
  font-family:var(--hes-sans);
  font-size:9px;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:#cbd2d8;
}
.hes-site-footer img{width:255px;height:auto}

/* Neutralize the prototype header/footer rules from locked page CSS.
   Locked page main content remains untouched; WordPress supplies the shared shell. */
.site-header, footer{display:none !important}

/* Generic future page shell only; no locked page uses this. */
.hes-generic{
  min-height:65vh;
  padding:9vw 7vw;
  background:var(--hes-graphite);
  color:var(--hes-ivory);
  font-family:var(--hes-sans);
}
.hes-generic h1{
  margin:0;
  font-family:var(--hes-serif);
  font-weight:400;
  font-size:clamp(48px,6vw,98px);
  line-height:.96;
  letter-spacing:-.03em;
}
.hes-generic .entry-content{
  max-width:760px;
  margin-top:42px;
  font-size:18px;
  line-height:1.75;
}

@media(max-width:980px){
  .hes-site-header{
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    min-height:76px;
    padding:8px 16px;
  }
  .hes-brand{
    min-width:0;
    display:flex;
    align-items:center;
  }
  .hes-brand-full{
    display:block !important;
    width:238px !important;
    max-width:66vw !important;
    height:auto !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  .hes-brand-icon{display:none !important}
  .hes-menu-toggle{
    display:block;
    padding:9px 12px;
  }
  .hes-nav{
    display:none;
    position:absolute;
    left:0;right:0;top:100%;
    background:var(--hes-navy);
    border-top:1px solid rgba(255,255,255,.1);
    padding:8px 18px 20px;
    z-index:60;
  }
  .hes-nav.is-open{display:block}
  .hes-nav ul{display:block}
  .hes-nav li{border-bottom:1px solid rgba(255,255,255,.1)}
  .hes-nav a{display:block;padding:14px 0}
  .hes-contact{display:none !important}
  .hes-mobile-contact{
    display:block;
    margin-top:12px;
    padding:15px 0 3px;
    border-top:1px solid rgba(201,166,110,.55);
    color:#fff;
    font-family:var(--hes-sans);
    font-size:10px;
    letter-spacing:.16em;
    text-transform:uppercase;
  }
  .hes-site-footer{flex-direction:column;align-items:flex-start}
  .hes-site-footer img{width:230px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}

@media(max-width:980px){
  .hes-brand-icon{display:none !important}
  .hes-brand-full{
    display:block !important;
    width:290px !important;
    max-width:min(64vw,290px) !important;
    height:auto !important;
  }
  .hes-contact{display:none !important}
  .hes-mobile-contact{display:block}
}
