.pi{--pi-ink:#17323a;--pi-muted:#536166;--pi-accent:#d36832;--pi-accent-dark:#ad4f24;--pi-line:#dbe3e4;--pi-soft:#f4f6f5;--pi-paper:#ffffff;--pi-focus:#f6d6c5}
.pi{--pi-accent:var(--e-global-color-accent,var(--pi-config-accent,#d36832));--pi-ink:var(--e-global-color-primary,#17323a);--pi-muted:var(--e-global-color-text,#536166);max-width:1040px;margin:40px auto;background:var(--pi-paper);color:var(--pi-ink);border:1px solid rgba(23,50,58,.12);border-radius:18px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-shadow:0 24px 70px rgba(23,50,58,.14);overflow:hidden}.pi *{box-sizing:border-box}.pi-header{padding:48px 52px 42px;background:linear-gradient(135deg,#17323a 0%,#24454e 68%,#2f5960 100%);color:#fff;border-bottom:1px solid rgba(255,255,255,.14);position:relative}.pi-header:after{content:"";position:absolute;right:44px;top:34px;width:118px;height:118px;border:1px solid rgba(255,255,255,.16);border-radius:50%;box-shadow:0 0 0 22px rgba(255,255,255,.03),0 0 0 44px rgba(255,255,255,.025)}.pi-eyebrow{position:relative;z-index:1;font-size:11px;letter-spacing:.18em;font-weight:700;color:#f4b18d}.pi h2{position:relative;z-index:1;font-size:clamp(30px,4vw,46px);line-height:1.08;letter-spacing:-.045em;margin:16px 0 13px!important;color:#fff;font-weight:700}.pi-header p{position:relative;z-index:1;max-width:700px;font-size:16px;line-height:1.65;margin:0;color:rgba(255,255,255,.82)}.pi-form{padding:0 52px 38px}.pi-stepper{display:flex;gap:8px;padding:26px 0 0;border-bottom:1px solid var(--pi-line)}.pi-step{flex:1;border:0;background:transparent;color:#7b898d;padding:14px 12px 16px;border-radius:0;border-bottom:3px solid transparent;font-size:12px;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:color .18s ease,border-color .18s ease}.pi-step:hover{color:var(--pi-ink)}.pi-step[aria-current=true]{background:transparent;color:var(--pi-accent);border-bottom-color:var(--pi-accent)}.pi-step.is-complete{color:var(--pi-ink);background:transparent}.pi-progress{font-size:12px;color:var(--pi-muted);margin:14px 0 0;font-weight:600}.pi fieldset{border:0;border-bottom:1px solid var(--pi-line);padding:34px 0 26px;margin:0;min-width:0}.pi legend{float:left;width:100%;font-size:22px;font-weight:700;padding:0;margin-bottom:24px;letter-spacing:-.03em;color:var(--pi-ink)}.pi legend+*{clear:both}.pi legend span{display:inline-grid;place-items:center;width:34px;height:34px;background:var(--pi-accent);color:#fff;border-radius:50%;font-size:11px;margin-right:10px;vertical-align:middle}.pi label{display:block;font-size:12px;color:var(--pi-muted);font-weight:700;letter-spacing:.01em;margin:0 0 18px}.pi label>span[aria-hidden]{color:var(--pi-accent)}.pi input:not([type=checkbox]):not([type=radio]),.pi select,.pi textarea{display:block;width:100%;min-width:0;font-family:inherit;font-size:15px;font-weight:400;line-height:1.5;color:var(--pi-ink);background:#fff;border:1px solid #cbd6d8;border-radius:8px;padding:13px 14px;margin-top:8px;box-shadow:0 1px 0 rgba(23,50,58,.03);min-height:48px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.pi textarea{resize:vertical;min-height:116px}.pi input::placeholder,.pi textarea::placeholder{color:#9aa7aa}.pi input:focus,.pi select:focus,.pi textarea:focus,.pi button:focus-visible,.pi a:focus-visible{outline:3px solid var(--pi-focus);outline-offset:2px;border-color:var(--pi-accent);box-shadow:0 0 0 1px var(--pi-accent)}.pi input[readonly]{background:#f1f4f3;color:var(--pi-muted)}.pi-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pi-address-grid{display:grid;grid-template-columns:2fr .7fr 1fr;gap:18px}.pi .pi-services{margin:0 0 24px}.pi-services p{font-size:12px;color:var(--pi-muted);font-weight:700;margin:0 0 12px}.pi .pi-chip{display:inline-flex;align-items:flex-end;gap:8px;border:1px solid rgba(255,255,255,.35);background-color:#35565e;border-radius:12px;padding:12px 13px;margin:0 10px 10px 0;font-size:13px;font-weight:700;cursor:pointer;min-height:120px;width:184px;color:#fff;background-image:linear-gradient(180deg,#0000 18%,#000c),url("images/project-atlas.png");background-size:100% 100%,300% 200%;background-position:0 0,var(--pi-atlas-position,50% 50%);background-repeat:no-repeat;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.pi .pi-chip span{margin-top:auto;text-shadow:0 1px 4px #000;line-height:1.25}.pi .pi-chip:hover{transform:translateY(-3px);filter:saturate(1.1)}.pi .pi-chip:has(input:checked),.pi .pi-chip.is-selected{border-color:#fff;box-shadow:0 0 0 3px var(--pi-accent),0 12px 26px rgba(23,50,58,.22);transform:translateY(-2px)}.pi .pi-chip.is-selected:after{content:"✓";position:absolute;top:9px;right:9px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--pi-accent);color:#fff;font-size:14px;font-weight:800}.pi .pi-chip{position:relative}.pi-upload-box{margin-top:22px;border:1px dashed #b5c4c6;border-radius:12px;padding:20px;background:var(--pi-soft)}.pi-upload-box strong{display:block;font-size:15px;margin-bottom:5px;color:var(--pi-ink)}.pi-upload-box .pi-help{margin-bottom:13px}.pi-upload-box input[type=file]{font-size:13px;color:var(--pi-muted)}.pi-upload-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.pi-upload-item{background:#fff;border:1px solid var(--pi-line);border-radius:9px;overflow:hidden}.pi-upload-item img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.pi-upload-item span{display:block;padding:7px 8px;font-size:11px;line-height:1.3;color:var(--pi-muted)}.pi-map{height:365px;position:relative;isolation:isolate;border:1px solid #cbd6d8;border-radius:10px;background:#dce5e3;margin-bottom:12px;overflow:hidden}.pi .pi-map-status{font-size:13px;line-height:1.5;margin:16px 0;color:var(--pi-muted)}.pi-matches button{display:block;text-align:left;margin:8px 0;background:#edf2f0;color:var(--pi-ink);width:100%;border:1px solid var(--pi-line)}.pi-step-controls{display:flex;justify-content:space-between;gap:12px;padding-top:28px}.pi-step-controls .pi-back{background:#fff;color:var(--pi-ink);border:1px solid #cbd6d8}.pi fieldset[hidden]{display:none}.pi input[type=checkbox]{accent-color:var(--pi-accent);width:17px;height:17px;flex-shrink:0;margin:0}.pi .pi-check{display:flex;gap:10px;align-items:flex-start;line-height:1.6;font-weight:500;color:var(--pi-muted)}.pi-check input{margin-top:3px!important}.pi .pi-help{font-size:12px;line-height:1.6;color:var(--pi-muted);margin:0 0 16px}.pi button{border:0;border-radius:7px;padding:13px 20px;font-size:13px;font-weight:700;letter-spacing:.01em;cursor:pointer;color:#fff;background:var(--pi-accent);line-height:1.4;transition:background .18s ease,transform .18s ease,box-shadow .18s ease}.pi button:hover:not(:disabled){background:var(--pi-accent-dark);transform:translateY(-1px);box-shadow:0 8px 18px rgba(211,104,50,.22)}.pi button:disabled{opacity:.55;cursor:wait}.pi .pi-secondary{background:#fff;color:var(--pi-ink);border:1px solid #cbd6d8}.pi .pi-secondary:hover:not(:disabled){background:var(--pi-soft);box-shadow:none}.pi a{color:var(--pi-accent);font-size:13px;text-decoration:underline}.pi .pi-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:30px}.pi-footer p{font-size:14px;margin:0;line-height:1.5;color:var(--pi-ink)}.pi-footer small{color:var(--pi-muted);font-size:12px}.pi .pi-submit{padding:16px 24px;background:var(--pi-ink)}.pi .pi-submit:hover:not(:disabled){background:#244c56;box-shadow:0 8px 18px rgba(23,50,58,.22)}.pi-submit span{margin-left:20px}.pi-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.pi .pi-result:not(:empty){padding:16px;border-radius:8px;background:#edf2f0;margin-top:20px;font-size:14px}.pi .pi-result[data-error=true]{background:#fff0ec;color:#913f30}.pi .leaflet-control-attribution a{font-size:10px}.pi .leaflet-container{font-family:inherit}.pi .leaflet-control-zoom a{font-size:22px}.pi .leaflet-marker-icon.pi-marker{background:var(--pi-accent);border:3px solid white;border-radius:50%;box-shadow:0 2px 8px #0005}.pi fieldset[disabled]{opacity:.65}.pi fieldset.pi-enter{animation:pi-enter .32s ease both}@keyframes pi-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:640px){.pi{margin:18px 0;border-radius:12px}.pi-header{padding:34px 22px 32px}.pi-header:after{right:16px;top:18px;width:82px;height:82px}.pi-form{padding:0 22px 26px}.pi-grid{grid-template-columns:1fr;gap:0}.pi-address-grid{grid-template-columns:1fr 1fr;gap:0 14px}.pi-address-grid>label:first-child{grid-column:1/-1}.pi-map{height:300px}.pi legend{font-size:19px}.pi-footer{flex-direction:column;align-items:stretch!important}.pi button.pi-submit{width:100%}.pi .pi-chip{font-size:12px;width:calc(50% - 7px);min-height:104px}.pi-upload-list{grid-template-columns:repeat(2,minmax(0,1fr))}.pi-step{padding:11px 4px;font-size:11px}.pi-step-controls{padding-top:22px}}

/* Guided mode and full-form preference */
.pi{scroll-margin-top:110px}.pi-stepper{align-items:center;flex-wrap:wrap}.pi-mode-toggle{flex:0 0 auto!important;background:transparent!important;color:var(--pi-ink)!important;border:1px solid #cbd6d8!important;border-radius:7px!important;padding:10px 13px!important;font-size:11px!important;white-space:nowrap}.pi-mode-toggle:hover{background:var(--pi-soft)!important;box-shadow:none!important;transform:none!important}.pi-full .pi-step{cursor:pointer}.pi-full fieldset{display:block!important;opacity:1}.pi-full .pi-step-controls{display:none}.pi-full .pi-progress{color:var(--pi-accent)}
.pi-services{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pi .pi-chip{width:auto!important;min-height:170px;margin:0!important;padding:16px!important}.pi .pi-chip span{font-size:14px}.pi .pi-chip.is-selected:after{top:12px;right:12px}
@media(max-width:640px){.pi-stepper{gap:4px}.pi-mode-toggle{order:4;width:100%;margin-top:7px}.pi-services{grid-template-columns:1fr 1fr}.pi .pi-chip{min-height:145px}.pi .pi-chip span{font-size:12px}}

/* Isolate the form from theme button, heading and label rules. */
.pi.pi{font-family:var(--ugc-body,inherit);margin:0;box-shadow:none}.pi.pi .pi-header h2{color:#fff!important;font-family:inherit!important}.pi.pi legend,.pi.pi label,.pi.pi button{font-family:inherit!important}.pi.pi .pi-step{background:transparent!important;color:var(--pi-muted)!important;border-radius:0!important;border-bottom:3px solid transparent!important;padding:10px 6px!important;font-size:11px!important;box-shadow:none!important}.pi.pi .pi-step[aria-current=step]{color:var(--pi-accent)!important;border-bottom-color:var(--pi-accent)!important}.pi.pi .pi-step-controls{position:sticky;bottom:0;background:#fff;padding:16px 0;z-index:5;border-top:1px solid var(--pi-line)}.pi.pi .pi-next,.pi.pi .pi-find{background:var(--pi-accent)!important;color:#fff!important}.pi.pi .pi-back{background:#fff!important;color:var(--pi-ink)!important}.pi.pi .pi-stepper{scroll-margin-top:110px;gap:3px}.pi.pi fieldset{scroll-margin-top:145px}.pi.pi .pi-services>p{grid-column:1/-1}.pi.pi .pi-chip{min-height:190px;color:#fff!important}.pi.pi .pi-chip span{color:#fff!important;font-size:16px!important}.pi.pi [hidden]{display:none!important}.pi.pi .pi-footer{background:transparent!important}.pi.pi .pi-footer p{color:var(--pi-ink)!important}.pi.pi .pi-submit{background:var(--pi-ink)!important;color:#fff!important}.pi.pi .pi-progress{margin:14px 0 0}.pi.pi fieldset:focus{outline:none}.pi.pi .pi-header{padding:30px 32px}.pi.pi .pi-header h2{font-size:30px}.pi.pi .pi-form{padding:0 32px 24px}
.ugc-contact__grid:has(.pi){grid-template-columns:minmax(0,1fr)!important}.ugc-contact__form-panel:has(.pi){padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}.ugc-contact__form-panel:has(.pi)>.ugc-contact__panel-head{display:none}.ugc-contact__grid:has(.pi)>.ugc-contact__details{display:none}.ugc-contact:has(.pi){max-width:1040px;margin-inline:auto}.ugc-contact:has(.pi) .ugc-contact-hero{display:none}
@media(max-width:640px){.pi.pi .pi-form{padding:0 18px 18px}.pi.pi .pi-header{padding:24px 18px}.pi.pi .pi-chip{min-height:140px}.pi.pi .pi-chip span{font-size:13px!important}.pi.pi .pi-step{flex:1 0 22%}.pi.pi .pi-mode-toggle{width:100%}.pi.pi .pi-stepper{scroll-margin-top:90px}}
@media(prefers-reduced-motion:reduce){.pi *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(min-width:768px){.pi.pi .pi-services{grid-template-columns:repeat(3,minmax(0,1fr))}.pi.pi .pi-chip{min-height:180px}}
.pi.pi textarea{min-height:88px}.pi.pi .pi-header:after{display:none}.pi.pi .pi-chip input{align-self:flex-start;position:absolute;top:14px;left:14px}.pi.pi .pi-chip{background-image:linear-gradient(180deg,#0000 18%,#000d),url("images/project-atlas.png")}.pi.pi .pi-upload-box input::file-selector-button{border:0;background:var(--pi-accent);color:white;padding:12px 18px;border-radius:7px;font-family:inherit;cursor:pointer}

/* Leaflet controls must remain compact even when the host theme styles inputs. */
.pi.pi .leaflet-control-layers{padding:10px 12px;border:1px solid #d6dfe0;border-radius:8px;box-shadow:0 2px 8px #0002;background:#fff;color:var(--pi-ink)}
.pi.pi .leaflet-control-layers label{display:flex;align-items:center;margin:0!important;padding:5px 0!important;font-size:12px;font-weight:500;line-height:1.4}
.pi.pi .leaflet-control-layers label>span{display:flex;align-items:center;gap:7px}
.pi.pi .leaflet-control-layers input[type=radio]{appearance:auto!important;display:inline-block!important;width:15px!important;height:15px!important;min-width:15px!important;min-height:0!important;max-height:15px!important;padding:0!important;margin:0!important;border:0!important;box-shadow:none!important;position:static!important;accent-color:var(--pi-accent)}
.pi.pi .leaflet-control-zoom a{display:block!important;width:32px!important;height:32px!important;line-height:32px!important;padding:0!important;background:#fff!important;color:var(--pi-ink)!important;text-decoration:none!important;border-radius:0!important;box-shadow:none!important;font-family:Arial,sans-serif!important;font-size:22px!important}
.pi.pi .leaflet-control-attribution{font-size:10px;line-height:1.5;background:#ffffffe6}.pi.pi .leaflet-control-attribution a{font-size:10px}
.pi.pi input[type=checkbox]{min-height:0!important;padding:0!important;width:18px!important;height:18px!important;appearance:auto!important;box-shadow:none!important}
.pi.pi .pi-coordinates{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0;color:var(--pi-muted);font-size:12px}
.pi.pi .pi-coordinate-toggle{padding:7px 10px;background:var(--pi-soft)!important;color:var(--pi-ink)!important;border:1px solid var(--pi-line);font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:0;text-transform:none}
.pi.pi .pi-coordinate-editor{padding:16px;border:1px solid var(--pi-line);border-radius:8px;margin-bottom:18px}
.pi.pi .pi-coordinate-editor label{margin:0}.pi.pi .pi-parcel{margin-top:24px;padding:22px;background:var(--pi-soft);border:1px solid var(--pi-line);border-radius:10px}
.pi.pi .pi-parcel h3{margin:0 0 10px;font-family:inherit;font-size:18px;color:var(--pi-ink)}
.pi.pi .pi-parcel-status{font-size:12px;line-height:1.6;color:var(--pi-muted);margin:0 0 18px}.pi.pi .pi-parcel .pi-help{margin-bottom:0}
@media(max-width:640px){.pi.pi .pi-coordinates{align-items:flex-start;flex-direction:column}.pi.pi .pi-parcel{padding:16px}.pi.pi .pi-coordinate-editor label+label{margin-top:14px}}

/* Roofing selections keep material imagery clear and keyboard accessible. */
.pi.pi .pi-roof-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 24px}
.pi.pi .pi-materials{grid-template-columns:repeat(3,minmax(0,1fr))}
.pi.pi label.pi-roof-card{display:flex;flex-direction:column;position:relative;cursor:pointer;border:2px solid #dce3e4;border-radius:12px;overflow:hidden;background:#fff;padding:0;margin:0;font-size:15px;line-height:1.35;color:var(--pi-ink,#18343d);transition:border-color .15s,box-shadow .15s}
.pi.pi .pi-roof-card img{display:block;width:100%;height:150px;object-fit:cover;margin:0;border:0;border-radius:0}
.pi.pi .pi-roof-card span{display:block;padding:16px 38px 16px 16px;font-weight:650}
.pi.pi .pi-roof-card input[type=radio]{position:absolute;right:12px;bottom:17px;appearance:auto;width:18px;height:18px;min-height:0;margin:0;padding:0;accent-color:var(--pi-accent);z-index:1}
.pi.pi .pi-roof-card:has(input:checked){border-color:var(--pi-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--pi-accent) 18%,transparent)}
.pi.pi .pi-roof-card:focus-within{outline:3px solid var(--pi-accent);outline-offset:3px}
.pi.pi .pi-repair-options{display:grid;gap:4px;margin-bottom:20px}
@media(max-width:640px){.pi.pi .pi-materials{grid-template-columns:repeat(2,minmax(0,1fr))}.pi.pi .pi-roof-card img{height:125px}.pi.pi .pi-roof-options:not(.pi-materials){grid-template-columns:1fr}}
.pi.pi .pi-roof-card:has(img){align-self:start}.pi.pi .pi-roof-card:not(:has(img)){align-self:start}
.pi.pi .pi-roof-card input[type=radio]{top:auto;left:auto}

.pi.pi .pi-property-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin:18px 0}.pi.pi .pi-property-facts dt{font-weight:650}.pi.pi .pi-property-facts dd{margin:0}.pi.pi .pi-references{display:flex;flex-wrap:wrap;gap:12px 20px;margin:18px 0}.pi.pi .pi-references a{display:inline-block}
