/*
Theme Name: Tri-Cities Line Striping
Theme URI: https://tricitieslinestriping.com
Author: Tri-Cities Line Striping
Author URI: https://tricitieslinestriping.com
Description: A single-page business theme for Tri-Cities Line Striping — parking lot striping, curb painting, stenciling, pavement repair, signs, and snow plowing. Includes a built-in estimate request form that emails the site admin.
Version: 1.0.0
Requires at least: 5.9
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tri-cities-line-striping
*/

:root{
  --asphalt:#1a1c1e;
  --asphalt-2:#26292c;
  --line-yellow:#F2C14E;
  --line-white:#F5F3EE;
  --safety:#E8562A;
  --grey:#8b9096;
  --hairline:#3a3d41;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--asphalt);
  color:var(--line-white);
  font-family:'Barlow',sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:'Archivo Black',sans-serif;text-transform:uppercase;line-height:0.95;letter-spacing:-0.01em}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}

/* Nav */
.site-nav{position:sticky;top:0;z-index:50;background:rgba(26,28,30,0.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--hairline)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{font-family:'Archivo Black',sans-serif;font-size:19px;text-transform:uppercase;letter-spacing:0.02em;display:flex;align-items:center;gap:10px}
.logo-mark{width:34px;height:22px;background:repeating-linear-gradient(90deg,var(--line-yellow) 0 6px,transparent 6px 12px);border-radius:2px;flex:none}
.nav-links{display:flex;gap:30px;font-family:'Barlow Condensed',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;font-size:15px}
.nav-links a{color:var(--grey);transition:color .2s}
.nav-links a:hover{color:var(--line-yellow)}
.nav-cta{background:var(--line-yellow);color:var(--asphalt)!important;padding:9px 18px;border-radius:3px;font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;font-size:15px}
@media(max-width:760px){.nav-links{display:none}}

/* Hero */
.hero{position:relative;padding:90px 0 100px;overflow:hidden}
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    repeating-linear-gradient(115deg,transparent 0 60px,rgba(242,193,78,0.03) 60px 62px),
    radial-gradient(ellipse at 70% 20%,rgba(232,86,42,0.08),transparent 55%);
  pointer-events:none;
}
.hero-lines{position:absolute;bottom:0;left:0;right:0;height:120px;
  background:repeating-linear-gradient(90deg,var(--line-yellow) 0 40px,transparent 40px 90px);
  opacity:0.12;transform:perspective(300px) rotateX(60deg);transform-origin:bottom}
.eyebrow{font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:0.22em;color:var(--line-yellow);font-size:15px;margin-bottom:22px;position:relative}
.hero h1{font-size:clamp(44px,8vw,88px);position:relative;max-width:14ch}
.hero h1 .stripe{color:var(--line-yellow)}
.hero p{font-size:clamp(17px,2.4vw,21px);color:#c7ccd1;max-width:52ch;margin:28px 0 38px;position:relative}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;position:relative}
.btn{display:inline-flex;align-items:center;gap:9px;font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;font-size:17px;padding:15px 30px;border-radius:3px;transition:transform .15s,background .2s;cursor:pointer;border:none}
.btn-primary{background:var(--line-yellow);color:var(--asphalt)}
.btn-primary:hover{transform:translateY(-2px);background:#ffcf5c}
.btn-ghost{background:transparent;color:var(--line-white);border:1.5px solid var(--hairline)}
.btn-ghost:hover{border-color:var(--line-yellow);color:var(--line-yellow)}

/* Stats strip */
.strip{background:var(--line-yellow);color:var(--asphalt);position:relative;z-index:2}
.strip-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.stat{padding:26px 20px;text-align:center;border-right:2px solid rgba(26,28,30,0.15)}
.stat:last-child{border-right:none}
.stat .num{font-family:'Archivo Black',sans-serif;font-size:34px;line-height:1}
.stat .lbl{font-family:'Barlow Condensed',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;font-size:13px;margin-top:6px}
@media(max-width:680px){.strip-inner{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:none}.stat:nth-child(1),.stat:nth-child(2){border-bottom:2px solid rgba(26,28,30,0.15)}}

/* Sections */
.section{padding:86px 0}
.sec-head{margin-bottom:52px;max-width:60ch}
.sec-head .eyebrow{color:var(--safety)}
.sec-head h2{font-size:clamp(30px,5vw,46px)}
.sec-head p{color:var(--grey);font-size:18px;margin-top:16px}

/* Services */
.services{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--hairline);border:1px solid var(--hairline)}
.svc{background:var(--asphalt-2);padding:34px 26px 38px;transition:background .2s}
.svc:hover{background:#2f3337}
.svc .idx{font-family:'Archivo Black',sans-serif;font-size:15px;color:var(--line-yellow);letter-spacing:0.05em}
.svc h3{font-size:20px;margin:16px 0 12px}
.svc p{color:var(--grey);font-size:15px}
@media(max-width:980px){.services{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.services{grid-template-columns:1fr}}

/* Process */
.process{background:var(--asphalt-2)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.step{position:relative;padding-top:30px}
.step::before{content:"";position:absolute;top:0;left:0;width:46px;height:8px;background:var(--line-yellow);border-radius:2px}
.step .n{font-family:'Barlow Condensed',sans-serif;font-weight:700;color:var(--safety);letter-spacing:0.1em;font-size:14px;text-transform:uppercase}
.step h3{font-size:19px;margin:8px 0 8px}
.step p{color:var(--grey);font-size:15px}
@media(max-width:820px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.steps{grid-template-columns:1fr}}

/* Estimate form */
.estimate{background:linear-gradient(180deg,var(--asphalt) 0%,#141618 100%)}
.est-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:start}
.est-copy h2{font-size:clamp(30px,5vw,48px)}
.est-copy .eyebrow{color:var(--line-yellow)}
.est-copy p{color:var(--grey);font-size:17px;margin-top:18px}
.est-list{list-style:none;margin-top:28px}
.est-list li{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px;color:#c7ccd1;font-size:16px}
.est-list li .tick{flex:none;width:20px;height:20px;margin-top:2px;border-radius:3px;background:var(--line-yellow);display:flex;align-items:center;justify-content:center;color:var(--asphalt);font-weight:700;font-size:12px}
.form-card{background:var(--asphalt-2);border:1px solid var(--hairline);border-radius:6px;padding:34px;border-top:5px solid var(--line-yellow)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{margin-bottom:18px}
label{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:0.07em;font-size:13.5px;color:var(--grey);margin-bottom:7px}
input,select,textarea{width:100%;background:var(--asphalt);border:1px solid var(--hairline);color:var(--line-white);padding:12px 14px;border-radius:4px;font-family:'Barlow',sans-serif;font-size:15px;transition:border .2s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--line-yellow)}
textarea{resize:vertical;min-height:90px}
.form-card .btn-primary{width:100%;justify-content:center;margin-top:6px}
.form-note{color:var(--grey);font-size:13px;margin-top:14px;text-align:center}
.form-alert{padding:12px 16px;border-radius:4px;margin-bottom:20px;font-size:15px}
.form-alert.error{background:rgba(232,86,42,0.12);border:1px solid var(--safety);color:#ffb59d}
.success{background:rgba(242,193,78,0.1);border:1px solid var(--line-yellow);border-radius:6px;padding:34px;text-align:center}
.success h3{color:var(--line-yellow);font-size:24px;margin-bottom:10px}
.success p{color:#c7ccd1}
@media(max-width:900px){.est-grid{grid-template-columns:1fr;gap:40px}.form-row{grid-template-columns:1fr}}

/* Footer */
.site-footer{background:#111315;border-top:1px solid var(--hairline);padding:48px 0 40px}
.foot-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}
.foot-inner .logo{font-size:17px}
.foot-links{display:flex;gap:24px;color:var(--grey);font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:0.06em;font-weight:600;font-size:14px}
.foot-links a:hover{color:var(--line-yellow)}
.foot-bottom{color:#5c6166;font-size:13px;margin-top:24px;border-top:1px solid var(--hairline);padding-top:20px}
