/*
Theme Name: TA Construction
Author: TA Construction
Description: Premium minimal theme for TA Construction. Home, About, Services, and Contact templates.
Version: 1.0
License: GNU General Public License v2 or later
Text Domain: ta-construction
*/
:root{
  --black:#13294b;--ink:#1a3157;--text:#27354d;--muted:#77787c;
  --line:#e3e7ee;--bg:#ffffff;--bg-soft:#f4f6f9;
  --bronze:#d9930d;--bronze-d:#b57a0a;--maxw:1140px;
  color-scheme:light;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Outfit',system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.7;font-size:16.5px;font-weight:300}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
h1,h2,h3,h4{color:var(--black);font-weight:500;line-height:1.18;letter-spacing:-.01em}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
section{padding:88px 0}
.label{display:block;font-size:.72rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--bronze);margin-bottom:18px}
.h2{font-size:clamp(1.75rem,4.2vw,2.6rem)}
.sub{color:var(--muted);max-width:44em}
:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 34px;font-weight:500;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;transition:all .25s ease;cursor:pointer;border:1px solid transparent}
.btn.solid{background:var(--black);color:#fff}
.btn.solid:hover{background:var(--bronze)}
.btn.bronze{background:var(--bronze);color:#fff}
.btn.bronze:hover{background:var(--bronze-d)}
.btn.line{border-color:rgba(255,255,255,.4);color:#fff;background:transparent}
.btn.line:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btn.dark-line{border-color:var(--black);color:var(--black);background:transparent}
.btn.dark-line:hover{background:var(--black);color:#fff}

/* top bar */
.topbar{background:var(--black);color:#c9c9c9;font-size:.78rem;font-weight:400}
.topbar .wrap{display:flex;justify-content:center;gap:26px;min-height:38px;align-items:center;flex-wrap:wrap}
.topbar a{color:#fff;letter-spacing:.05em}
.topbar a b{color:var(--bronze);font-weight:600}
.topbar .hrs{color:#c9c9c9;letter-spacing:.05em}


/* header */
header.site{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:18px}
.logo{display:flex;flex-direction:column;line-height:1.05}
.logo b{font-size:1.15rem;font-weight:600;letter-spacing:.16em;color:var(--black);text-transform:uppercase}
.logo span{font-size:.6rem;font-weight:500;letter-spacing:.42em;text-transform:uppercase;color:var(--bronze)}
nav.links{display:flex;gap:34px;font-size:.85rem;font-weight:400;letter-spacing:.04em}
nav.links a{padding:6px 0;border-bottom:1px solid transparent;transition:all .2s}
nav.links a:hover,nav.links a.active{color:var(--black);border-color:var(--bronze)}
.nav>.btn{padding:12px 24px;font-size:.72rem}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.burger span{width:24px;height:1.5px;background:var(--black)}

/* hero (home) */
.hero{position:relative;background:linear-gradient(rgba(10,10,12,.55),rgba(10,10,12,.78)),radial-gradient(circle at 25% 20%,#2a4d7e 0%,#16304f 55%,#0b1c33 100%);color:#fff;padding:120px 0 130px;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;opacity:.25;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:120px 120px}
.hero .wrap{position:relative;z-index:1;text-align:center;max-width:860px}
.hero .label{margin-bottom:24px}
.hero h1{color:#fff;font-size:clamp(2.2rem,6vw,3.9rem);font-weight:500;letter-spacing:.01em;margin-bottom:26px}
.hero p{color:rgba(255,255,255,.72);max-width:36em;margin:0 auto 42px;font-size:1.05rem}
.hero-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* page hero (inner) */
.page-hero{background:linear-gradient(rgba(10,10,12,.6),rgba(10,10,12,.8)),radial-gradient(circle at 70% 15%,#2a4d7e 0%,#152e4d 60%,#0b1c33 100%);color:#fff;padding:88px 0;text-align:center}
.page-hero h1{color:#fff;font-size:clamp(2rem,5vw,3rem);font-weight:500}
.page-hero p{color:rgba(255,255,255,.66);max-width:40em;margin:18px auto 0}

/* intro split */
.intro .wrap{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.intro .visual{aspect-ratio:4/5;background:linear-gradient(rgba(15,15,17,.15),rgba(15,15,17,.35)),radial-gradient(circle at 70% 25%,#8b8f97 0%,#4a4d53 60%,#26282c 100%)}
.intro p{margin:20px 0 30px;color:var(--muted)}

/* standard numbered grid */
.standard{background:var(--bg-soft)}
.std-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:52px}
.std{background:var(--bg);padding:38px 28px}
.std .num{font-size:.8rem;color:var(--bronze);font-weight:600;letter-spacing:.2em;margin-bottom:70px;display:block}
.std h3{font-size:.92rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;margin-bottom:14px}
.std p{font-size:.9rem;color:var(--muted)}
.std-grid.three{grid-template-columns:repeat(3,1fr)}
.std-grid.three .std .num{margin-bottom:34px}

/* services grid (home) */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:52px}
.svc{position:relative;aspect-ratio:4/3.4;display:flex;align-items:flex-end;padding:26px;color:#fff;overflow:hidden;background:linear-gradient(rgba(12,12,14,.28) 30%,rgba(12,12,14,.82)),radial-gradient(circle at 65% 30%,#7d8189 0%,#3c3f45 60%,#1c1e21 100%);transition:transform .25s ease}
.svc:hover{transform:translateY(-4px)}
.svc:nth-child(2){background:linear-gradient(rgba(12,12,14,.28) 30%,rgba(12,12,14,.82)),radial-gradient(circle at 30% 25%,#96907f 0%,#4a463c 60%,#211f1a 100%)}
.svc:nth-child(3){background:linear-gradient(rgba(12,12,14,.28) 30%,rgba(12,12,14,.82)),radial-gradient(circle at 60% 20%,#7f8a96 0%,#3b434d 60%,#181d23 100%)}
.svc:nth-child(4){background:linear-gradient(rgba(12,12,14,.28) 30%,rgba(12,12,14,.82)),radial-gradient(circle at 40% 30%,#8f8377 0%,#4d443a 60%,#241f19 100%)}
.svc:nth-child(5){background:linear-gradient(rgba(12,12,14,.28) 30%,rgba(12,12,14,.82)),radial-gradient(circle at 70% 25%,#848d85 0%,#3f463f 60%,#1b201b 100%)}
.svc:nth-child(6){background:linear-gradient(rgba(12,12,14,.28) 30%,rgba(12,12,14,.82)),radial-gradient(circle at 35% 20%,#9a8f9a 0%,#4c414c 60%,#221b22 100%)}
.svc:nth-child(7){background:linear-gradient(rgba(12,12,14,.28) 30%,rgba(12,12,14,.82)),radial-gradient(circle at 60% 30%,#8a939c 0%,#42474d 60%,#1d2023 100%)}
.svc:nth-child(8){background:linear-gradient(rgba(12,12,14,.28) 30%,rgba(12,12,14,.82)),radial-gradient(circle at 30% 25%,#97897a 0%,#4b4238 60%,#221d17 100%)}
.svc:nth-child(9){background:linear-gradient(rgba(12,12,14,.28) 30%,rgba(12,12,14,.82)),radial-gradient(circle at 65% 20%,#8c8c94 0%,#434347 60%,#1e1e20 100%)}
.svc h3{color:#fff;font-size:1rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600}
.svc span{display:block;font-size:.82rem;color:rgba(255,255,255,.65);margin-top:6px;font-weight:300}
.svc::after{content:"";position:absolute;left:26px;bottom:78px;width:34px;height:1px;background:var(--bronze)}

/* process dark band */
.process{background:var(--black);color:#fff}
.process .h2,.process h3{color:#fff}
.process .sub{color:rgba(255,255,255,.6)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:44px;margin-top:60px}
.step .num{font-size:.78rem;letter-spacing:.24em;color:var(--bronze);font-weight:600;display:block;margin-bottom:16px}
.step h3{font-size:.95rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;margin-bottom:12px;padding-top:18px;border-top:1px solid rgba(255,255,255,.18)}
.step p{font-size:.88rem;color:rgba(255,255,255,.6)}

/* testimonials */
.t-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:52px}
.tcard{border:1px solid var(--line);background:var(--bg);padding:34px 30px;display:flex;flex-direction:column;gap:18px}
.stars{color:var(--bronze);letter-spacing:4px;font-size:.9rem}
.tcard p{font-size:.93rem;color:var(--text)}
.tcard footer{margin-top:auto;padding-top:18px;border-top:1px solid var(--line)}
.tcard footer b{display:block;font-weight:600;font-size:.9rem;color:var(--black)}
.tcard footer span{font-size:.78rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}

/* quote / contact */
.quote{background:var(--bg-soft)}
.quote .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}
.q-info{display:flex;flex-direction:column;gap:26px;margin-top:26px}
.q-item small{display:block;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--bronze);font-weight:600;margin-bottom:5px}
.q-item a,.q-item span{font-size:1.05rem;color:var(--black);font-weight:400}
form.enq{background:var(--bg);border:1px solid var(--line);padding:44px 40px}
.field{margin-bottom:24px}
.field label{display:block;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:8px}
.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid var(--line);padding:10px 2px;font-family:inherit;font-size:.98rem;font-weight:300;background:transparent;color:var(--black);transition:border-color .2s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--bronze)}
.field textarea{min-height:90px;resize:vertical}
.two{display:grid;grid-template-columns:1fr 1fr;gap:26px}
form.enq .btn{width:100%;margin-top:8px}

/* expertise rows */
.x-row{display:grid;grid-template-columns:auto 1fr auto;gap:34px;align-items:center;border:1px solid var(--line);background:var(--bg);padding:36px;margin-bottom:22px;transition:border-color .25s}
.x-row:hover{border-color:var(--bronze)}
.x-row .num{font-size:.8rem;color:var(--bronze);font-weight:600;letter-spacing:.2em;align-self:start}
.x-row h3{font-size:1.05rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;margin-bottom:10px}
.x-row p{font-size:.93rem;color:var(--muted);max-width:56em}
.x-row .tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.x-row .tag{border:1px solid var(--line);padding:5px 14px;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500}
.x-row .btn{white-space:nowrap}

/* cta band */
.cta-band{background:var(--black);color:#fff;text-align:center;padding:80px 22px}
.cta-band h2{color:#fff;font-size:clamp(1.6rem,3.6vw,2.3rem);margin-bottom:14px}
.cta-band p{color:rgba(255,255,255,.6);margin-bottom:34px}
.cta-band .row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* footer */
footer.site-foot{background:var(--black);color:#9b9b9e;padding:70px 0 30px;font-size:.9rem;font-weight:300}
.f-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:46px;margin-bottom:54px}
.f-grid h4{color:#fff;font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;font-weight:600;margin-bottom:20px}
.f-grid ul{list-style:none;display:flex;flex-direction:column;gap:12px}
.f-grid a:hover{color:var(--bronze)}
.f-logo b{font-size:1.05rem;font-weight:600;letter-spacing:.16em;color:#fff;text-transform:uppercase}
.f-logo span{display:block;font-size:.56rem;letter-spacing:.42em;text-transform:uppercase;color:var(--bronze);margin-top:3px}
.f-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:26px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.76rem;letter-spacing:.06em;color:#6d6d70}

/* responsive */
@media (max-width:960px){
  .intro .wrap,.quote .wrap{grid-template-columns:1fr}
  .std-grid,.std-grid.three{grid-template-columns:1fr 1fr}
  .svc-grid{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr;gap:36px}
  .t-grid{grid-template-columns:1fr}
  .f-grid{grid-template-columns:1fr 1fr}
  .x-row{grid-template-columns:auto 1fr}
  .x-row .btn{grid-column:2;justify-self:start}
}
@media (max-width:640px){
  section{padding:64px 0}
  nav.links{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 20px 40px rgba(0,0,0,.08);flex-direction:column;padding:24px 22px;gap:20px}
  nav.links.open{display:flex}
  .nav>.btn{display:none}
  .burger{display:flex}
  .hero{padding:84px 0 92px}
  .hero p{font-size:.98rem}
  .hero-cta .btn{width:100%}
  .page-hero{padding:64px 0}
  .std-grid,.std-grid.three{grid-template-columns:1fr}
  .std .num{margin-bottom:34px}
  .svc-grid{grid-template-columns:1fr;gap:16px}
  .svc{aspect-ratio:16/9.5}
  .steps{grid-template-columns:1fr}
  .intro .visual{aspect-ratio:4/3}
  form.enq{padding:32px 24px}
  .two{grid-template-columns:1fr;gap:0}
  .x-row{grid-template-columns:1fr;padding:28px 22px;gap:14px}
  .x-row .btn{grid-column:1;width:100%}
  .f-grid{grid-template-columns:1fr;gap:34px}
  .f-bottom{justify-content:center;text-align:center}
}

/* logo images (v2.1) */
.logo img{height:46px;width:auto;display:block}
.f-logo-img{height:52px;width:auto;opacity:.95}
@media (max-width:640px){
  .logo img{height:36px}
  .f-logo-img{height:42px}
}

/* intro visual: centered brand mark (v2.5) */
.intro .visual{
  background-image:url(images/logo-badge.png),radial-gradient(circle at 70% 25%,#ffffff 0%,#eef2f7 60%,#dfe6ef 100%)!important;
  background-repeat:no-repeat,no-repeat!important;
  background-position:center,center!important;
  background-size:70% auto,cover!important;
}

/* header wide logo + trade photos (v1.3) */
.logo img{height:48px;width:auto;display:block}
@media (max-width:640px){
  .logo img{height:38px!important}
}
.svc{background-size:cover!important;background-position:center!important}
.svc.svc-drywall{background-image:linear-gradient(rgba(9,18,32,.32) 25%,rgba(9,18,32,.86)),url(images/svc-drywall.jpg)!important}
.svc.svc-framing{background-image:linear-gradient(rgba(9,18,32,.32) 25%,rgba(9,18,32,.86)),url(images/svc-framing.jpg)!important}
.svc.svc-tile{background-image:linear-gradient(rgba(9,18,32,.32) 25%,rgba(9,18,32,.86)),url(images/svc-tile.jpg)!important}
.svc.svc-flooring{background-image:linear-gradient(rgba(9,18,32,.32) 25%,rgba(9,18,32,.86)),url(images/svc-flooring.jpg)!important}
.svc.svc-plumbing{background-image:linear-gradient(rgba(9,18,32,.32) 25%,rgba(9,18,32,.86)),url(images/svc-plumbing.jpg)!important}
.svc.svc-electric{background-image:linear-gradient(rgba(9,18,32,.32) 25%,rgba(9,18,32,.86)),url(images/svc-electric.jpg)!important}
.svc.svc-hvac{background-image:linear-gradient(rgba(9,18,32,.32) 25%,rgba(9,18,32,.86)),url(images/svc-hvac.jpg)!important}
.svc.svc-roofing{background-image:linear-gradient(rgba(9,18,32,.32) 25%,rgba(9,18,32,.86)),url(images/svc-roofing.jpg)!important}
.svc.svc-masonry{background-image:linear-gradient(rgba(9,18,32,.32) 25%,rgba(9,18,32,.86)),url(images/svc-masonry.jpg)!important}


/* ===== v1.4: hold the light palette even if the device forces dark mode ===== */
@media (prefers-color-scheme:dark){
  :root{color-scheme:light}
  html,body{background-color:#ffffff!important;color:#27354d!important}
  section{background-color:#ffffff!important}
  .standard,.intro{background-color:#f4f6f9!important}
  h1,h2,h3,h4,.h2{color:#13294b!important}
  p,li,.sub,.std p,.step p,.x-row p{color:#5a6270!important}
  .std,.svc-grid .svc div,.tcard{background-color:transparent!important}
  .site,header.site{background-color:#ffffff!important}
  nav.links a{color:#27354d!important}
  .enq input,.enq select,.enq textarea{background-color:#ffffff!important;color:#13294b!important}
  /* intentionally dark blocks stay dark */
  .hero,.page-hero,.process,.cta-band,.topbar,.site-foot{background-color:#13294b!important}
  .hero h1,.page-hero h1,.process h2,.process h3,.cta-band h2,.site-foot h4{color:#ffffff!important}
  .hero p,.page-hero p,.process p,.cta-band p,.site-foot,.site-foot p,.site-foot li{color:rgba(255,255,255,.7)!important}
  .label{color:#d9930d!important}
  .btn.bronze{background-color:#d9930d!important;color:#ffffff!important}
  .btn.line{color:#ffffff!important}
  .btn.dark-line{color:#13294b!important}
}
