/* Serrano Cleaners: a fresh coastal-blue interpretation of the original atelier layout. */
.brand-name{font-size:38px;letter-spacing:-1.4px;font-weight:500}
.brand-place{color:#97503b;font-size:10px;letter-spacing:2px}
.header{padding-block:25px 16px}.nav{gap:30px}.nav a{font-size:12px}
.nav .header-visit{border-color:var(--ink);padding:10px 18px}
.utility{background:#ecf1ee}.utility .wrap{padding-block:9px}.utility a:hover{text-decoration:underline}
.hero{grid-template-columns:1.08fr .92fr;gap:70px;padding-top:45px;padding-bottom:65px;min-height:575px}
.hero h1{font-size:clamp(48px,5.3vw,72px);line-height:1.03;letter-spacing:-2.8px;margin:20px 0 23px}
.hero-copy>p:not(.eyebrow){font-size:15px;line-height:1.85;max-width:460px}
.hero-photo{width:min(100%,440px);justify-self:end;padding-bottom:25px}
.hero-photo>img{height:500px;border-radius:230px 230px 0 0;object-position:center}
.heritage-tag{width:145px;aspect-ratio:1/1;display:flex;flex-direction:column;justify-content:center;align-items:center;left:-20px;bottom:0;padding:15px;background:var(--ink);color:var(--paper);border:0;box-shadow:0 8px 18px rgb(36 61 74 / 12%)}
.heritage-tag strong{font-size:39px;line-height:1.05;letter-spacing:-1px;margin:5px 0}
.heritage-tag span{font-size:9px;line-height:1.5;letter-spacing:1.5px}
.photo-caption{margin-top:10px;padding-left:150px}
.action.primary:hover{background:#34596b}.action.secondary:hover,.text-link:hover{text-decoration:underline}
.service-strip a{font-weight:600}.service-strip small{font-weight:400}
.story{padding-block:80px;gap:80px}.story-photo{height:420px}.story-photo img{filter:saturate(.85)}
.section-heading em{font-weight:400;color:var(--accent)}
.story .section-heading{font-size:clamp(36px,4vw,52px)}
.care-section{padding-block:78px 88px;background:var(--soft)}.services-heading{display:flex;align-items:end;justify-content:space-between;gap:30px}
.services-heading .section-heading{margin-top:14px}.text-link{display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:12px;text-decoration:none;border-bottom:1px solid currentColor}
.care-lead{color:var(--muted);font-size:14px;line-height:1.8;max-width:620px;margin-top:22px}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:44px;border-top:1px solid #bdcbc8}
.service-card{padding:26px 25px 30px 0;min-width:0}.service-card+.service-card{border-left:1px solid #bdcbc8;padding-left:25px}
.service-card:nth-child(3n+1){border-left:0;padding-left:0}.service-card:nth-child(n+4){border-top:1px solid #bdcbc8}
.service-image{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;margin-bottom:21px;filter:saturate(.8)}
.service-card .service-number{display:block;width:auto;font-size:10px;letter-spacing:1.3px;font-weight:600;color:#50676c}
.service-card h3{font:400 25px/1.15 var(--display);letter-spacing:-.4px;margin:18px 0 12px}
.service-card p{font-size:13px;line-height:1.75;color:var(--muted)}
.care-note{border-top:1px solid #bdcbc8;padding-top:22px;color:var(--muted);font-size:13px;line-height:1.8}
.image-disclaimer{display:block;margin-top:8px;font-size:10px;letter-spacing:.2px}
.local-note{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;padding-block:90px}
.local-note .section-heading{margin-top:14px}.local-note>div:last-child{max-width:450px}
.local-note p:not(.eyebrow){font-size:15px;color:var(--muted);line-height:1.9;margin-bottom:15px}
.visit-section{padding-top:75px}.visit-section .section-heading{font-size:clamp(39px,4.4vw,52px)}
.visit-grid{grid-template-columns:1.1fr 1fr .9fr;gap:55px}.visit-small{font-size:13px;line-height:1.8;max-width:240px;opacity:.82;margin-top:18px}
.visit-hours{margin-top:20px}.visit-section .phone{font-size:17px}.visit-section .underline{text-decoration:underline;text-underline-offset:5px;margin-top:14px}
.visit-section .action:hover{background:var(--paper);color:var(--ink);text-decoration:none}
.map-shell{margin-top:48px;border:1px solid rgba(255,255,255,.35)}
#map{height:330px;width:100%;background:#e2ebe9;color:var(--ink)}
.map-fallback{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:25px;text-align:center}
.map-fallback p{font-family:var(--display);font-size:26px}.map-fallback a{text-decoration:underline}
.footer{font-size:10px;letter-spacing:1px}
@media(max-width:1000px){.brand-name{font-size:34px}.hero{gap:36px;min-height:0}.hero-photo>img{height:450px}.story{gap:40px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card:nth-child(n){border-left:0;border-top:0;padding-left:0}.service-card:nth-child(even){border-left:1px solid #bdcbc8;padding-left:25px}.service-card:nth-child(n+3){border-top:1px solid #bdcbc8}.local-note{gap:50px}.visit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}}
@media(max-width:700px){.utility .wrap{justify-content:space-between;gap:8px}.utility{font-size:10px}.header{padding-block:20px 10px}.brand-name{font-size:32px}.nav{gap:10px}.nav a{font-size:11px}.nav .header-visit{padding:8px 10px}.hero{grid-template-columns:1fr;gap:35px;padding-top:28px;padding-bottom:40px}.hero h1{font-size:clamp(42px,10.3vw,62px);letter-spacing:-2px}.hero-photo{width:calc(100% - 14px);margin-left:14px}.hero-photo>img{height:430px}.heritage-tag{width:125px;left:-14px}.heritage-tag strong{font-size:34px}.photo-caption{padding-left:125px}.service-strip a{font-size:11px}.story{grid-template-columns:1fr;gap:28px;padding-block:55px}.story-photo{height:310px}.story .section-heading{font-size:39px}.care-section{padding-block:55px}.services-heading{align-items:start;flex-direction:column;gap:12px}.services-heading .section-heading{font-size:39px}.care-lead{margin-top:12px}.service-grid{margin-top:30px}.service-card{padding-top:22px;padding-right:15px}.service-card:nth-child(even){padding-left:15px}.service-card h3{font-size:23px}.local-note{grid-template-columns:1fr;gap:22px;padding-block:60px}.visit-section{padding-top:55px}.visit-grid{grid-template-columns:1fr;gap:30px}.visit-grid>div:first-child{grid-column:auto}.visit-section .section-heading{font-size:42px}.map-shell{margin-top:35px}#map{height:280px}.footer{line-height:1.7}}
@media(max-width:380px){.brand-name{font-size:28px}.nav{gap:5px}.nav a{font-size:10px}.hero h1{font-size:41px}.hero-photo>img{height:360px}.service-grid{grid-template-columns:1fr}.service-card,.service-card+.service-card,.service-card:nth-child(3){border-left:0;border-top:1px solid #bdcbc8;padding:20px 0}.service-card:first-child{border-top:0}.service-card h3{margin:10px 0}.service-strip a{font-size:10px;padding-inline:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Keep images and text aligned in equal-width service cards at every breakpoint. */
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 26px;border-top:0}
.service-card:nth-child(n){border:0;border-top:1px solid #bdcbc8;padding:26px 0 30px}
@media(max-width:1000px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.service-grid{grid-template-columns:1fr}.service-card:nth-child(n){padding:22px 0 28px}.service-card h3{font-size:25px;margin:12px 0 10px}}
