/*
Theme Name: N-Tech Solar
Theme URI: https://n-techsolar.com
Author: N-Tech Solar Solutions
Description: Custom WordPress theme for N-Tech Solar Solutions — commercial, industrial and agricultural solar EPC.
Version: 1.0
Text Domain: ntech-solar
*/

:root{
  --ink:#101820;
  --paper:#F5F6F4;
  --amber:#E8A33D;
  --amber-dark:#C9821F;
  --teal:#1F4E4A;
  --slate:#4A5560;
  --line:#DADFDB;
  --white:#FFFFFF;
  --radius:2px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:tabular-nums;
}
h1,h2,h3,h4,.display{
  font-family:'Space Grotesk',sans-serif;
  font-weight:600;
  letter-spacing:-0.01em;
  margin:0;
}
a{color:inherit;}
img,svg{display:block;max-width:100%;height:auto;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
@media (max-width:700px){.wrap{padding:0 20px;}}

a:focus-visible,button:focus-visible{outline:2px solid var(--amber-dark);outline-offset:3px;}
@media (prefers-reduced-motion: reduce){*{transition:none !important;animation:none !important;scroll-behavior:auto !important;}}

/* screen-reader only helper */
.screen-reader-text{position:absolute;left:-9999px;}

/* ---------- Header ---------- */
header.site-header{
  position:sticky;top:0;z-index:50;
  background:var(--ink);
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.nav-row{
  display:flex;align-items:center;justify-content:space-between;
  height:74px;position:relative;
}
.logo{
  color:var(--paper);
  font-family:'Space Grotesk',sans-serif;
  font-weight:700;font-size:19px;
  letter-spacing:-0.01em;
  display:flex;align-items:center;gap:10px;
  text-decoration:none;
}
.logo img{max-height:34px;width:auto;}
.logo .mark{width:22px;height:22px;flex:none;}
nav.primary{display:flex;gap:30px;align-items:center;list-style:none;margin:0;padding:0;}
nav.primary ul{display:flex;gap:30px;align-items:center;list-style:none;margin:0;padding:0;}
nav.primary li{position:relative;}
nav.primary a{
  color:rgba(245,246,244,0.72);
  text-decoration:none;font-size:14.5px;font-weight:500;
  transition:color .15s ease;
}
nav.primary a:hover{color:var(--paper);}
.nav-cta{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 20px;border-radius:var(--radius);
  background:var(--amber);color:var(--ink) !important;
  font-weight:600 !important;font-size:14px !important;
}
.nav-cta:hover{background:var(--amber-dark);}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:11px 22px;border-radius:var(--radius);
  font-size:14.5px;font-weight:600;text-decoration:none;
  border:1px solid transparent;cursor:pointer;
}
.btn-amber{background:var(--amber);color:var(--ink);}
.btn-amber:hover{background:var(--amber-dark);}
.btn-outline-dark{border-color:rgba(255,255,255,0.28);color:var(--paper);background:transparent;}
.btn-outline-dark:hover{border-color:var(--paper);}
.menu-toggle{display:none;background:none;border:0;color:var(--paper);padding:4px;cursor:pointer;}

@media (max-width:860px){
  .menu-toggle{display:block;}
  nav.primary{
    display:none;
    position:absolute;top:74px;left:0;right:0;
    background:var(--ink);
    flex-direction:column;align-items:flex-start;
    padding:8px 20px 24px;gap:0;
    border-bottom:1px solid rgba(255,255,255,0.08);
  }
  nav.primary.is-open{display:flex;}
  nav.primary ul{flex-direction:column;align-items:flex-start;width:100%;gap:0;}
  nav.primary li{width:100%;}
  nav.primary a{display:block;padding:13px 0;border-bottom:1px solid rgba(255,255,255,0.06);width:100%;}
  .nav-cta{margin-top:14px;width:100%;}
}

/* ---------- Hero ---------- */
.hero{padding:88px 0 64px;}
.hero-tag{color:var(--teal);font-size:13.5px;font-weight:600;margin:0 0 18px;}
.hero h1{font-size:clamp(32px,5vw,54px);line-height:1.06;max-width:16ch;color:var(--ink);}
.hero p.lead{max-width:52ch;margin:22px 0 0;font-size:17.5px;line-height:1.6;color:var(--slate);}
.hero .hero-actions{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap;}

.stat-rail{margin-top:52px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);}
.stat-rail div{padding:22px 22px 0 0;border-right:1px solid var(--line);}
.stat-rail div:last-child{border-right:none;}
.stat-num{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(22px,3vw,34px);color:var(--ink);display:block;}
.stat-label{font-size:13px;color:var(--slate);margin-top:6px;display:block;}
@media (max-width:760px){
  .stat-rail{grid-template-columns:repeat(2,1fr);}
  .stat-rail div{border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:18px;}
}

/* ---------- Section headings ---------- */
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin:0 0 36px;flex-wrap:wrap;}
.section-head h2{font-size:clamp(22px,2.6vw,30px);max-width:26ch;}
.section-head .section-tag{color:var(--teal);font-size:13px;font-weight:600;display:block;margin-bottom:10px;}
.section-head a.view-all{font-size:14px;font-weight:600;text-decoration:none;border-bottom:1.5px solid var(--amber);padding-bottom:2px;white-space:nowrap;}

/* ---------- Featured project teaser cards (homepage) ---------- */
.teaser-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:64px 0;}
@media (max-width:900px){.teaser-grid{grid-template-columns:1fr;}}
.teaser-card{border:1px solid var(--line);background:var(--white);display:flex;flex-direction:column;text-decoration:none;color:inherit;border-left:3px solid var(--teal);}
.teaser-visual{aspect-ratio:16/10;position:relative;overflow:hidden;background:linear-gradient(155deg,var(--teal) 0%,#123634 60%,var(--ink) 100%);}
.teaser-visual img{width:100%;height:100%;object-fit:cover;}
.teaser-visual .panel-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(245,246,244,0.14) 1px, transparent 1px),linear-gradient(90deg, rgba(245,246,244,0.14) 1px, transparent 1px);background-size:14.28% 20%;}
.teaser-body{padding:22px 22px 24px;}
.teaser-cat{font-size:12px;font-weight:600;color:var(--amber-dark);display:block;margin-bottom:8px;}
.teaser-body h3{font-size:18px;line-height:1.35;margin-bottom:8px;}
.teaser-body p{font-size:14px;color:var(--slate);line-height:1.55;margin:0;}
.teaser-cap{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:15px;color:var(--ink);display:block;margin-top:14px;}

/* ---------- Filter bar (projects archive) ---------- */
.filter-bar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white);position:sticky;top:74px;z-index:40;}
.filter-row{display:flex;gap:8px;align-items:center;padding:14px 0;overflow-x:auto;}
.filter-pill{border:1px solid var(--line);background:transparent;color:var(--slate);font-family:'Inter',sans-serif;font-size:13.5px;font-weight:600;padding:8px 16px;border-radius:20px;white-space:nowrap;text-decoration:none;transition:all .15s ease;}
.filter-pill:hover{border-color:var(--ink);color:var(--ink);}
.filter-pill.is-active{background:var(--ink);border-color:var(--ink);color:var(--paper);}
.filter-count{color:var(--slate);font-size:13.5px;margin-left:auto;padding-left:16px;flex:none;}

/* ---------- Project log (archive alternating layout) ---------- */
.log{padding:12px 0 8px;}
.entry{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:56px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;}
.entry.reverse .visual{order:2;}
.entry.reverse .content{order:1;}
.entry .date-mark{font-size:13px;font-weight:600;color:var(--amber-dark);display:block;margin-bottom:14px;}
.entry h3{font-size:24px;line-height:1.25;color:var(--ink);max-width:22ch;}
.entry .category{display:inline-block;font-size:12px;font-weight:600;color:var(--teal);border:1px solid var(--teal);padding:3px 9px;border-radius:20px;margin-bottom:14px;}
.entry p.narrative{color:var(--slate);font-size:15.5px;line-height:1.65;margin:16px 0 22px;max-width:46ch;}
.spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 0 22px;max-width:420px;}
.spec-grid div{border-top:1px solid var(--line);padding-top:10px;}
.spec-val{display:block;font-weight:700;font-size:16px;color:var(--ink);}
.spec-key{display:block;font-size:12px;color:var(--slate);margin-top:2px;}
.case-link{font-size:14.5px;font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1.5px solid var(--amber);padding-bottom:2px;}

.visual{aspect-ratio:4/3;border-radius:3px;overflow:hidden;position:relative;background:linear-gradient(155deg,var(--teal) 0%,#123634 60%,var(--ink) 100%);}
.visual img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.panel-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(245,246,244,0.14) 1px, transparent 1px),linear-gradient(90deg, rgba(245,246,244,0.14) 1px, transparent 1px);background-size:14.28% 20%;opacity:0.9;}
.visual .kw-badge{position:absolute;left:20px;bottom:20px;background:rgba(16,24,32,0.82);color:var(--paper);padding:10px 16px;border-radius:2px;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:20px;border-left:3px solid var(--amber);z-index:2;}
.visual .kw-badge span{display:block;font-family:'Inter',sans-serif;font-weight:500;font-size:11px;color:rgba(245,246,244,0.65);margin-top:2px;}

@media (max-width:820px){
  .entry,.entry.reverse{grid-template-columns:1fr;gap:26px;}
  .entry.reverse .visual,.entry.reverse .content{order:initial;}
  .spec-grid{max-width:none;}
}

/* ---------- Impact band ---------- */
.impact{background:var(--amber);color:var(--ink);padding:64px 0;}
.impact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
.impact h2{font-size:15px;font-weight:600;max-width:20ch;margin-bottom:36px;}
.impact-num{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(26px,3.2vw,40px);}
.impact-label{font-size:13.5px;margin-top:6px;color:rgba(16,24,32,0.72);}
@media (max-width:760px){.impact-grid{grid-template-columns:repeat(2,1fr);row-gap:32px;}}

/* ---------- CTA band ---------- */
.cta{background:var(--ink);color:var(--paper);padding:88px 0;text-align:center;}
.cta h2{font-size:clamp(26px,3.4vw,38px);max-width:20ch;margin:0 auto 14px;color:var(--paper);}
.cta p{color:rgba(245,246,244,0.68);font-size:16px;max-width:48ch;margin:0 auto 32px;}
.cta-buttons{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* ---------- Single project page ---------- */
.project-hero{padding:64px 0 40px;border-bottom:1px solid var(--line);}
.project-hero .category{display:inline-block;font-size:12px;font-weight:600;color:var(--teal);border:1px solid var(--teal);padding:3px 9px;border-radius:20px;margin-bottom:16px;}
.project-hero h1{font-size:clamp(28px,4vw,42px);max-width:22ch;line-height:1.1;}
.project-hero .date-mark{font-size:13.5px;font-weight:600;color:var(--amber-dark);display:block;margin-top:16px;}
.project-featured-visual{margin:40px 0;aspect-ratio:21/9;border-radius:3px;overflow:hidden;position:relative;background:linear-gradient(155deg,var(--teal) 0%,#123634 60%,var(--ink) 100%);}
.project-featured-visual img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.project-body{display:grid;grid-template-columns:2fr 1fr;gap:56px;padding:0 0 72px;}
@media (max-width:820px){.project-body{grid-template-columns:1fr;}}
.project-content{font-size:16px;line-height:1.75;color:var(--ink);}
.project-content p{margin:0 0 20px;}
.project-content h2,.project-content h3{margin:36px 0 14px;}
.project-sidebar .spec-grid{grid-template-columns:1fr;max-width:none;gap:0;}
.project-sidebar .spec-grid div{padding:14px 0;}
.project-sidebar{border-top:3px solid var(--amber);padding-top:20px;}
.back-link{display:inline-block;margin-bottom:24px;font-size:14px;color:var(--slate);text-decoration:none;}
.back-link:hover{color:var(--ink);}

/* ---------- Generic page content ---------- */
.page-hero{padding:64px 0 40px;border-bottom:1px solid var(--line);}
.page-hero h1{font-size:clamp(30px,4.4vw,46px);max-width:20ch;}
.site-main{padding-bottom:20px;}
.entry-content{max-width:74ch;padding:48px 0;font-size:16.5px;line-height:1.75;}
.entry-content p{margin:0 0 20px;}
.entry-content h2{font-size:26px;margin:40px 0 16px;}
.entry-content h3{font-size:20px;margin:32px 0 14px;}
.entry-content ul,.entry-content ol{margin:0 0 20px;padding-left:22px;}
.entry-content li{margin-bottom:8px;}
.entry-content img{border-radius:3px;margin:16px 0;}
.entry-content a{color:var(--teal);text-decoration:underline;}
.entry-content blockquote{border-left:3px solid var(--amber);margin:24px 0;padding:4px 0 4px 20px;color:var(--slate);font-style:italic;}

/* ---------- Footer ---------- */
footer.site-footer{background:var(--ink);border-top:1px solid rgba(255,255,255,0.08);padding:56px 0 32px;}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;}
.foot-grid h4{color:var(--paper);font-size:13px;font-weight:600;margin-bottom:16px;font-family:'Inter',sans-serif;}
.foot-grid a{display:block;color:rgba(245,246,244,0.62);text-decoration:none;font-size:14px;margin-bottom:11px;}
.foot-grid a:hover{color:var(--paper);}
.foot-logo{color:var(--paper);font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:18px;margin-bottom:14px;}
.foot-grid p{color:rgba(245,246,244,0.55);font-size:14px;line-height:1.6;max-width:32ch;}
.foot-bottom{margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,255,255,0.08);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;color:rgba(245,246,244,0.5);}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr 1fr;row-gap:32px;}}

/* ---------- Misc / WP core ---------- */
.alignwide{max-width:1180px;margin-left:auto;margin-right:auto;}
.alignfull{max-width:100%;}
.no-results{padding:80px 0;text-align:center;color:var(--slate);}
