/*
Theme Name: W2 Termite and Pest Management
Theme URI: https://wsquaredpest.com
Author: W2 Termite and Pest Management
Description: Custom theme for W2 Termite and Pest Management
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: w2-theme
*/

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Segoe UI',Arial,sans-serif;color:#1a1a1a;overflow-x:hidden;background:#fff}

/* NAV */
nav{position:fixed;top:0;width:100%;background:rgba(0,0,0,.9);backdrop-filter:blur(8px);z-index:999;padding:0 5%}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{color:#fff;font-size:1rem;font-weight:700;letter-spacing:2px;text-decoration:none;text-transform:uppercase;white-space:nowrap}
.logo sup{display:inline-block;color:#c9a96e;font-size:.65em}
.logo sup.spin{animation:orbit .6s ease-in-out}
@keyframes orbit{0%{transform:rotate(0deg) translateY(-2px)}50%{transform:rotate(180deg) translateY(-4px)}100%{transform:rotate(360deg) translateY(-2px)}}
.nav-right{display:flex;align-items:center;gap:24px}
.nav-phone{color:#c9a96e;font-size:.82rem;font-weight:700;letter-spacing:1px;text-decoration:none;transition:color .2s;white-space:nowrap}
.nav-phone:hover{color:#fff}
.nav-links{display:flex;gap:24px;list-style:none}
.nav-links a{color:#bbb;text-decoration:none;font-size:.82rem;letter-spacing:.5px;transition:color .2s}
.nav-links a:hover,.nav-links a.active{color:#c9a96e}
.nav-cta{background:#222;color:#fff!important;padding:7px 16px;border-radius:4px;border:1px solid #333;transition:background .2s,border-color .2s,color .2s!important}
.nav-cta:hover{background:#c9a96e!important;border-color:#c9a96e!important}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px}
.hamburger span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:transform .3s,opacity .3s}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu{display:none;position:fixed;top:64px;left:0;width:100%;background:rgba(0,0,0,.97);padding:20px 5% 30px;z-index:998;flex-direction:column;gap:4px}
.mobile-menu.open{display:flex}
.mobile-menu a{color:#bbb;text-decoration:none;font-size:.95rem;padding:12px 0;border-bottom:1px solid #1a1a1a;letter-spacing:.5px;transition:color .2s}
.mobile-menu a:hover{color:#c9a96e}
.mobile-menu .m-phone{color:#c9a96e;font-weight:700;margin-top:8px;border-bottom:none}

/* HERO */
#home{min-height:58vh;background:#0a0a0a;display:flex;align-items:center;justify-content:center;text-align:center;padding:100px 5% 60px;position:relative;overflow:hidden}
.hero-glow{position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(201,169,110,.07) 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);animation:pulse 6s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.7}50%{transform:translate(-50%,-50%) scale(1.2);opacity:1}}
.hero-noise{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");opacity:.4}
.hero-inner{position:relative;z-index:1}
.hero-badge{display:inline-block;background:rgba(201,169,110,.12);color:#c9a96e;font-size:.72rem;font-weight:700;letter-spacing:2.5px;padding:7px 20px;border-radius:20px;margin-bottom:20px;text-transform:uppercase;border:1px solid rgba(201,169,110,.3)}
.hero-title{font-size:clamp(1.7rem,3.5vw,2.8rem);color:#fff;font-weight:800;line-height:1.15;margin-bottom:14px;text-transform:uppercase;letter-spacing:2px}
.hero-title em{color:#c9a96e;font-style:normal}
.hero-sub{color:#777;font-size:.85rem;max-width:600px;margin:0 auto 28px;line-height:1.8;text-transform:uppercase;letter-spacing:.5px}
.hero-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;padding:13px 30px;border-radius:5px;font-weight:700;text-decoration:none;font-size:.88rem;letter-spacing:.5px;cursor:pointer;border:2px solid transparent;transition:background .2s,color .2s,border-color .2s,transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(0,0,0,.4)}
.btn-primary{background:#fff;color:#1a1a1a;border-color:#fff}
.btn-primary:hover{background:#c9a96e;color:#fff;border-color:#c9a96e}
.btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
.btn-outline:hover{color:#c9a96e;border-color:#c9a96e}

/* STRIP */
.strip{background:#111;border-top:1px solid #1e1e1e;border-bottom:1px solid #1e1e1e;padding:20px 5%;display:flex;align-items:center;justify-content:center;gap:14px}
.strip-icon{width:32px;height:32px;flex-shrink:0;opacity:.7}
.strip p{font-size:.78rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#888;line-height:1.5}
.strip p strong{color:#c9a96e;font-weight:700}

/* FADE IN */
.fade-in{opacity:0;transform:translateY(28px);transition:opacity .6s ease,transform .6s ease}
.fade-in.visible{opacity:1;transform:none}

/* SECTIONS */
section{padding:90px 5%}
.section-heading-dark{text-align:center;margin-bottom:50px}
.section-heading-dark h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;text-transform:uppercase;letter-spacing:2px;color:#fff;margin-bottom:10px}
.section-heading-dark h2 em{color:#c9a96e;font-style:normal}
.section-heading-dark .rule{width:40px;height:2px;background:#c9a96e;margin:0 auto}
.section-heading-light{text-align:center;margin-bottom:50px}
.section-heading-light h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;text-transform:uppercase;letter-spacing:2px;color:#1a1a1a;margin-bottom:10px}
.section-heading-light h2 em{color:#888;font-style:normal}
.section-heading-light .rule{width:40px;height:2px;background:#ccc;margin:0 auto}

/* ABOUT */
#about{background:#f5f5f5}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;max-width:1000px;margin:0 auto}
.about-imgs{display:flex;flex-direction:column;gap:16px;align-items:center}
.about-imgs img{width:150px;height:150px;border-radius:50%;object-fit:cover;border:4px solid #ccc;box-shadow:0 4px 20px rgba(0,0,0,.1)}
.about-text p{color:#666;line-height:1.85;margin-bottom:14px;font-size:.95rem}
.owner-tag{display:inline-block;background:#1a1a1a;color:#fff;font-size:.72rem;font-weight:700;letter-spacing:1.5px;padding:6px 14px;border-radius:3px;text-transform:uppercase;margin-top:6px}

/* SERVICES */
#services{background:#0f0f0f}
.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px;max-width:1100px;margin:0 auto}
.service-card{background:#161616;border:1px solid #252525;border-radius:8px;padding:26px;transition:border-color .25s,transform .25s;position:relative;overflow:hidden}
.service-card::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:#333;transition:background .25s}
.service-card:hover{border-color:#444;transform:translateY(-4px)}
.service-card:hover::before{background:#c9a96e}
.service-card-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.service-icon{font-size:1.4rem;line-height:1;flex-shrink:0}
.service-card h4{color:#bbb;font-size:.78rem;letter-spacing:2px;text-transform:uppercase;font-weight:700;margin:0}
.service-card p{color:#666;font-size:.88rem;line-height:1.75}

/* TESTIMONIALS */
#testimonials{background:#f5f5f5}
.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px;max-width:1100px;margin:0 auto}
.testimonial-card{background:#fff;border-radius:10px;padding:28px;box-shadow:0 2px 20px rgba(0,0,0,.06);position:relative;border:1px solid #eee}
.stars{color:#c9a96e;font-size:1rem;margin-bottom:12px;letter-spacing:2px}
.testimonial-card blockquote{color:#666;font-size:.9rem;line-height:1.8;font-style:italic;margin-bottom:16px}
.testimonial-card cite{font-style:normal;font-weight:700;font-size:.82rem;color:#333;letter-spacing:.5px}
.quote-mark{position:absolute;top:14px;right:18px;font-size:3.5rem;color:#f0f0f0;font-family:Georgia,serif;line-height:1}

/* QUOTE SECTION */
#quote{background:linear-gradient(150deg,#0d0d0d,#1e1e1e)}
#quote .section-heading-dark{margin-bottom:36px}
fieldset.hidden-fields-container {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* CONTACT FORM 7 STYLES */
.wpcf7{max-width:540px;margin:0 auto}
.wpcf7-form{display:flex;flex-direction:column;gap:18px}
.cf7-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.wpcf7-form-control-wrap{display:block;width:100%}
.wpcf7-form .wpcf7-form-control:not([type="submit"]){width:100%;padding:13px 16px;border:1px solid #2a2a2a;border-radius:5px;font-size:.93rem;font-family:inherit;background:#161616;color:#888;outline:none;transition:border-color .2s;-webkit-appearance:none;appearance:none}
.wpcf7-form .wpcf7-form-control:not([type="submit"]):focus{border-color:#555}
.wpcf7-form input.wpcf7-form-control::placeholder{color:#888}
.wpcf7-form .wpcf7-textarea{height:100px;resize:vertical}

/* Select dropdown */
.wpcf7-form select.wpcf7-form-control{color:#888;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23888888' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;cursor:pointer}
.wpcf7-form select.wpcf7-form-control option{color:#ddd;background:#161616}
.wpcf7-form select.wpcf7-form-control option:first-child{color:#888}

.wpcf7-form .wpcf7-submit{width:100%;background:#fff;color:#1a1a1a;border:none;padding:14px;border-radius:5px;font-size:.92rem;font-weight:700;cursor:pointer;letter-spacing:2px;text-transform:uppercase;transition:background .2s,color .2s,transform .15s}
.wpcf7-form .wpcf7-submit:hover{background:#c9a96e;color:#fff;transform:translateY(-2px)}
.wpcf7-response-output{margin-top:8px!important;padding:10px 16px!important;border-radius:5px!important;font-size:.85rem;text-align:center;border:none!important}
.wpcf7-form.sent .wpcf7-response-output{background:#1a1a1a;color:#c9a96e}
.wpcf7-form.failed .wpcf7-response-output,.wpcf7-form.invalid .wpcf7-response-output,.wpcf7-form.spam .wpcf7-response-output{background:#3a1a1a;color:#ff6b6b}
.wpcf7-not-valid-tip{color:#ff6b6b;font-size:.75rem;margin-top:4px;display:block}

/* CF7 Bootstrap column spacing */
.form-contact .wpcf7-form-control-wrap {
    display: block;
    margin-bottom: 12px;
}

/* CONTACT BAR */
.contact-bar{background:#080808;padding:60px 5%;display:flex;flex-wrap:wrap;gap:0;justify-content:center;border-top:1px solid #181818}
.contact-item{text-align:center;padding:0 48px;position:relative;flex:1;min-width:200px;max-width:320px}
.contact-item:not(:last-child)::after{content:'';position:absolute;right:0;top:15%;height:70%;width:1px;background:#1e1e1e}
.contact-icon{width:50px;height:50px;border-radius:50%;background:#111;border:1px solid #222;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;transition:border-color .2s,background .2s}
.contact-item:hover .contact-icon{background:#181818;border-color:#c9a96e}
.contact-icon svg{width:20px;height:20px;fill:none;stroke:#666;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:stroke .2s}
.contact-item:hover .contact-icon svg{stroke:#c9a96e}
.ci-label{font-size:.68rem;letter-spacing:3px;text-transform:uppercase;color:#3a3a3a;margin-bottom:8px;font-weight:600}
.contact-item a{color:#888;text-decoration:none;font-size:.9rem;line-height:1.7;transition:color .2s;display:block}
.contact-item a:hover{color:#c9a96e}

/* FOOTER */
footer{background:#000;padding:28px 5%;text-align:center;border-top:1px solid #111}
.social-links{display:flex;gap:14px;justify-content:center;margin-bottom:18px}
.social-links a{width:38px;height:38px;border-radius:50%;background:#111;border:1px solid #222;display:flex;align-items:center;justify-content:center;color:#555;transition:color .2s,border-color .2s,background .2s}
.social-links a:hover{color:#c9a96e;border-color:#c9a96e;background:#161616}
.social-links svg{width:15px;height:15px;fill:currentColor;display:block}
footer p{color:#2a2a2a;font-size:.72rem;letter-spacing:3px;text-transform:uppercase}

/* RESPONSIVE */
@media(max-width:820px){
  .about-grid{grid-template-columns:1fr;gap:36px;text-align:center}
  .about-imgs{flex-direction:row;justify-content:center}
  .cf7-row{grid-template-columns:1fr}
  .nav-links,.nav-phone{display:none}
  .hamburger{display:flex}
  .contact-item{padding:0 24px}
}
@media(max-width:540px){
  .contact-bar{flex-direction:column;gap:36px;align-items:center}
  .contact-item:not(:last-child)::after{display:none}
  .contact-item{max-width:100%;width:100%}
}