/* Shared public website branding. */
*{box-sizing:border-box}html{scroll-behavior:smooth}body.site-branded{margin:0;padding:0;max-width:none;width:100%;background:#fff;color:#17324a;font-family:Arial,Helvetica,sans-serif;line-height:1.55}.site-branded .site-header{padding:0;background:#fff;color:#17324a;text-align:left}.site-brand-row{max-width:1180px;margin:auto;padding:18px 20px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.site-header .site-brand-logo{width:118px;height:118px;max-width:none;object-fit:contain;margin:0}.site-brand-copy{flex:1;min-width:220px}.site-header .site-brand-name{font-size:34px;font-weight:700;line-height:1.05;color:#063f70;margin:0;max-width:none}.site-brand-name span{color:#0b8f2e}.site-header .site-tagline{margin:7px 0 0;font-size:16px;font-style:italic;color:#31566f;max-width:none}.site-hours{font-weight:700;color:#0b8f2e}.site-header .site-nav{position:static;padding:0;background:#063f70;text-align:left}.site-nav-inner{max-width:1180px;margin:auto;display:flex;flex-wrap:wrap;gap:24px;padding:13px 20px}.site-nav a{color:#fff;text-decoration:none;font-weight:700;margin:0;padding:0}.site-nav a:hover{text-decoration:underline}.site-branded .site-hero{max-width:none;margin:0;padding:54px 20px;border:0;border-radius:0;background:linear-gradient(135deg,#eef9f1 0%,#fff 50%,#eef8ff 100%);text-align:left;color:#17324a}.site-hero-grid{max-width:1140px;margin:auto;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:34px}.site-hero-copy{min-width:0}.site-hero h1{color:#063f70;font-size:clamp(32px,4vw,54px);line-height:1.08;letter-spacing:-1px;margin:0 0 20px;max-width:none;text-align:left;overflow-wrap:break-word}.site-hero h1 span{color:#0b8f2e}.site-hero p{font-size:20px;margin:16px 0;max-width:760px}.site-hero-art{display:flex;justify-content:center;align-items:center}.site-hero-art img{display:block;width:min(420px,100%);height:auto;max-width:100%;max-height:560px;object-fit:contain;border-radius:16px;background:#fff;box-shadow:0 12px 28px rgba(0,61,96,.12)}.site-branded .site-hero a.btn,.site-branded .site-hero a.button{display:inline-block;width:auto;padding:14px 22px;margin:6px 8px 6px 0;border-radius:999px;background:#0b8f2e;color:#fff;font-size:17px;font-weight:700;text-decoration:none}.site-branded h2,.site-branded h3{color:#063f70}.site-branded footer{background:#063f70;color:#fff}.site-branded footer a{color:#fff}.site-branded main img{max-width:100%}.site-branded .site-document{max-width:1050px;margin:30px auto;padding:0 20px}
.site-branded #request{scroll-margin-top:18px}.site-branded .site-request-panel{background:linear-gradient(135deg,#f1faf3,#fff);border:1px solid #cfe5d5;border-radius:18px;padding:28px;box-shadow:0 12px 32px rgba(17,53,79,.08)}.site-branded .site-request-panel h2{margin-top:0;font-size:clamp(27px,4vw,36px)}.site-branded .site-request-intro{color:#49677a;max-width:820px}.site-branded .site-request-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.site-branded .site-request-field{display:flex;flex-direction:column;gap:6px;min-width:0}.site-branded .site-request-field.full{grid-column:1/-1}.site-branded .site-request-field label{color:#063f70;font-weight:800}.site-branded .site-request-field input,.site-branded .site-request-field select,.site-branded .site-request-field textarea{width:100%;min-width:0;padding:13px 14px;border:1px solid #bcd3c3;border-radius:10px;background:#fff;color:#17324a;font:inherit}.site-branded .site-request-field textarea{min-height:120px;resize:vertical}.site-branded .site-request-field input:focus,.site-branded .site-request-field select:focus,.site-branded .site-request-field textarea:focus{outline:3px solid rgba(10,94,147,.18);border-color:#0a5e93}.site-branded .site-request-submit{justify-self:start;border:0;border-radius:999px;background:#0b8f2e;color:#fff;padding:15px 24px;font:inherit;font-weight:900;cursor:pointer}.site-branded .site-request-submit:hover{filter:brightness(.94)}.site-branded .site-request-note{margin:8px 0 0;color:#5f7482;font-size:14px}.site-branded .site-contact-strip{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 2px}.site-branded .site-contact-strip a{display:inline-block;border-radius:999px;padding:10px 16px;background:#edf8ef;border:1px solid #c9e8ce;color:#075c34;text-decoration:none;font-weight:800}.site-branded .site-footer-inner{max-width:1180px;margin:auto;padding:28px 20px;text-align:center}a:focus-visible,button:focus-visible{outline:3px solid #0a5e93;outline-offset:4px}
.site-branded .site-laundry-photo-showcase{background:linear-gradient(145deg,#f7fcf8,#fff,#eef8f2);border:1px solid #cfe5d5;overflow:visible}.site-branded .site-laundry-photo-showcase h2{margin-top:0;font-size:clamp(28px,4vw,38px)}.site-branded .site-laundry-photo-showcase>div{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;min-width:0}.site-branded .site-laundry-photo-showcase figure{display:block;margin:0!important;width:auto;background:#fff;border:1px solid #d5e6dc;border-radius:14px;padding:9px;box-shadow:0 8px 20px rgba(17,61,40,.10)}.site-branded .site-laundry-photo-showcase figure img{display:block!important;width:100%;height:280px;object-fit:contain;background:#f7faf8;border-radius:10px}.site-branded .site-laundry-photo-showcase figure::before,.site-branded .site-laundry-photo-showcase figure::after{display:none!important;content:none!important}.site-branded .site-laundry-photo-showcase figcaption{padding:8px 3px 1px;color:#075c34;font-weight:800}.site-branded .site-city-laundry-search{background:linear-gradient(145deg,#fff,#f4fbf7);border:1px solid #cfe4d7;border-radius:18px;box-shadow:0 14px 34px rgba(16,62,42,.08)}.site-branded .site-city-laundry-search>h2{margin-top:0;font-size:clamp(27px,4vw,36px)}.site-branded .site-city-laundry-search>p{color:#3f5e50}.site-branded .site-city-laundry-search .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.site-branded .site-city-laundry-search .card{padding:18px;background:#fff;border:1px solid #d8e8df;border-radius:14px;box-shadow:0 8px 20px rgba(17,61,40,.07)}.site-branded .site-city-laundry-search .card h3{margin-top:0;color:#075c34}.site-branded .site-city-laundry-search .note{margin-top:16px;padding:15px;background:#eaf8f0;border-left:5px solid #087443;border-radius:9px}
@media(max-width:850px){.site-brand-row{justify-content:center;text-align:center}.site-hours{width:100%}.site-hero-grid{grid-template-columns:1fr}.site-hero-art{order:-1}.site-hero-art img{max-width:330px;max-height:480px}.site-branded .site-hero{padding:34px 20px}}@media(max-width:520px){.site-brand-row{padding:12px 16px;gap:10px}.site-header .site-brand-logo{width:76px;height:76px}.site-brand-copy{min-width:180px}.site-header .site-brand-name{font-size:23px}.site-header .site-tagline,.site-hours{font-size:13px}.site-nav-inner{gap:12px;padding:10px 16px;font-size:12px}.site-branded .site-hero{padding:24px 16px}.site-hero h1{font-size:32px}.site-hero p{font-size:17px}.site-hero-art img{max-width:260px;max-height:390px}.site-branded input,.site-branded select,.site-branded textarea{max-width:100%}.site-branded .site-request-panel{padding:18px}.site-branded .site-request-grid{grid-template-columns:1fr}.site-branded .site-request-field.full{grid-column:auto}.site-branded .site-request-submit{width:100%}.site-branded .site-laundry-photo-showcase{padding-left:15px;padding-right:15px}.site-branded .site-laundry-photo-showcase>div{grid-template-columns:1fr}.site-branded .site-laundry-photo-showcase figure img{height:auto;max-height:470px}.site-branded .site-city-laundry-search{padding:18px}}
/* Real premium washer/dryer hero rotation from the recovered numbered photo batch. 36 real sets are used before reuse. */
/* Continue city-by-city using the same recovered real-set library after all 36 cells have been used once. */

/* Full-resolution laundry city hero override 2026-09-20 */
body.site-branded:has(form input[name="city"]) .site-hero-art:has(img[src*="/assets/laundry/original-user-heroes/"]){background:none!important;aspect-ratio:auto!important;overflow:visible!important;width:auto!important;box-shadow:none!important}
body.site-branded:has(form input[name="city"]) .site-hero-art img[src*="/assets/laundry/original-user-heroes/"]{opacity:1!important;display:block!important;position:static!important;inset:auto!important;width:min(420px,100%)!important;height:auto!important;max-width:100%!important;max-height:560px!important;object-fit:contain!important;border-radius:16px!important;background:#fff!important;box-shadow:0 12px 28px rgba(0,61,96,.12)!important;pointer-events:auto!important}
@media(max-width:850px){body.site-branded:has(form input[name="city"]) .site-hero-art img[src*="/assets/laundry/original-user-heroes/"]{max-width:330px!important;max-height:480px!important}}
@media(max-width:520px){body.site-branded:has(form input[name="city"]) .site-hero-art img[src*="/assets/laundry/original-user-heroes/"]{max-width:260px!important;max-height:390px!important}}

/* Disable sprite heroes globally; show each page's assigned image 2026-09-20 */
body.site-branded:has(form input[name="city"]) .site-hero-art.site-hero-art{background-image:none!important;background-color:transparent!important;aspect-ratio:auto!important;overflow:visible!important;width:auto!important;box-shadow:none!important}
body.site-branded:has(form input[name="city"]) .site-hero-art.site-hero-art img{opacity:1!important;display:block!important;position:static!important;inset:auto!important;width:min(420px,100%)!important;height:auto!important;max-width:100%!important;max-height:560px!important;object-fit:contain!important;border-radius:16px!important;background:#fff!important;box-shadow:0 12px 28px rgba(0,61,96,.12)!important;pointer-events:auto!important}
@media(max-width:850px){body.site-branded:has(form input[name="city"]) .site-hero-art.site-hero-art img{max-width:330px!important;max-height:480px!important}}
@media(max-width:520px){body.site-branded:has(form input[name="city"]) .site-hero-art.site-hero-art img{max-width:260px!important;max-height:390px!important}}

/* priority-mobile-cta-v1 */
.priority-mobile-cta{display:none}
@media(max-width:760px){
 body.has-priority-mobile-cta,body:has(.priority-mobile-cta){padding-bottom:calc(72px + env(safe-area-inset-bottom, 0px))}
 .priority-mobile-cta{padding-bottom:env(safe-area-inset-bottom, 0px);
position:fixed;left:0;right:0;bottom:0;z-index:9999;display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:#17352a;box-shadow:0 -4px 18px rgba(0,0,0,.18)}
 .priority-mobile-cta a{display:flex;align-items:center;justify-content:center;min-height:58px;padding:9px 6px;text-align:center;text-decoration:none;font:800 13px/1.2 Arial,Helvetica,sans-serif;background:#075c34;color:#fff!important}
 .priority-mobile-cta a:nth-child(2){background:#087443}
 .priority-mobile-cta a:nth-child(3){background:#17352a}
}

/* photo-first-intake-v1 */
.site-branded .site-photo-first-intake{margin:0 0 18px;padding:16px 18px;background:#eef8f2;border:1px solid #c9e8ce;border-left:5px solid #087443;border-radius:12px}
.site-branded .site-photo-first-intake strong{display:block;color:#063f70;font-size:18px}
.site-branded .site-photo-first-intake p{margin:6px 0 10px;color:#31566f}
.site-branded .site-photo-text-button{display:inline-block;padding:10px 15px;border-radius:999px;background:#087443;color:#fff!important;text-decoration:none;font-weight:800}
.site-branded .site-photo-link-field{display:block;margin:14px 0;font-weight:800;color:#063f70}
.site-branded .site-photo-link-field input{display:block;width:100%;margin-top:6px;padding:12px 13px;border:1px solid #bcd3c3;border-radius:10px;background:#fff;font:inherit}
@media(max-width:520px){.site-branded .site-photo-first-intake{padding:14px}.site-branded .site-photo-text-button{display:block;text-align:center}}

/* request-next-steps-v1 */
.site-branded .site-request-next-steps{margin:0 0 18px;padding:18px;background:#fff;border:1px solid #d7e5dc;border-radius:14px}
.site-branded .site-request-next-steps h3{margin:0 0 12px}
.site-branded .site-request-next-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.site-branded .site-request-next-grid>div{padding:12px;background:#f7fbf8;border:1px solid #d8e8df;border-radius:10px}
.site-branded .site-request-next-grid strong,.site-branded .site-request-next-grid span{display:block}
.site-branded .site-request-next-grid span{margin-top:4px;color:#49677a;font-size:14px}
@media(max-width:650px){.site-branded .site-request-next-grid{grid-template-columns:1fr}}
