/*
Theme Name: IntegrityTP Pro
Theme URI: https://integritytp.com/
Author: Integrity Tech Partners
Author URI: https://integritytp.com/
Description: A fast, conversion-focused, SEO-friendly WordPress theme for Integrity Tech Partners (Gutenberg-ready).
Version: 3.1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: integritytp-pro
Tags: custom-colors, custom-logo, one-column, two-columns, responsive-layout, block-styles
*/

:root{
  --itp-orange:#F68E1D;
  --itp-black:#0B0B0D;
  --itp-gray:#111827;
  --itp-muted:#6B7280;
  --itp-bg:#ffffff;
  --itp-surface:#ffffff;
  --itp-border:rgba(17,24,39,.10);
  --itp-text:#0B0B0D;
  --itp-link:#F68E1D;
  --itp-radius:18px;
  --itp-shadow:0 14px 40px rgba(0,0,0,.10);
  --itp-max:1200px;
}

*{box-sizing:border-box}
html,body{
  font-family: system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";
  background:#ffffff;
  color:#0B0B0D;
  line-height: 1.55;
  letter-spacing: .1px;
}
body{
  font-family: system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";
  background:#ffffff;
  color:#0B0B0D;
  line-height: 1.55;
  letter-spacing: .1px;
}

a{color:var(--itp-link);text-decoration:none}
a:hover{text-decoration:underline}

.container{max-width:var(--itp-max);margin:0 auto;padding:0 20px}
.site-header{
  position:sticky;top:0;z-index:50;
  backdrop-filter:saturate(140%) blur(10px);
  background: rgba(255,255,255,.92);
  border-bottom:1px solid rgba(17,24,39,.10);
}
.header-inner{display:flex;gap:18px;align-items:center;justify-content:space-between;padding:16px 0}
.brand{display:flex;align-items:center;gap:12px;min-width:240px}
.brand img{height:40px;width:auto}
.brand .site-title{font-weight:850;letter-spacing:.3px;color:rgba(17,24,39,.92)}
.nav{display:flex;align-items:center;gap:16px}
.nav a{color:rgba(17,24,39,.86);font-weight:700}
.nav a:hover{color:#0B0B0D;text-decoration:none}
.header-cta{display:flex;align-items:center;gap:10px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 14px;border-radius:999px;
  border:1px solid rgba(17,24,39,.12);
  color:#0B0B0D;font-weight:800;
  background: rgba(17,24,39,.04);
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
  transition: transform .12s ease, background .12s ease, border-color .12s ease;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.07);text-decoration:none}
.btn-primary{
  border-color: rgba(246,142,29,.55);
  background: linear-gradient(180deg, rgba(246,142,29,.95), rgba(246,142,29,.78));
  color:#111;
}
.btn-primary:hover{background: linear-gradient(180deg, rgba(246,142,29,1), rgba(246,142,29,.84));}

.hero{padding:46px 0 18px}
.hero-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:22px;align-items:stretch}
 .card{
  background: #ffffff;
  border:1px solid rgba(17,24,39,.10);
  border-radius: var(--itp-radius);
  box-shadow: var(--itp-shadow);
}
.hero-card{padding:34px}
.kicker{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 10px;border-radius:999px;
  background: rgba(246,142,29,.10);
  border:1px solid rgba(246,142,29,.24);
  color: rgba(255,255,255,.92);
  font-weight:700;font-size:13px;
}
h1{font-size:52px;line-height:1.02;margin:14px 0 12px}
.hero p{color:rgba(17,24,39,.78);font-size:16px;margin:0 0 18px;max-width: 62ch}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.hero-aside{padding:26px}
.aside-title{font-weight:900;margin:0 0 12px;font-size:18px}
.list{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.list li{display:flex;gap:10px;align-items:flex-start;color:rgba(17,24,39,.86);font-size:14px;line-height:1.45}
 .bullet{
  height:18px;width:18px;border-radius:7px;
  background: rgba(246,142,29,.12);
  border:1px solid rgba(246,142,29,.28);
  flex:0 0 auto;
  margin-top:2px;
}

.section{padding:40px 0; background:#ffffff}
.section h2{font-size:28px;margin:0 0 16px;letter-spacing:.2px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.tile{padding:22px}
.tile h3{margin:0 0 6px;font-size:17px}
.tile p{margin:0;color:rgba(17,24,39,.72);font-size:14px}
.tile a{display:inline-block;margin-top:12px;font-weight:850;color:var(--itp-orange)}

.split{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.small{font-size:14px;color:rgba(17,24,39,.72)}
hr.sep{border:0;border-top:1px solid var(--itp-border);margin:26px 0}

.content{padding:28px 0 46px}
.entry{max-width: 820px}
.entry h1{font-size:36px}
.entry h2{font-size:24px;margin-top:26px}
.entry p{color:rgba(17,24,39,.86)}
.entry ul{color:rgba(17,24,39,.86)}
.entry a{font-weight:700}

.site-footer{
  border-top:1px solid rgba(17,24,39,.10);
  background: #0B0B0D;
  padding:26px 0;
}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}
.footer-title{font-weight:900;margin:0 0 8px}
.footer a{color:rgba(17,24,39,.82)}
.footer a:hover{color:#fff}
.badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 10px;border-radius:999px;
  background: rgba(17,24,39,.04);
  border:1px solid rgba(17,24,39,.10);
  font-size:13px;color:rgba(255,255,255,.82);font-weight:700;
}
 .placeholder{
  display:flex;align-items:center;justify-content:center;
  border:1px dashed rgba(255,255,255,.20);
  border-radius: 16px;
  padding:14px;
  color:rgba(255,255,255,.7);
  background: rgba(255,255,255,.03);
}

@media (max-width: 980px){
  .hero-grid{grid-template-columns:1fr}
  h1{font-size:38px}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr}
}
@media (max-width: 520px){
  h1{font-size:32px}
  .grid-4{grid-template-columns:1fr}
  .brand{min-width:auto}
  .nav{display:none}
}


  .nav{position:absolute;left:50%;transform:translateX(-50%);gap:22px}
  .brand .site-title{display:none} /* keep logo primary if set */
}
/* Subtle separator line under hero */
.hero-divider{height:1px;background:rgba(255,255,255,.08);margin-top:18px}
/* Pillar cards */
.tile{padding:22px}
.tile:hover{transform:translateY(-2px);background: linear-gradient(180deg, rgba(15,23,42,.82), rgba(15,23,42,.50));border-color: rgba(246,142,29,.22)}



.section{padding:40px 0; background:#ffffff}
.section h2{color:#0B0B0D}
.tile{padding:22px}
.tile p{margin:0;color:rgba(17,24,39,.72);font-size:14px}
.tile a{display:inline-block;margin-top:12px;font-weight:850;color:var(--itp-orange)}
.tile:hover{border-color: rgba(246,142,29,.35)}

.site-footer, .site-footer .small, .site-footer a{color: rgba(255,255,255,.86);} .site-footer a:hover{color:#fff}


/* Hero (dark photo) */
.hero{
  padding: 0;
  position: relative;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute; inset:0;
  background-image: var(--itp-hero-image, none);
  background-size: cover;
  background-position: center;
  filter: saturate(1.05) contrast(1.05);
  z-index:0;
}
.hero::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(90deg, rgba(0,0,0,.70) 0%, rgba(0,0,0,.42) 55%, rgba(0,0,0,.30) 100%);
  z-index:1;
}
.hero .container{position:relative; z-index:2; padding-top:64px; padding-bottom:56px;}
.hero h1{font-size:52px;line-height:1.02;margin:0 0 14px; color:#fff;}
.hero p{color:rgba(255,255,255,.88);font-size:16px;margin:0 0 20px;max-width: 70ch}
.hero .btn{border-color:rgba(255,255,255,.25); color:#fff; background:rgba(255,255,255,.10)}
.hero .btn:hover{background:rgba(255,255,255,.14)}
.hero .btn-primary{border-color: rgba(246,142,29,.65); background: linear-gradient(180deg, rgba(246,142,29,.98), rgba(246,142,29,.82)); color:#111;}


/* === Preview-style homepage === */
.home-hero{
  position:relative;
  background-image: var(--itp-hero-image, none);
  background-size: cover;
  background-position: center;
  min-height: 420px;
  display:flex;
  align-items:center;
}
.home-hero::after{
  content:"";
  position:absolute; inset:0;
  background: rgba(0,0,0,.45);
}
.home-hero .container{position:relative; z-index:1; padding:64px 20px;}
.home-hero h1{color:#fff;font-size:44px;line-height:1.08;margin:0 0 10px;max-width:18ch}
.home-hero p{color:rgba(255,255,255,.90);max-width:62ch;margin:0 0 18px}
.home-hero .btn{border-color: rgba(246,142,29,.35); background: rgba(246,142,29,.92); color:#111; }
.home-hero .btn:hover{background: rgba(246,142,29,1)}
.section-tight{padding:34px 0}
.service-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.service-icon{
  height:84px;width:84px;display:block;margin:0 auto 12px;
}
.service-card{padding:22px;text-align:center}
.service-card h3{margin:6px 0 6px}
.service-card p{max-width:34ch;margin:0 auto;color:rgba(17,24,39,.72)}
.h2-center{text-align:center;font-size:28px;margin:0 0 18px}
.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch}
.location-card{overflow:hidden}
.location-card img{width:100%;height:210px;object-fit:cover;display:block}
.location-body{padding:18px}
.location-title{position:absolute; left:16px; bottom:16px; color:#fff; font-weight:900; font-size:18px; text-shadow:0 10px 30px rgba(0,0,0,.55)}
.location-media{position:relative}
.vendor-strip{display:flex;gap:28px;justify-content:center;align-items:center;flex-wrap:wrap;padding:18px 0}
.vendor-strip .placeholder{min-width:720px}
.footer-band{
  background: linear-gradient(180deg, rgba(246,142,29,.98), rgba(246,142,29,.88));
  color:#111;
  padding:26px 0;
}
.footer-band .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.footer-band h4{margin:0 0 8px;font-size:15px;font-weight:900}
.footer-band a{color:#111;text-decoration:none;font-weight:750}
.footer-band a:hover{text-decoration:underline}
@media (max-width: 980px){
  .service-row{grid-template-columns:1fr}
  .location-grid{grid-template-columns:1fr}
  .vendor-strip .placeholder{min-width:auto;width:100%}
  .footer-band .cols{grid-template-columns:1fr}
  .home-hero h1{font-size:36px}
}

.header-cta{display:none}

/* Force light cards on homepage */
.service-card.card, .location-card.card{
  background:#ffffff !important;
  border:1px solid rgba(17,24,39,.10) !important;
  box-shadow: 0 14px 40px rgba(0,0,0,.10) !important;
}
.service-card h3{color:#111827}
.service-card p{color:rgba(17,24,39,.72)}
