*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#10264a;background:#fff}.wrap{width:min(1160px,92%);margin:auto}.site-header{position:sticky;top:0;z-index:20;background:#fff;box-shadow:0 2px 12px rgba(0,20,55,.12)}.nav{min-height:78px;display:flex;align-items:center;gap:28px}.brand{color:#123f80;text-decoration:none;font-size:29px;font-weight:900;font-style:italic;line-height:1}.brand i{display:block;width:105px;height:9px;margin-top:7px;border-top:3px solid #38a8ee;border-bottom:3px solid #38a8ee;border-radius:50%}.nav nav{display:flex;gap:25px;margin-left:auto}.nav nav a{color:#10264a;text-decoration:none;font-size:15px;font-weight:700;padding:29px 0}.nav nav a.active{color:#1261b5;border-bottom:3px solid #1261b5}.nav-actions{display:flex;gap:10px}.call-small,.text-small{padding:13px 17px;border-radius:7px;text-decoration:none;font-weight:800;white-space:nowrap}.call-small{background:#1261b5;color:#fff}.text-small{border:2px solid #1261b5;color:#1261b5}.hero{height:585px;position:relative;overflow:hidden}.hero-bg{position:absolute;inset:0;background-image:url('assets/hero-pic2-v2.jpg');background-size:cover;background-position:center center;filter:saturate(1.05)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,22,52,.10) 0%,rgba(4,22,52,.02) 45%,rgba(4,22,52,.45) 100%)}.hero-content{position:relative;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;padding-top:34px}.hero-card{background:transparent;padding:0 20px;max-width:1250px;width:100%;height:100%;text-shadow:0 3px 8px rgba(0,0,0,.75);position:relative}.eyebrow{font-size:18px;font-weight:900;letter-spacing:1px;text-transform:none}.hero-card .eyebrow{font-size:50px;color:#fff;text-decoration:none;font-style:normal;font-weight:900;text-align:center;margin:0;line-height:1.05}.hero h1{position:absolute;left:0;right:0;bottom:12px;font-size:40px;z-index:3;line-height:1.15;margin:0;color:#fff;font-style:normal;text-decoration:none;font-weight:800;white-space:nowrap;text-align:center;letter-spacing:-.8px}.hero-buttons{display:none}.btn{display:inline-block;padding:16px 28px;border-radius:7px;text-decoration:none;font-weight:900;font-size:19px}.btn.blue{background:#1261b5;color:#fff}.btn.white{background:#fff;color:#123e7a}.btn.outline{border:2px solid #fff;color:#fff;background:transparent}.wide{width:100%;text-align:center;margin-top:12px}.trust{display:grid;grid-template-columns:1.25fr repeat(4,1fr) 1.05fr;background:#061c42;color:#fff}.trust div{min-height:112px;display:flex;align-items:center;justify-content:center;gap:12px;font-weight:900;padding:12px 8px;border-left:1px solid rgba(99,185,255,.35)}.trust b{color:#63b9ff;font-size:25px}.services{padding:58px 0 55px}.section-head{text-align:center}.section-head h2,.area h2,.reviews h2{font-size:38px;margin:7px 0 35px}.blue-text{color:#1261b5}.service-grid{display:grid;grid-template-columns:repeat(4,1fr)}.service-grid article{text-align:center;padding:12px 28px;border-right:1px solid #cdd6e1}.service-grid article:last-child{border:0}.service-icon{font-size:40px;color:#1261b5;margin-bottom:10px}.service-grid h3{font-size:18px;line-height:1.2;margin:8px 0}.service-grid p{color:#4b5c73;line-height:1.55;font-size:15px;margin:0}.about{background:#eaf4ff}.about-grid{display:grid;grid-template-columns:1fr 1.15fr 1fr;align-items:stretch}.about-copy{padding:58px 28px 58px 0}.about-copy h2{font-size:31px;margin:8px 0 22px}.about-copy ul{list-style:none;padding:0;margin:0;font-size:17px;line-height:2}.about-copy li:before{content:'✓';display:inline-block;width:21px;height:21px;line-height:21px;text-align:center;border-radius:50%;background:#1261b5;color:#fff;font-weight:900;margin-right:10px}.tagline{font-size:19px;font-weight:800;font-style:italic;color:#123f80;line-height:1.5;margin-top:28px}.card-photo{min-height:365px}.card-photo img{width:100%;height:100%;display:block;object-fit:cover}.about-cta{background:#061f49;color:#fff;padding:50px 38px}.about-cta h2{font-size:27px;line-height:1.15;margin:13px 0}.about-cta p{line-height:1.5;color:#e2edfa}.mini-icon{font-size:33px}.about-cta .white{color:#123f80}.area{text-align:center;padding:65px 0}.area p{max-width:850px;margin:auto;color:#4b5c73;font-size:18px;line-height:1.7}.reviews{background:#f5f8fc;text-align:center;padding:55px 0}.reviews p{color:#4b5c73}.contact{background:#061c42;color:#fff}.contact-grid{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:50px 0}.contact h2{font-size:37px;margin:8px 0}.contact p{font-size:18px;color:#dce9f7}.contact-buttons{display:flex;gap:12px;flex-wrap:wrap}.contact .outline{border-color:#fff}.contact .blue{background:#fff;color:#123f80}footer{background:#03142f;color:#dce9f7;text-align:center;padding:22px 0;font-size:14px}@media(max-width:1000px){.nav nav{display:none}.nav{justify-content:space-between}.about-grid{grid-template-columns:1fr 1fr}.about-cta{grid-column:1/-1}.about-copy{padding-left:0}.service-grid{grid-template-columns:repeat(2,1fr);gap:25px}.service-grid article:nth-child(2){border:0}.hero-card{max-width:90%}}@media(max-width:650px){.nav-actions .text-small{display:none}.brand{font-size:23px}.call-small{font-size:13px;padding:11px}.hero{height:610px}.hero-card{padding:22px 18px}.hero-card .eyebrow{font-size:32px}.hero h1{font-size:30px;white-space:normal;bottom:18px}.desktop{display:none}.hero-buttons{margin-top:28px;flex-direction:column}.trust{grid-template-columns:1fr 1fr}.trust div{font-size:13px;text-align:center;min-height:78px}.trust span{font-size:13px}.trust-btn{min-height:64px;margin:8px;font-size:14px}.call-trust{grid-column:1}.request-trust{grid-column:2}.service-grid{grid-template-columns:1fr}.service-grid article{border:0!important;border-bottom:1px solid #d5deea!important;padding-bottom:25px}.about-grid{grid-template-columns:1fr}.about-copy{padding:45px 0}.card-photo{min-height:280px}.about-cta{grid-column:auto;padding:40px 25px}.section-head h2,.area h2,.reviews h2,.contact h2{font-size:30px}.contact-grid{display:block}.contact-buttons{margin-top:25px}.contact-buttons .btn{width:100%;text-align:center}}.trust-btn{min-height:112px;display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;font-weight:900;font-size:18px;padding:14px 18px;margin:14px 12px;border-radius:7px}.call-trust{background:#1261b5;color:#fff}.request-trust{background:#fff;color:#123e7a}.trust span{font-size:17px}

.hero-card .eyebrow{position:relative;z-index:3}
.hero h1{white-space:nowrap;overflow:visible;text-align:center}

/* Final subtitle sizing */
.hero h1{font-size:34px !important;white-space:nowrap;letter-spacing:-.5px;}
.hero-card{max-width:1500px}
@media(max-width:900px){.hero h1{font-size:24px !important;white-space:nowrap;}}

/* Final full-hero-width subtitle fix */
.hero-content > .hero-card{
  width:100vw !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  left:50% !important;
  transform:translateX(-50%) !important;
}
.hero h1{
  left:0 !important;
  right:0 !important;
  width:100% !important;
  text-align:center !important;
  white-space:nowrap !important;
  font-size:34px !important;
}
@media(max-width:900px){
  .hero h1{font-size:24px !important;white-space:normal !important;padding:0 18px;}
}

/* FINAL: center subtitle across the entire hero image */
.hero-content{width:100% !important;max-width:none !important;margin:0 !important;padding-left:0 !important;padding-right:0 !important;}
.hero-card{width:100% !important;max-width:none !important;margin:0 !important;padding-left:0 !important;padding-right:0 !important;}
.hero h1{left:0 !important;right:0 !important;width:100% !important;text-align:center !important;font-size:34px !important;white-space:nowrap !important;}
@media(max-width:900px){.hero h1{font-size:24px !important;white-space:nowrap !important;}}
@media(max-width:650px){.hero h1{font-size:17px !important;white-space:normal !important;padding:0 12px !important;}}


/* 2026-08-15 updates */
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:930px;margin:0 auto;}
.service-grid article{border-right:1px solid #cdd6e1;}
.service-grid article:last-child{border-right:0;}
.service-process{max-width:930px;margin:34px auto 0;padding:22px 28px;background:#eaf4ff;border:1px solid #cfe0f4;border-radius:10px;text-align:center;color:#123f80;font-size:18px;line-height:1.5;}
.service-process strong,.service-process span{display:block;}
.service-process span{margin-top:5px;color:#4b5c73;font-size:16px;}
.about-grid{grid-template-columns:1fr 1fr 1fr;}
.card-photo{display:none!important;}
.business-box{background:#1261b5;color:#fff;padding:50px 38px;display:flex;flex-direction:column;justify-content:center;}
.business-box h2{font-size:27px;line-height:1.15;margin:13px 0;}
.business-box p{line-height:1.5;color:#f0f6ff;margin:0 0 12px;}
.business-box .mini-icon{font-size:33px;}
.business-box .white{color:#123f80;background:#fff;}
@media(max-width:1000px){.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:95%;}.about-grid{grid-template-columns:1fr 1fr;}.business-box{grid-column:1/-1;order:2;}.about-cta{grid-column:1/-1;order:3;}}
@media(max-width:650px){.service-grid{grid-template-columns:1fr;max-width:100%;}.service-grid article{border-right:0!important;border-bottom:1px solid #d5deea!important;}.service-grid article:last-child{border-bottom:0!important;}.service-process{font-size:16px;padding:20px 18px;}.about-grid{grid-template-columns:1fr;}.business-box{grid-column:auto;padding:40px 25px;}.about-cta{grid-column:auto;}}

/* 2026-08-15: service details belong in the box beside About Johnny */
.service-process{display:none!important;}
.business-box{background:#1261b5;color:#fff;padding:42px 38px;display:flex;flex-direction:column;justify-content:center;}
.service-info h2{font-size:27px;line-height:1.15;margin:10px 0 8px;}
.service-info p{line-height:1.5;color:#f0f6ff;margin:0 0 20px;font-size:16px;}
.service-info .mini-icon{font-size:28px;line-height:1;color:#fff;}
.business-divider{height:1px;background:rgba(255,255,255,.35);margin:8px 0 25px;}
.part-time-business h2{font-size:24px;line-height:1.15;margin:10px 0;}
.part-time-business p{line-height:1.5;color:#f0f6ff;margin:0 0 10px;}
.part-time-business .mini-icon{font-size:28px;}

@media(max-width:1000px){
  .business-box{grid-column:1/-1;order:2;}
}
@media(max-width:650px){
  .business-box{grid-column:auto;padding:38px 25px;}
}


/* 2026-08-15: final layout - service information at far left, part-time business at page bottom */
.about-grid{grid-template-columns:1fr 1fr 1fr;align-items:stretch;}
.business-box{grid-column:auto;grid-row:1;background:#1261b5;color:#fff;padding:50px 38px;display:flex;align-items:flex-start;justify-content:center;}
.about-copy{grid-column:auto;grid-row:1;}
.about-cta{grid-column:auto;grid-row:1;}
.business-box .service-info{width:100%;}
.business-box .service-info h2{color:#fff;}
.business-box .service-info p{color:#fff;}
.business-box .mini-icon{color:#fff;}
.business-divider,.part-time-business{display:none!important;}
.part-time-section{text-align:center;background:#f5f8fc;padding:48px 20px 52px;}
.part-time-section .eyebrow{font-size:20px;}
.part-time-section h2{font-size:30px;margin:8px 0 12px;color:#10264a;}
.part-time-section p{max-width:760px;margin:0 auto 22px;color:#4b5c73;font-size:17px;line-height:1.6;}
.part-time-section .btn{font-size:17px;}
@media(max-width:1000px){
 .about-grid{grid-template-columns:1fr 1fr;}
 .business-box{grid-column:1;grid-row:1;}
 .about-copy{grid-column:2;grid-row:1;}
 .about-cta{grid-column:1/-1;grid-row:2;}
}
@media(max-width:650px){
 .about-grid{grid-template-columns:1fr;}
 .business-box{grid-column:1;grid-row:1;padding:40px 25px;}
 .about-copy{grid-column:1;grid-row:2;padding:45px 0;}
 .about-cta{grid-column:1;grid-row:3;}
 .part-time-section{padding:40px 20px;}
 .part-time-section h2{font-size:26px;}
}

/* FINAL REQUESTED ADJUSTMENTS */
.business-box{background:#061f49 !important;color:#fff !important;}
.business-box .service-info h2,.business-box .service-info p{color:#fff !important;}
.part-time-section{padding:55px 0 60px;text-align:center;background:#fff;}
.part-time-title{margin:0 auto 16px;font-size:30px;line-height:1.2;color:#000;font-weight:900;text-align:center;}
.part-time-section p{max-width:760px;margin:0 auto 22px;color:#4b5c73;font-size:18px;line-height:1.6;}
.part-time-section .btn{margin:0 auto;}
@media(max-width:650px){.part-time-title{font-size:25px;}.part-time-section{padding:42px 0 48px;}}

/* FINAL V7: Routine Testing dark blue + bottom business section */
.routine-testing, .routine-box, .routine-test {
  background:#0b3a66 !important;
  color:#fff !important;
}
.routine-testing *, .routine-box *, .routine-test * {
  color:#fff !important;
}
.part-time-business {
  background:#fff !important;
  color:#111 !important;
  text-align:center !important;
  font-weight:400;
  margin:50px auto 0 !important;
  padding:40px 24px !important;
}
.part-time-business h2, .part-time-business h3 {
  color:#000 !important;
  font-weight:800 !important;
  text-align:center !important;
}
.part-time-business p { color:#111 !important; text-align:center !important; }
.part-time-business a { display:inline-block; margin-top:18px; }

/* V8 FIX — Routine Testing is the left About box */
.business-box {
  background: #0b3a66 !important;
  color: #ffffff !important;
}
.business-box h2,
.business-box p,
.business-box .mini-icon {
  color: #ffffff !important;
}

/* Part-time business section */
.part-time-section {
  background: #ffffff !important;
  color: #111111 !important;
  text-align: center !important;
  padding: 56px 24px !important;
  border-top: 1px solid #e5e7eb;
}
.part-time-section h2 {
  color: #000000 !important;
  text-align: center !important;
  font-weight: 800 !important;
}
.part-time-section p {
  color: #111111 !important;
  text-align: center !important;
  max-width: 800px;
  margin: 12px auto 0;
}
.part-time-section .btn {
  margin: 22px auto 0;
}

/* V13: Routine Testing panel only */
.business-box {
  background: #061f49 !important;
  color: #ffffff !important;
}
.business-box .service-info h2,
.business-box .service-info p,
.business-box .service-info .mini-icon {
  color: #ffffff !important;
}

/* V14: center text inside Routine Testing and About Johnny panels only */
.business-box {
  text-align: center !important;
}
.business-box .service-info {
  text-align: center !important;
}
.about-copy {
  text-align: center !important;
}
.about-copy ul {
  width: fit-content;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: left !important;
}
.about-copy .tagline {
  text-align: center !important;
}

/* V15: definitive inline-aligned panel content */
.business-box { text-align:center !important; }
.business-box .service-info { text-align:center !important; width:100% !important; }
.business-box .service-info h2,
.business-box .service-info p { text-align:center !important; }
.about-copy { text-align:center !important; }
.about-copy .eyebrow, .about-copy h2, .about-copy p { text-align:center !important; }
.about-copy ul { width:100% !important; margin:0 auto !important; text-align:center !important; }
.about-copy li { text-align:center !important; }
.about-copy .tagline { text-align:center !important; }
.about-cta h2 { text-align:center !important; }

/* Request Service contact choice modal */
.contact-choice-modal{
  display:none;
  position:fixed;
  inset:0;
  z-index:9999;
}
.contact-choice-modal.is-open{
  display:block;
}
.contact-choice-backdrop{
  position:absolute;
  inset:0;
  background:rgba(3,24,58,.65);
}
.contact-choice-card{
  position:relative;
  max-width:520px;
  margin:10vh auto 0;
  background:#fff;
  border-radius:18px;
  padding:34px 28px 30px;
  box-shadow:0 24px 80px rgba(0,0,0,.25);
  text-align:center;
}
.contact-choice-card h2{
  margin:0 0 22px;
  color:#0b2f55;
  font-size:1.6rem;
}
.contact-choice-close{
  position:absolute;
  top:8px;
  right:12px;
  border:0;
  background:transparent;
  font-size:32px;
  line-height:1;
  cursor:pointer;
  color:#0b2f55;
}
.contact-choice-actions{
  display:grid;
  gap:12px;
}
.contact-choice-btn{
  display:block;
  text-decoration:none;
  padding:15px 18px;
  border-radius:12px;
  background:#0b2f55;
  color:#fff !important;
  font-weight:700;
  font-size:1rem;
}
.contact-choice-btn span{
  font-weight:500;
  opacity:.95;
}
.contact-choice-btn:hover{
  transform:translateY(-1px);
}
@media (max-width:600px){
  .contact-choice-card{
    margin:18vh 16px 0;
    padding:30px 18px 24px;
  }
}

/* Google review button */
.leave-review-btn{
  display:inline-block;
  margin-top:20px;
  padding:14px 28px;
  border-radius:8px;
  background:#1565c0;
  color:#fff !important;
  text-decoration:none;
  font-weight:700;
  font-size:1rem;
  transition:transform .15s ease, box-shadow .15s ease;
}
.leave-review-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(0,0,0,.15);
}
