/*
Theme Name: WVIT - Willamette Valley IT
Theme URI: https://wvit.io/
Author: WVIT
Author URI: https://wvit.io/
Description: A lightweight, conversion-focused theme for Willamette Valley IT (WVIT). Includes Home, Services, About, and Contact templates plus a built-in contact form shortcode.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: wvit
Tags: one-column, custom-logo, custom-menu, featured-images, accessibility-ready
*/

:root{
  --wvit-ink:#0f2233;
  --wvit-ink-2:#17324a;
  --wvit-muted:#5a6b7a;
  --wvit-bg:#f6f8fb;
  --wvit-card:#ffffff;
  --wvit-line:#e3e8ef;
  --wvit-accent:#1f6feb;
  --wvit-accent-2:#0b4bb3;
  --wvit-good:#0f7b5c;
  --wvit-radius:16px;
  --wvit-shadow: 0 8px 30px rgba(16,24,40,.08);
  --wvit-max: 1120px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Inter, Arial, sans-serif;
  color:var(--wvit-ink);
  background:#fff;
  line-height:1.55;
}
a{color:var(--wvit-accent); text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%; height:auto}

.wvit-container{max-width:var(--wvit-max); margin:0 auto; padding:0 20px}
.wvit-sr-only{
  position:absolute!important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

.wvit-topbar{
  background:var(--wvit-ink);
  color:#fff;
  font-size:14px;
}
.wvit-topbar a{color:#fff; text-decoration:underline}
.wvit-topbar-inner{
  display:flex; gap:14px; align-items:center; justify-content:space-between;
  padding:10px 0;
}
.wvit-topbar-left, .wvit-topbar-right{display:flex; gap:14px; flex-wrap:wrap; align-items:center}

.wvit-header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--wvit-line);
}
.wvit-header-inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; padding:14px 0;
}
.wvit-brand{
  display:flex; gap:12px; align-items:center;
}
.wvit-brand-mark{
  width:40px; height:40px; border-radius:10px;
  background:linear-gradient(145deg, var(--wvit-accent), var(--wvit-accent-2));
  box-shadow:0 10px 24px rgba(31,111,235,.25);
  flex:0 0 auto;
}
.wvit-brand-name{
  display:flex; flex-direction:column; line-height:1.1;
}
.wvit-brand-name strong{font-size:16px; letter-spacing:.2px}
.wvit-brand-name span{font-size:13px; color:var(--wvit-muted)}

.wvit-nav{
  display:flex; align-items:center; gap:18px;
}
.wvit-nav ul{
  list-style:none; margin:0; padding:0;
  display:flex; gap:16px; align-items:center;
}
.wvit-nav a{color:var(--wvit-ink); font-weight:600}
.wvit-nav a:hover{text-decoration:none; color:var(--wvit-accent)}
.wvit-cta{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 14px; border-radius:12px;
  background:var(--wvit-accent);
  color:#fff; font-weight:700;
  box-shadow:0 12px 26px rgba(31,111,235,.22);
}
.wvit-cta:hover{background:var(--wvit-accent-2); text-decoration:none}
.wvit-phone{
  font-weight:700; color:var(--wvit-ink);
  padding:10px 12px; border-radius:12px;
  border:1px solid var(--wvit-line);
}
.wvit-phone:hover{text-decoration:none; border-color:#cbd5e1}

.wvit-hero{
  background:linear-gradient(180deg, var(--wvit-bg), #ffffff);
  border-bottom:1px solid var(--wvit-line);
  padding:56px 0 46px;
}
.wvit-hero-grid{
  display:grid; grid-template-columns:1.35fr .65fr;
  gap:26px; align-items:start;
}
.wvit-hero h1{
  margin:0 0 10px;
  font-size:42px; line-height:1.15;
  letter-spacing:-.6px;
}
.wvit-hero p{margin:0 0 16px; color:var(--wvit-muted); font-size:18px}
.wvit-bullets{
  display:flex; gap:10px; flex-wrap:wrap; margin:18px 0 0; padding:0; list-style:none;
}
.wvit-bullets li{
  background:#fff; border:1px solid var(--wvit-line); border-radius:999px;
  padding:8px 12px; font-weight:700; font-size:13px;
}
.wvit-hero-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:18px}
.wvit-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 16px; border-radius:14px; font-weight:800;
  border:1px solid var(--wvit-line);
}
.wvit-btn-primary{background:var(--wvit-accent); color:#fff; border-color:transparent}
.wvit-btn-primary:hover{background:var(--wvit-accent-2); text-decoration:none}
.wvit-btn-secondary{background:#fff; color:var(--wvit-ink)}
.wvit-btn-secondary:hover{border-color:#cbd5e1; text-decoration:none}

.wvit-card{
  background:var(--wvit-card);
  border:1px solid var(--wvit-line);
  border-radius:var(--wvit-radius);
  box-shadow:var(--wvit-shadow);
}
.wvit-hero-card{
  padding:18px;
}
.wvit-hero-card h3{margin:0 0 8px; font-size:16px}
.wvit-hero-card p{margin:0 0 12px; font-size:14px; color:var(--wvit-muted)}
.wvit-mini{
  display:grid; gap:10px;
}
.wvit-mini div{
  padding:10px 12px; border-radius:12px;
  border:1px solid var(--wvit-line);
  background:#fff;
}
.wvit-mini strong{display:block; font-size:13px}
.wvit-mini span{display:block; font-size:13px; color:var(--wvit-muted)}

.wvit-section{padding:48px 0}
.wvit-section h2{
  margin:0 0 12px;
  font-size:28px; letter-spacing:-.2px;
}
.wvit-lead{color:var(--wvit-muted); margin:0 0 24px; font-size:16px}

.wvit-grid-3{
  display:grid; gap:16px;
  grid-template-columns:repeat(3, 1fr);
}
.wvit-tile{
  padding:18px;
}
.wvit-tile h3{margin:0 0 8px; font-size:16px}
.wvit-tile p{margin:0; color:var(--wvit-muted); font-size:14px}

.wvit-split{
  display:grid; gap:18px;
  grid-template-columns:1fr 1fr;
  align-items:start;
}
.wvit-list{
  margin:0; padding-left:18px; color:var(--wvit-muted);
}
.wvit-steps{
  counter-reset:step;
  display:grid; gap:12px;
}
.wvit-step{
  display:flex; gap:12px; align-items:flex-start;
  padding:14px; border-radius:14px; border:1px solid var(--wvit-line); background:#fff;
}
.wvit-step:before{
  counter-increment:step;
  content:counter(step);
  width:30px; height:30px; border-radius:10px;
  background:rgba(31,111,235,.12);
  color:var(--wvit-accent);
  display:flex; align-items:center; justify-content:center;
  font-weight:900;
  flex:0 0 auto;
}

.wvit-cta-band{
  padding:22px;
  display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap;
}
.wvit-cta-band strong{font-size:18px}
.wvit-cta-band span{color:var(--wvit-muted)}
.wvit-cta-actions{display:flex; gap:12px; flex-wrap:wrap}

.wvit-content{
  padding:44px 0;
}
.wvit-page h1{
  margin:0 0 10px; font-size:36px; letter-spacing:-.4px;
}
.wvit-page p{color:var(--wvit-muted); font-size:16px}

.wvit-form{
  display:grid; gap:12px;
}
.wvit-form label{font-weight:700; font-size:13px}
.wvit-form input, .wvit-form select, .wvit-form textarea{
  width:100%;
  padding:12px 12px;
  border-radius:12px;
  border:1px solid var(--wvit-line);
  font:inherit;
}
.wvit-form textarea{min-height:130px; resize:vertical}
.wvit-form .wvit-form-row{
  display:grid; gap:12px; grid-template-columns:1fr 1fr;
}
.wvit-form .wvit-help{color:var(--wvit-muted); font-size:13px}
.wvit-alert{
  border-radius:14px; padding:12px 14px; border:1px solid var(--wvit-line);
  background:#fff;
}
.wvit-alert-success{border-color:rgba(15,123,92,.25); background:rgba(15,123,92,.06)}
.wvit-alert-error{border-color:rgba(185,28,28,.25); background:rgba(185,28,28,.06)}

.wvit-footer{
  border-top:1px solid var(--wvit-line);
  padding:26px 0;
  color:var(--wvit-muted);
  background:#fff;
}
.wvit-footer .wvit-container{
  display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap;
}
.wvit-footer strong{color:var(--wvit-ink)}
.wvit-footer a{color:var(--wvit-muted); text-decoration:underline}

@media (max-width: 920px){
  .wvit-hero-grid{grid-template-columns:1fr}
  .wvit-grid-3{grid-template-columns:1fr}
  .wvit-split{grid-template-columns:1fr}
  .wvit-hero h1{font-size:34px}
  .wvit-nav ul{gap:12px}
}
@media (max-width: 640px){
  .wvit-nav ul{display:none}
  .wvit-form .wvit-form-row{grid-template-columns:1fr}
  .wvit-hero{padding:44px 0 38px}
}
