/*
Theme Name: HAUScheck
Theme URI: https://hauscheckinspect.com/
Author: HAUScheck Inspections
Description: HAUScheck Inspections website. Activating the theme creates the Home, What We Do, How We Do It, Why Choose Us, Who We Are, Contact Us, and Schedule Your Inspection pages and sets the home page. Reload page content anytime under Tools > HAUScheck Setup.
Version: 1.1
Requires at least: 6.0
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: hauscheck
*/
:root{
  --ink:#1c2124;
  --ink-soft:#4a5459;
  --paper:#f5f6f1;
  --surface:#ffffff;
  --line:#dde1d6;
  --green:#98ca3c;
  --green-deep:#4d7a14;
  --band:#1c2124;
  --band-ink:#eef1e8;
  --band-soft:#aeb8b2;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ink:#e9ece4;--ink-soft:#a9b2ab;--paper:#141819;--surface:#1c2123;--line:#2f3739;
    --green:#a4d44a;--green-deep:#a4d44a;--band:#0d1011;--band-ink:#eef1e8;--band-soft:#98a39c;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --ink:#e9ece4;--ink-soft:#a9b2ab;--paper:#141819;--surface:#1c2123;--line:#2f3739;
  --green:#a4d44a;--green-deep:#a4d44a;--band:#0d1011;--band-ink:#eef1e8;--band-soft:#98a39c;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 "Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:var(--green-deep)}
a:focus-visible,button:focus-visible{outline:3px solid var(--green);outline-offset:3px;border-radius:3px}
h1,h2,h3{font-family:"Archivo","Arial Narrow",system-ui,sans-serif;font-stretch:88%;line-height:1.1;text-wrap:balance;margin:0}
h1{font-size:clamp(2.2rem,5.5vw,3.6rem);font-weight:800;letter-spacing:-.01em}
h2{font-size:clamp(1.6rem,3.4vw,2.3rem);font-weight:800}
h3{font-size:1.2rem;font-weight:700}
p{margin:0}
.wrap{max-width:1120px;margin:0 auto;padding-inline:20px}
.eyebrow{font:700 .78rem/1 "Archivo",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--green-deep)}
.lede{font-size:1.15rem;color:var(--ink-soft);max-width:62ch}
.prose{display:grid;gap:1em;max-width:68ch}

/* header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:#fff;border-bottom:1px solid #dde1d6}
.top .wrap{display:flex;align-items:center;gap:24px;min-height:72px;flex-wrap:wrap;padding-block:10px}
.brand img{height:40px;width:auto}
.nav{display:flex;gap:4px 18px;flex-wrap:wrap;margin-left:auto;align-items:center}
.nav a{color:#1c2124;text-decoration:none;font-weight:600;font-size:.95rem;padding:6px 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current="page"]{border-bottom-color:#98ca3c}
.btn{display:inline-block;background:var(--green);color:#1c2124;font:700 .95rem/1 "Archivo",sans-serif;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;padding:14px 22px;border-radius:4px;border:0;cursor:pointer}
.btn:hover{background:#86b62e}
.btn.ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 2px currentColor}
.nav .btn{padding:11px 16px}
@media (max-width:760px){
  .top{position:static}
  .top .wrap{gap:10px}
  .nav{margin-left:0;width:100%;gap:2px 14px}
  .nav .btn{margin-top:4px}
}

/* hero */
.hero{background:var(--band);color:var(--band-ink);overflow:hidden;position:relative}
.hero .wrap{position:relative;display:grid;padding-block:112px 104px}
.hero .lede{color:#d5dbd4}
.hero .eyebrow{color:var(--green)}
.hero-copy{display:grid;gap:22px;justify-items:start;max-width:640px}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,20,21,.94) 0%,rgba(16,20,21,.78) 50%,rgba(16,20,21,.4) 100%)}
.hero .btn.ghost{color:#fff}
.ctas{display:flex;gap:12px;flex-wrap:wrap}
@media (max-width:760px){.hero .wrap{padding-block:64px}.hero-shade{background:rgba(16,20,21,.82)}}
.page-head{background:var(--band);color:var(--band-ink)}
.page-head .wrap{padding-block:52px;display:grid;gap:14px}
.page-head .eyebrow{color:var(--green)}
.page-head .lede{color:var(--band-soft)}

/* sections */
section.block{padding-block:72px}
section.block + section.block{border-top:1px solid var(--line)}
.head{display:grid;gap:12px;margin-bottom:36px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
@media (max-width:800px){.split{grid-template-columns:1fr;gap:28px}}

/* spec sheet: services list */
.spec{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));border-top:2px solid var(--ink)}
.spec > div{padding:22px 24px 24px 0;border-bottom:1px solid var(--line);display:grid;gap:8px;align-content:start}
.spec .code{font:600 .75rem/1 "IBM Plex Mono",ui-monospace,monospace;color:var(--ink-soft);letter-spacing:.06em}
.spec p{color:var(--ink-soft)}

.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.pillars > div{display:grid;gap:8px;align-content:start;padding-top:16px;border-top:3px solid var(--green)}
.pillars p{color:var(--ink-soft);font-size:.97rem}
@media (max-width:900px){.pillars{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.pillars{grid-template-columns:1fr}}

.better{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);border-radius:6px;background:var(--surface)}
.better a{padding:28px;display:grid;gap:10px;text-decoration:none;color:var(--ink);border-right:1px solid var(--line)}
.better a:last-child{border-right:0}
.better a:hover h3{color:var(--green-deep)}
.better p{color:var(--ink-soft);font-size:.97rem}
.better .more{font:700 .8rem/1 "Archivo",sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--green-deep)}
@media (max-width:800px){.better{grid-template-columns:1fr}.better a{border-right:0;border-bottom:1px solid var(--line)}.better a:last-child{border-bottom:0}}

/* pricing */
.price-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;background:var(--surface);border-radius:6px;overflow:hidden}
.price-table th,.price-table td{text-align:left;padding:13px 18px;border-bottom:1px solid var(--line)}
.price-table th{font:700 .75rem/1 "Archivo",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);background:var(--paper)}
.price-table td:last-child{text-align:right;font:600 1rem "IBM Plex Mono",ui-monospace,monospace}
.price-table tr:last-child td{border-bottom:0}
.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:6px}
.note{font-size:.9rem;color:var(--ink-soft)}
.addons{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.addon{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:26px;display:grid;gap:12px;align-content:start}
.addon .rates{display:grid;gap:6px;margin-top:4px;padding-top:12px;border-top:1px dashed var(--line);font-variant-numeric:tabular-nums}
.addon .rates div{display:flex;justify-content:space-between;gap:12px}
.addon .rates b{font-family:"IBM Plex Mono",ui-monospace,monospace}
.addon p{color:var(--ink-soft)}
.flag{display:inline-block;background:var(--green);color:#1c2124;font:700 .72rem/1 "Archivo",sans-serif;letter-spacing:.08em;text-transform:uppercase;padding:6px 8px;border-radius:3px;justify-self:start}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;counter-reset:s}
.steps > div{display:grid;gap:10px;align-content:start}
.steps .n{font:800 3rem/1 "Archivo",sans-serif;color:var(--green-deep);font-stretch:80%}
.steps p{color:var(--ink-soft)}
@media (max-width:800px){.steps{grid-template-columns:1fr}}
.checks{display:grid;gap:14px;padding:0;margin:0;list-style:none}
.checks li{display:grid;grid-template-columns:22px 1fr;gap:12px}
.checks li::before{content:"";width:14px;height:8px;border-left:3px solid var(--green-deep);border-bottom:3px solid var(--green-deep);transform:rotate(-45deg);margin-top:7px}

/* team */
.team{display:grid;gap:0}
.person{display:grid;grid-template-columns:260px 1fr;gap:40px;padding-block:40px;border-top:1px solid var(--line)}
.person:first-child{border-top:2px solid var(--ink)}
.person .who{display:grid;gap:6px;align-content:start}
.person .role{font:600 .8rem/1.4 "IBM Plex Mono",ui-monospace,monospace;color:var(--ink-soft);letter-spacing:.03em}
@media (max-width:760px){.person{grid-template-columns:1fr;gap:14px}}

/* testimonials */
.quotes{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.quotes figure{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:26px;display:grid;gap:14px;align-content:space-between}
.quotes blockquote{margin:0;font-size:1.02rem}
.quotes figcaption{font-weight:700}
.quotes figcaption span{display:block;font-weight:400;color:var(--ink-soft);font-size:.9rem}
@media (max-width:760px){.quotes{grid-template-columns:1fr}}

/* credentials */
.creds{display:flex;flex-wrap:wrap;gap:36px;align-items:center}
.creds img{height:92px;width:auto;background:#fff;border-radius:6px;padding:8px}

/* contact */
.ways{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.ways > div{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:26px;display:grid;gap:10px;align-content:start}
.ways .big{font:700 1.35rem/1.2 "Archivo",sans-serif;user-select:all;word-break:break-word}
.ways p{color:var(--ink-soft)}
@media (max-width:700px){.ways{grid-template-columns:1fr}}
.embed{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff}
.embed iframe{display:block;width:100%;height:1100px;border:0}

/* closing band + footer */
.cta-band{background:var(--green);color:#1c2124}
.cta-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding-block:44px}
.cta-band p{max-width:56ch}
.cta-band .btn{background:#1c2124;color:#fff}
.cta-band .btn:hover{background:#000}
footer{background:var(--band);color:var(--band-soft);font-size:.92rem}
footer .wrap{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;padding-block:44px}
footer h3{color:var(--band-ink);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}
footer a{color:var(--band-ink);text-decoration:none}
footer a:hover{color:var(--green)}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
footer .legal{grid-column:1/-1;border-top:1px solid #2f3739;padding-top:18px;font-size:.82rem}
@media (max-width:700px){footer .wrap{grid-template-columns:1fr}}

/* icons */
.ico{color:var(--green-deep);display:block;transition:transform .3s ease}
.ico path{stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.3s ease .15s}
.reveal-on .rv:not(.in) .ico path{stroke-dashoffset:1}
.pillars.with-icons > div{border-top:0;padding-top:0}
.pillars.with-icons .ico{margin-bottom:6px}
.pillars.with-icons > div:hover .ico,.icon-grid > div:hover .ico{transform:translateY(-4px)}
.icon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:2px solid var(--ink)}
.icon-grid > div{display:grid;gap:8px;align-content:start;padding:28px 28px 28px 0;border-bottom:1px solid var(--line)}
.icon-grid p{color:var(--ink-soft)}
@media (max-width:860px){.icon-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.icon-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:no-preference){
  .in .ico-search,.in.ico-search{animation:scan 5s ease-in-out 1.6s infinite}
  .in .ico-drop{animation:bob 3.2s ease-in-out 1.6s infinite}
  .in .ico-heart{animation:beat 2.6s ease-in-out 1.6s infinite}
}
@keyframes scan{0%,100%{transform:translate(0,0) rotate(0)}25%{transform:translate(-3px,-2px) rotate(-6deg)}60%{transform:translate(3px,1px) rotate(5deg)}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes beat{0%,70%,100%{transform:scale(1)}78%{transform:scale(1.1)}86%{transform:scale(.98)}}

/* scroll reveal (only when JS enables it) */
.rv{transition:opacity .7s ease,transform .7s ease}
.reveal-on .rv:not(.in){opacity:0;transform:translateY(20px)}

/* counters */
.stats-band{background:var(--band);color:var(--band-ink)}
.stats-band .wrap{padding-block:72px}
.stats-band .eyebrow{color:var(--green)}
.stats-band .lede{color:var(--band-soft)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #3a4447}
.stat{padding:28px 24px 28px 0;border-bottom:1px solid #3a4447;display:grid;gap:4px}
.stat .val{font:800 clamp(2.4rem,5vw,3.4rem)/1 "Archivo",sans-serif;font-stretch:84%;color:var(--green);font-variant-numeric:tabular-nums}
.stat .val small{font-size:.42em;font-weight:700;margin-left:6px;color:var(--band-ink);letter-spacing:.04em}
.stat p:last-child{color:var(--band-soft)}
@media (max-width:760px){.stats{grid-template-columns:1fr 1fr}}
@media (max-width:420px){.stats{grid-template-columns:1fr}}

/* testimonial slider */
.quotes.is-slider{display:block;max-width:860px}
.quotes.is-slider .track{display:grid}
.quotes.is-slider figure{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .6s ease,visibility .6s;background:transparent;border:0;border-left:4px solid var(--green);border-radius:0;padding:4px 0 4px 28px}
.quotes.is-slider figure.on{opacity:1;visibility:visible}
.quotes.is-slider blockquote{font-size:clamp(1.15rem,2.2vw,1.45rem);line-height:1.5}
.slider-bar{display:flex;align-items:center;gap:16px;margin-top:26px;padding-left:32px}
.slider-bar .arrow{width:42px;height:42px;border-radius:50%;border:2px solid var(--line);background:var(--surface);color:var(--ink);font-size:1.1rem;cursor:pointer}
.slider-bar .arrow:hover{border-color:var(--green)}
.dots{display:flex;gap:8px}
.dots button{width:10px;height:10px;border-radius:50%;border:0;padding:0;background:var(--line);cursor:pointer}
.dots button[aria-current="true"]{background:var(--green-deep);width:26px;border-radius:5px}

/* contact form */
.hc-form{display:grid;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:28px}
.hc-form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hc-form p{display:grid;gap:6px}
.hc-form label{font-weight:700;font-size:.92rem}
.hc-form label span{font-weight:400;color:var(--ink-soft)}
.hc-form input,.hc-form textarea{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:11px 12px;width:100%}
.hc-form input:focus,.hc-form textarea:focus{outline:2px solid var(--green);outline-offset:1px;border-color:transparent}
.hc-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-status{padding:12px 14px;border-radius:4px;background:var(--paper);border-left:4px solid var(--green);font-weight:600}
.form-status.err{border-left-color:#c2410c}
@media (max-width:600px){.hc-form .row{grid-template-columns:1fr}.hc-form{padding:20px}}
@media (prefers-reduced-motion:reduce){.rv,.ico,.ico path,.quotes.is-slider figure{transition:none}}

/* WordPress specifics */
.admin-bar .top{top:32px}
@media (max-width:782px){.admin-bar .top{top:46px}}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px 18px;flex-wrap:wrap}
.nav li.current-menu-item > a{border-bottom-color:#98ca3c}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
