:root{--navy:#092e45;--pink:#f43c80;--softpink:#ffdaea;--blue:#e9faff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--navy);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}.topbar{min-height:46px;padding:8px max(24px,5%);background:#ffd5e3;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;font-weight:700}.topbar span:first-child{font-family:Kalam,cursive;font-size:19px}.topbar a{background:var(--navy);color:#fff;padding:9px 20px;border-radius:30px;font-size:12px}header{padding:20px 6%;display:flex;justify-content:space-between;align-items:center;background:#fff;gap:24px}.brand{display:flex;flex-direction:column;width:max-content}.brand b{font-size:clamp(27px,3.5vw,46px);letter-spacing:-2px;line-height:1;color:#092e45;text-shadow:2px 3px #ff8eb5;transform:rotate(-2deg)}.brand small{font-family:Kalam,cursive;font-size:18px;border-bottom:2px solid var(--pink);transform:rotate(-3deg);text-align:center}nav{display:flex;gap:36px;font-family:Kalam,cursive;font-size:20px}nav a:hover,nav a:focus{color:var(--pink)}.menu{display:none}.hero{background:linear-gradient(90deg,#f9fdff 0%,#fff 55%,#fff2f7 100%);display:grid;grid-template-columns:47% 35% 18%;align-items:center;min-height:440px;overflow:hidden}.hero-copy{text-align:center;padding:35px 0 35px 7%;z-index:1}.hero h1{margin:0;font-family:Kalam,cursive;line-height:1.06}.hero h1 span{display:block;font-size:clamp(29px,3.5vw,52px);font-weight:700;transform:rotate(-3deg)}.hero h1 strong{display:block;color:var(--pink);font-family:Pacifico,cursive;font-size:clamp(40px,4.6vw,70px);font-weight:400;white-space:nowrap;transform:rotate(-3deg);margin:7px 0 20px}.hero p{font-size:18px;font-weight:700;margin:0}.script{font-family:Pacifico,cursive}.pink{color:var(--pink)}.hero .script{font-size:clamp(24px,2.7vw,39px);margin:8px 0 30px;transform:rotate(-3deg)}.cta{display:inline-block;background:var(--pink);color:white;border-radius:40px;padding:17px 26px;font-size:16px;font-weight:800;box-shadow:0 4px 0 #cf2867;transition:transform .2s}.cta:hover{transform:translateY(-3px)}.hero-art img{width:120%;max-width:none;display:block;mix-blend-mode:multiply}.laundry-side img{height:370px;width:100%;object-fit:cover;object-position:right}.features{background:var(--blue);display:grid;grid-template-columns:repeat(5,1fr);padding:20px 4%;gap:0}.features>div{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 8px;border-right:1px solid #b7d8e7}.features>div:last-child{border:0}.features span{font-size:42px;line-height:1.3}.features b{font-size:15px;letter-spacing:1px}.features small{font-size:13px;margin-top:4px}.why{display:grid;grid-template-columns:40% 34% 26%;align-items:center;gap:0;padding:20px 3%}.photo img{width:100%;border-radius:10px;display:block}.why>div:nth-child(2){padding:0 24px}.why h2,.pricing h2,.how h2,.faq h2,.contact h2{font-family:Kalam,cursive;font-size:clamp(28px,3vw,40px);margin:0 0 12px;line-height:1.2}.why ul{list-style:none;padding:0;margin:0}.why li{font-size:14px;font-weight:600;margin:12px 0}.why>div:nth-child(2) li:before{content:'♥';color:var(--pink);margin-right:10px}.services{background:#ffe1ed;border-radius:45% 35% 40% 28%;padding:25px 25px 10px;text-align:center}.services h2{transform:rotate(-8deg)}.services li{margin:7px}.services li:before{content:'✓';color:var(--pink);font-size:22px;margin-right:10px}.ink{display:inline-block;background:var(--navy);color:white;font-size:16px;font-weight:800;padding:15px 28px;transform:rotate(-7deg);clip-path:polygon(3% 8%,95% 0,100% 85%,7% 100%,0 60%)}.services .ink{margin:20px 0 -30px}.pricing{background:linear-gradient(95deg,#ffdbe9,#ffe7ef 62%,#f9f0f5);padding:28px 5%;display:grid;grid-template-columns:32% 38% 30%;align-items:center;gap:10px}.pricing p{margin:5px 0}.price{font-size:42px;font-weight:800}.price em{font:26px Kalam,cursive}.pill{display:inline-block;background:var(--pink);color:white;padding:8px 20px;border-radius:30px;font-size:14px}.pricing small{display:block;font-size:11px;margin-top:9px}.bulky{border:1px solid #f5a8c6;border-radius:12px;padding:20px;background:#fff7fa}.bulky h3{margin:0}.pricing-cta{text-align:center}.pricing-cta .cta{display:block;width:max-content;margin:25px auto 0}.how,.faq{padding:65px 6%;text-align:center}.how{background:#f0fbff}.sub{margin-top:0}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:28px}.steps article{background:white;border-radius:18px;padding:25px 18px;box-shadow:0 4px 14px #c8e8f355}.steps span{font:35px Pacifico,cursive;color:var(--pink)}.steps h3{margin:8px 0}.steps p{font-size:14px;line-height:1.6}.faq{max-width:920px;margin:auto}.faq details{text-align:left;border-bottom:1px solid #e7c6d5;padding:18px}.faq summary{font-weight:800;cursor:pointer}.faq details p{line-height:1.6}.contact{background:#ffe1ed;padding:55px 8%;display:flex;justify-content:space-between;align-items:center;gap:25px}.contact .eyebrow{letter-spacing:2px;font-weight:800;font-size:12px}.contact h2{font-size:45px}.note{font-size:13px;background:#fff;padding:12px 16px;border-radius:10px;margin-top:20px}.contact-art{font-size:80px;display:flex;align-items:center;gap:18px}.contact-art span{font:28px Kalam,cursive}footer{background:var(--navy);color:white;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;padding:30px 6%}footer .brand b{color:white;font-size:30px}footer .brand small{font-size:13px}.footer-script{font:20px Kalam,cursive}footer>small{width:100%;text-align:center;opacity:.7}
@media(max-width:900px){.topbar span:nth-child(2){display:none}nav{gap:14px}.hero{grid-template-columns:55% 45%}.laundry-side{display:none}.hero-art img{width:100%}.why{grid-template-columns:1fr 1fr}.services{grid-column:1/-1;border-radius:24px;margin-top:20px}.pricing{grid-template-columns:1fr 1fr}.pricing-cta{grid-column:1/-1}}@media(max-width:640px){.topbar{font-size:12px}.topbar span:first-child{font-size:13px}.topbar a{padding:8px 10px;font-size:10px}header{padding:18px 5%}.brand b{font-size:31px}.brand small{font-size:14px}.menu{display:block;border:0;background:var(--pink);color:white;border-radius:8px;font-size:23px;padding:5px 12px}nav{display:none;position:absolute;top:117px;left:0;right:0;z-index:4;background:white;box-shadow:0 10px 20px #0002;padding:20px;flex-direction:column;text-align:center}nav.open{display:flex}.hero{display:flex;flex-direction:column}.hero-copy{padding:35px 15px 10px}.hero h1 span{font-size:34px}.hero h1 strong{font-size:46px;white-space:normal}.hero-art{max-width:360px}.hero-art img{width:100%}.features{grid-template-columns:repeat(3,1fr);gap:20px 0}.features>div:nth-child(3){border:0}.features span{font-size:30px}.features b{font-size:12px}.features small{font-size:11px}.why{grid-template-columns:1fr;padding:25px 6%;gap:25px}.why>div:nth-child(2){padding:0}.services{grid-column:auto;margin:0}.pricing{grid-template-columns:1fr;padding:30px 7%;gap:25px}.pricing-cta{grid-column:auto}.steps{grid-template-columns:1fr 1fr}.how,.faq{padding:45px 6%}.contact{flex-direction:column;align-items:flex-start}.contact h2{font-size:35px}.contact-art{font-size:50px}footer{flex-direction:column;text-align:center;align-items:center}}

.pickup-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:660px;margin-top:20px}
.pickup-form label{display:flex;flex-direction:column;gap:5px;font-weight:700;font-size:14px}
.pickup-form input,.pickup-form select,.pickup-form textarea{border:1px solid #aebec8;border-radius:10px;padding:12px;background:white;color:#092d44;font:inherit;min-width:0}
.pickup-form label:has(textarea),.pickup-form .note{grid-column:1/-1}
.pickup-form button{border:0;cursor:pointer;font:inherit;font-weight:800}
.pickup-form .note{font-size:13px}
@media(max-width:640px){.pickup-form{grid-template-columns:1fr}}

.booking-total{grid-column:1/-1;background:#f7ecf4;border:2px solid #f4d1e5;border-radius:16px;padding:16px 20px;display:flex;align-items:center;flex-wrap:wrap;gap:12px}.booking-total strong{font-size:2rem;color:#0b354b}.booking-total small{flex-basis:100%;color:#526474}.booking-total span{font-weight:700}.pickup-form select{width:100%}

.policies{padding:68px max(5vw,20px);background:#f7f9ff;color:#17354a}.policies h2{text-align:center}.policies>.sub{text-align:center;max-width:760px;margin:10px auto 30px}.policies details{background:white;border:1px solid #e0e6f0;border-radius:14px;padding:17px 20px;margin:12px auto;max-width:900px}.policies summary{font-weight:800;cursor:pointer}.policies details p{line-height:1.65;margin:12px 0 0}.policies .policy-note{max-width:900px;margin:24px auto 0;font-size:14px}.pickup-form .policy-consent{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5}.pickup-form .policy-consent input{width:20px;min-width:20px;height:20px;margin-top:3px}.pickup-form .policy-consent a{color:#1c5c87;text-decoration:underline}
/* Centered, responsive hero branding. The original artwork included lettering
   cut off inside the image itself; the full business name is now real text. */
.hero-art { width:100%; min-width:0; max-width:470px; margin-inline:auto; text-align:center; padding:12px 14px 22px; overflow:hidden; }
.hero-art img { display:block; width:100%; max-width:410px; height:auto; margin:0 auto; mix-blend-mode:multiply; }
.hero-logo-name { font-family:'DM Sans',Arial,sans-serif; font-weight:800; font-size:clamp(29px,4vw,49px); letter-spacing:-1.5px; line-height:1.05; color:#092e45; text-shadow:2px 3px #ff94b8; white-space:nowrap; }
.hero-logo-tag { font-family:Kalam,cursive; font-size:clamp(18px,2.4vw,27px); color:#092e45; border-bottom:3px solid #f43c80; display:inline-block; }
@media(max-width:640px) {
 .hero { width:100%; overflow:hidden; }
 .hero-art { width:100%; max-width:390px; margin:0 auto; padding:0 18px 24px; }
 .hero-art img { width:100%; max-width:340px; margin:0 auto; }
 .hero-logo-name { font-size:clamp(31px,9vw,43px); }
 .hero-logo-tag { font-size:clamp(19px,5vw,25px); }
}

/* Mobile hero cleanup: keep the artwork fully within the viewport */
.hero-art { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; }
.hero-art img { max-width:300px; width:100%; object-fit:contain; }
.hero-logo-name { font-size:clamp(26px,7.8vw,38px); letter-spacing:-1px; margin-top:4px; }
.hero-logo-tag { font-size:clamp(16px,4.7vw,22px); }
@media(max-width:640px) {
 .hero-art { max-width:100%; padding:16px 24px 30px; gap:8px; }
 .hero-art img { width:min(100%,290px); max-width:290px; }
 .hero-logo-name { font-size:clamp(26px,7.8vw,36px); white-space:nowrap; }
 .hero-logo-tag { font-size:clamp(16px,4.5vw,21px); }
}

/* Original artwork, untouched and completely visible at every screen width. */
.hero-art { width:100%; max-width:430px; margin:0 auto; padding:12px 18px 24px; overflow:visible; display:block; text-align:center; }
.hero-art img { display:block; width:100%; max-width:394px; height:auto; margin:0 auto; object-fit:contain; mix-blend-mode:normal; }
@media(max-width:640px) { .hero-art { width:100%; max-width:420px; padding:8px 18px 24px; overflow:visible; } .hero-art img { width:100%; max-width:380px; height:auto; object-fit:contain; } }

/* Desktop-only: close the blank strip between the original van artwork and
   the folded-laundry photo. Do not crop, replace, or alter the logo image. */
@media (min-width: 901px) {
  .hero { grid-template-columns: 42% 40% 18%; column-gap: 0; }
  .hero-art { width: 100%; max-width: none; margin: 0; padding: 0; overflow: visible; }
  .hero-art img { display: block; width: 100%; max-width: none; height: auto; object-fit: contain; margin: 0; }
  .laundry-side { align-self: stretch; overflow: hidden; }
  .laundry-side img { display: block; width: 100%; height: 100%; min-height: 440px; object-fit: cover; object-position: center; }
}

/* Weather notice below FAQs */
.weather-notice{margin:24px auto 0;padding:20px 24px;border:1px solid rgba(9,45,68,.18);border-left:5px solid #e59ab2;border-radius:14px;background:#fffafc;max-width:850px}.weather-notice h3{margin:0 0 8px;color:#092d44;font-size:1.15rem}.weather-notice p{margin:0;line-height:1.65;color:#263e4c}

/* Business laundry invitation */
.business-laundry{max-width:1080px;margin:30px auto 52px;padding:36px 32px;text-align:center;background:#fff8fb;border:1px solid #f0dce5;border-radius:22px;box-shadow:0 8px 28px rgba(9,45,68,.05)}
.business-laundry .business-eyebrow{font-size:.8rem;letter-spacing:.15em;font-weight:800;color:#b25a7c;margin:0 0 10px}
.business-laundry h2{margin:0 0 14px;color:#092d44;font-size:clamp(1.6rem,3vw,2.35rem)}
.business-laundry p{max-width:760px;margin:0 auto 12px;line-height:1.7;color:#263e4c}
.business-laundry .business-note{font-size:.94rem}
.business-laundry .business-link{display:inline-block;margin-top:12px;padding:12px 22px;background:#092d44;color:white;text-decoration:none;border-radius:30px;font-weight:700}
.business-laundry .business-link:hover,.business-laundry .business-link:focus{background:#b25a7c}
@media(max-width:700px){.business-laundry{margin:22px 16px 36px;padding:28px 20px}}

.booking-feedback{padding:1.2rem;margin-top:1.4rem;border-radius:18px;font-weight:700;line-height:1.65;background:#fff0f7;color:#63324d;border:2px solid #ef93c2}.booking-error{background:#fff2ee;border-color:#da7b69;color:#833629}.booking-success{background:#eef9f3;border-color:#6ea88e;color:#205b44}.pickup-form button:disabled{opacity:.6;cursor:wait}

/* Weekly Laundry Club: standing-spot requests are handled personally. */
.weekly-club{padding:48px 22px;background:#fff2f7;text-align:center;color:#233c49}.weekly-club-inner{max-width:850px;margin:0 auto;border:2px solid #edacc8;border-radius:26px;background:#fff;padding:34px 32px;box-shadow:0 12px 35px rgba(70,38,55,.07)}.weekly-club h2{font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.15;margin:10px 0 18px;color:#923e68}.weekly-club .club-lead{font-size:1.12rem;line-height:1.6}.club-perks{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0;text-align:left}.club-perks span{background:#fff1f7;border-radius:13px;padding:13px 16px;font-weight:650}.weekly-club p{line-height:1.65}.weekly-club .cta{display:inline-block;margin:16px 0 4px;text-decoration:none}.weekly-club .club-fine{font-size:.86rem;color:#59616a;margin-top:12px}@media(max-width:700px){.weekly-club{padding:25px 13px}.weekly-club-inner{padding:25px 17px}.club-perks{grid-template-columns:1fr}}
