:root{--navy:#0b1125;--slate:#cdd8e2;--green:#35ca32;--ink:#123139;--white:#fff;--muted:#c9d2df}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font:16px/1.65 Arial,Helvetica,sans-serif;color:var(--ink);background:white}h1,h2,h3,p{margin:0 0 1rem}h1,h2{font-family:Georgia,serif;line-height:1.12}h1{font-size:clamp(2.7rem,5vw,4.7rem);letter-spacing:-.035em}h2{font-size:clamp(2rem,3.5vw,3rem)}h3{font-size:1.25rem;line-height:1.3}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}:focus-visible{outline:3px solid #159bf4;outline-offset:4px}.wrap{width:min(1140px,90%);margin:auto}.section{padding:88px 0}.dark{background:var(--navy);color:white}.pale{background:var(--slate)}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.8rem;font-weight:700;color:var(--ink);margin-bottom:18px}.dark .eyebrow{color:#84e57c}.intro{max-width:740px;margin:0 auto 40px}.center{text-align:center}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:12px 23px;background:var(--green);color:#08230d;border:1px solid transparent;border-radius:7px;text-decoration:none;font-weight:700;cursor:pointer}.btn:hover{background:#66db52}.btn.secondary{background:transparent;border-color:currentColor;color:inherit}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}.center .actions{justify-content:center}.grid{display:grid;gap:24px}.card{padding:30px;background:white;border-radius:10px;border:1px solid #d7dfe6;color:var(--ink)}.card p:last-child{margin:0}.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;z-index:20;background:white;padding:10px}header{background:white;border-bottom:1px solid #dde3e8;position:sticky;top:0;z-index:10}.nav{display:flex;align-items:center;justify-content:space-between;min-height:86px;gap:24px}.brand{text-decoration:none;font:bold 1.2rem/1.1 Georgia,serif;display:flex;gap:12px;align-items:center}.brand b{font:700 1rem Arial;background:var(--navy);color:white;padding:15px 10px;border-bottom:4px solid var(--green);border-radius:3px}.brand small{display:block;font:11px Arial;letter-spacing:.12em;margin-top:6px}.navlinks{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:700}.navlinks a{text-decoration:none}.menu{display:none}.hero{padding:65px 0 0;overflow:hidden}.hero-grid{display:grid;gap:40px;align-items:center}.hero p{color:#d5deea;max-width:630px}.hero .welcome{font-size:14px;margin-top:22px}.hero-image{position:relative;align-self:stretch;min-height:390px}.hero-image img{width:100%;height:100%;object-fit:cover;border-radius:110px 0 0 0;display:block}.hero-image:after{content:'';height:8px;background:var(--green);position:absolute;bottom:0;left:0;right:0}.route-strip{padding:26px 0;margin-top:45px;border-top:1px solid #30374b;font-size:14px;letter-spacing:.05em;display:flex;gap:25px;flex-wrap:wrap}.route-strip span:before{content:'•';color:var(--green);margin-right:12px}.area-card{display:flex;justify-content:space-between;align-items:center;text-decoration:none;border-left:5px solid var(--green)}.area-card small{display:block;font-size:14px;color:#52636d;margin-top:7px}.area-card strong{font-size:1.2rem}.area-card .arrow{font-size:28px}.situation{padding:22px 25px;border-left:3px solid var(--green);background:#f2f5f7}.number{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;background:var(--green);color:#092311;border-radius:50%;font-weight:bold;margin-bottom:20px}.routes .card{border-top:5px solid var(--green)}.note{max-width:810px;margin:30px auto 0}.steps p{color:#d0d8e4}.benefits{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:14px}.benefits li:before{content:'✓';font-weight:bold;color:#188624;margin-right:12px}.about-photo{width:100%;min-height:280px;object-fit:cover;border:18px solid #75d84e}.intake{max-width:850px;margin:auto;background:#111f35;padding:clamp(24px,5vw,48px);border:1px solid #354357;border-radius:12px}.progress{display:flex;gap:8px;margin-bottom:28px}.progress span{height:4px;flex:1;background:#485266}.progress .active{background:var(--green)}.fields{display:grid;gap:20px}.field{display:flex;flex-direction:column;gap:7px;text-align:left}.field label{font-size:14px;font-weight:700}input,select,textarea{width:100%;padding:12px 13px;min-height:49px;background:white;color:#172637;border:1px solid #a6b5c4;border-radius:5px}textarea{min-height:100px;resize:vertical}.full{grid-column:1/-1}.consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;margin-top:22px}.consent input{width:20px;min-height:20px;flex-shrink:0;margin-top:4px}.form-note{font-size:14px;color:#cbd7e7}.status{margin-top:18px;color:#f5df9c}.branch{display:grid;gap:20px;padding:18px;border-left:3px solid var(--green);background:#1b2b42}.branch[hidden],[hidden]{display:none!important}button:disabled{opacity:.65;cursor:wait}details{background:white;color:#172637;border-radius:7px;margin:10px 0;border:1px solid #d7dfe6}summary{font-weight:700;padding:18px 22px;cursor:pointer;min-height:55px}details p{padding:0 22px 18px;margin:0}.faq{max-width:900px;margin:auto}.footer{font-size:14px;padding:45px 0}.footer-links{display:flex;gap:25px;flex-wrap:wrap;margin:25px 0}.footer p{max-width:950px;color:#c0cbda}.footer details{background:#142039;color:white;border-color:#354357}.footer summary{font-size:14px}.mobile-cta{display:none}@media(min-width:760px){.two{grid-template-columns:1fr 1fr}.three{grid-template-columns:repeat(3,1fr)}.hero-grid{grid-template-columns:1.15fr 1fr}.hero-image{margin-left:15px}.fields{grid-template-columns:1fr 1fr}.about-grid{grid-template-columns:1.25fr .8fr;align-items:center;gap:75px}}@media(max-width:980px){.navlinks{gap:13px}.navlinks .btn{padding:10px}.brand small{display:none}}@media(max-width:760px){.section{padding:58px 0}.hero{padding-top:42px}.hero-image{min-height:260px;max-height:340px}.nav{min-height:75px}.menu{display:block;background:white;border:1px solid #c8d1da;padding:8px 12px;border-radius:5px}.navlinks{display:none;position:absolute;top:75px;left:0;right:0;background:white;padding:20px 5%;flex-direction:column;align-items:stretch}.navlinks.open{display:flex}.route-strip{gap:10px;margin-top:28px;font-size:12px}.actions .btn{width:100%}.mobile-cta{display:block;position:fixed;bottom:0;left:0;right:0;background:white;padding:10px;z-index:9;border-top:1px solid #cbd5df}.mobile-cta .btn{width:100%}body{padding-bottom:75px}.hero h1{font-size:2.85rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Supplied PEP brand artwork */
.nav-logo{display:block;width:84px;height:84px;object-fit:contain;flex-shrink:0}.brand{gap:8px}.section-logo{display:block;width:160px;height:160px;object-fit:contain;margin:0 auto 24px;border-radius:8px;background:white}.footer-logo{display:block;width:140px;height:140px;object-fit:contain;margin:0 0 22px;border-radius:8px;background:white}@media(max-width:980px){.brand small{display:none}.nav-logo{width:68px;height:68px}.brand{font-size:1rem}}@media(max-width:760px){.nav-logo{width:65px;height:65px}.section-logo{width:140px;height:140px}.brand{gap:6px}}


/* Mobile form sizing: prevent controls and the Google address widget from overflowing */
.fields,
.field,
.branch,
.intake,
form {
  min-width: 0;
  max-width: 100%;
}

input,
select,
textarea,
gmp-place-autocomplete {
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

gmp-place-autocomplete {
  width: 100% !important;
}

/* Mobile navigation hamburger */
.menu {
  width: 44px;
  height: 44px;
  padding: 10px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  background: #fff;
  border: 1px solid #c8d1da;
  border-radius: 5px;
  cursor: pointer;
}

.menu span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--navy);
  border-radius: 2px;
}

@media(max-width:760px){
  .wrap {
    width: min(100% - 28px, 1140px);
  }

  .intake {
    width: 100%;
    padding: 22px 14px;
    overflow: visible;
  }

  .fields,
  .branch {
    width: 100%;
  }

  .field,
  .full {
    width: 100%;
    min-width: 0;
  }

  input,
  select,
  textarea,
  gmp-place-autocomplete {
    width: 100% !important;
    max-width: 100% !important;
  }

  .menu {
    display: flex;
  }
}


/* Keep honeypot spam field completely off-screen */
.hp{
  position:absolute !important;
  left:-10000px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* Google Places address field: use only the component's real input, not a second box */
gmp-place-autocomplete{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  display:block !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  min-height:0 !important;
  box-shadow:none !important;
  color-scheme:light;
}

gmp-place-autocomplete::part(input){
  width:100% !important;
  max-width:100% !important;
  min-height:49px !important;
  padding:12px 13px !important;
  box-sizing:border-box !important;
  background:#fff !important;
  color:#172637 !important;
  border:1px solid #a6b5c4 !important;
  border-radius:5px !important;
  box-shadow:none !important;
}

gmp-place-autocomplete::part(prediction-list){
  background:#fff !important;
  color:#172637 !important;
}

/* Restore the green frame around the sold-house image */
.property-section-photo{
  display:block;
  width:min(640px,100%);
  height:auto;
  margin:0 auto 28px;
  border:8px solid var(--green);
  border-radius:8px;
  box-sizing:border-box;
}

/* Consent checkboxes: keep them small and keep text visible */
.consent{
  display:flex !important;
  gap:12px !important;
  align-items:flex-start !important;
  width:100% !important;
  max-width:100% !important;
  color:#fff !important;
  overflow:visible !important;
}

.consent span{
  display:block !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  white-space:normal !important;
  overflow:visible !important;
  color:inherit !important;
}

.consent a{
  color:#fff !important;
  text-decoration:underline;
}

.consent input[type="checkbox"]{
  width:20px !important;
  min-width:20px !important;
  max-width:20px !important;
  height:20px !important;
  min-height:20px !important;
  padding:0 !important;
  margin:3px 0 0 0 !important;
  flex:0 0 20px !important;
  box-sizing:border-box !important;
}

@media(max-width:760px){
  .intake{
    padding:22px 14px !important;
    overflow:visible !important;
  }

  .fields,
  .field,
  .branch,
  form{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  .field input:not([type="checkbox"]):not([type="hidden"]),
  .field select,
  .field textarea,
  gmp-place-autocomplete{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  .consent input[type="checkbox"]{
    width:20px !important;
    min-width:20px !important;
    max-width:20px !important;
  }

  .consent span{
    font-size:14px !important;
    line-height:1.5 !important;
  }
}


/* Why PEP: larger image to the left of the copy */
.why-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:center;
  gap:56px;
}
.why-copy{min-width:0;}
.why-photo{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  max-height:none;
  object-fit:cover;
  justify-self:start;
  border-radius:8px;
}

/* Message shown after Google resolves the selected property address */
.service-area-message{
  margin-top:8px;
  padding:10px 12px;
  border-radius:5px;
  font-size:14px;
  line-height:1.45;
}
.service-area-message.out-of-area{
  background:#fff2f2;
  border:1px solid #e6a5a5;
  color:#8a1f1f;
}
.service-area-message.in-area{
  background:#eefbea;
  border:1px solid #8ad381;
  color:#174d1e;
}

/* Keep images within their grid tracks. */
.hero-grid > *, .about-grid > * { min-width:0; }
.about-logo { display:block; width:min(320px,100%); height:auto; justify-self:center; }
.why-art { min-width:0; }
@media(max-width:760px){
  .hero-grid {
    grid-template-columns:minmax(0,.95fr) minmax(0,1fr);
    gap:14px;
    align-items:stretch;
  }
  .hero h1 { font-size:clamp(18px,5.1vw,36px); margin-bottom:16px; }
  .hero .eyebrow { font-size:9px; letter-spacing:.08em; margin-bottom:14px; }
  .hero p { font-size:12px; line-height:1.5; margin-bottom:14px; }
  .hero .welcome { font-size:11px; margin-top:16px; }
  .hero .actions { margin-top:18px; }
  .hero .actions .btn { padding:10px 8px; font-size:11px; line-height:1.4; }
  .hero-image {
    min-width:0;
    min-height:0;
    max-height:none;
    margin-left:0;
    align-self:start;
    aspect-ratio: .9;
    overflow:hidden;
    border-radius:32px 0 0 0;
  }
  .hero-image img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    min-height:0;
    object-fit:cover;
    object-position:center;
    border-radius:0;
  }
  .why-grid {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:16px;
    align-items:center;
  }
  /* Keep the image in normal flow so its container cannot collapse before loading. */
  .why-art {
    grid-column:1;
    grid-row:1;
    width:100%;
    min-width:0;
    overflow:hidden;
  }
  .why-art .why-photo {
    position:static;
    display:block;
    width:144.788%;
    max-width:none;
    height:auto;
    max-height:none;
    margin:-21.879% 0 -28.572% -24.711%;
    border-radius:0;
  }
  .why-copy { grid-column:2; grid-row:1; min-width:0; overflow-wrap:break-word; }
  .why-copy h2 { font-size:clamp(18px,4.8vw,30px); margin-bottom:14px; }
  .why-copy .eyebrow { font-size:9px; letter-spacing:.06em; margin-bottom:14px; }
  .why-copy p, .why-copy li { font-size:12px; line-height:1.5; }
  .why-copy .benefits { gap:10px; }
  .about-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
  .about-logo { grid-row:1; width:min(260px,80%); }
}
/* Turnstile stays inside narrow mobile forms. */
.turnstile-widget{width:100%;min-width:0;margin-top:22px;}
