/* Marshall Plumbing website: shared page styles. Components (buttons, cards, form, FAQ, footer) come from ds/mps/components/bundle.css. */
body{margin:0;background:#ffffff}
a{color:#0073ab}a:hover{color:#005f8e}
.wrap{max-width:1200px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));box-sizing:border-box}
.sec{padding-block:64px}
.mps-footer-inner{padding-top:40px}
.h2{font-size:40px;line-height:46px;font-weight:800}
.lead{font-size:18px;line-height:28px}
.stack{display:flex;flex-direction:column;gap:14px;min-width:0}
.head-block{display:flex;flex-direction:column;gap:14px;max-width:720px}
.btns{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.muted{color:#5c6670}
.arrow{width:16px;height:16px}

/* Top bar and header */
.topbar{background:#eaf5fa;border-bottom:1px solid #d3e3ee;font-size:14px;line-height:20px;color:#13213b}
.topbar-inner{display:flex;flex-wrap:wrap;gap:6px 24px;align-items:center;justify-content:space-between;padding-block:9px}
.topbar a{font-weight:700;color:#0073ab;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.topbar a svg{width:16px;height:16px}
.mps-nav{gap:24px}
.hdr-right{display:flex;align-items:center;gap:10px}
.menu-btn{display:none;width:48px;height:48px;border-radius:999px;border:2px solid #13213b;background:#ffffff;color:#13213b;align-items:center;justify-content:center;cursor:pointer;padding:0}
.menu-btn svg{width:22px;height:22px}
.m-nav{display:none}

/* Home */
.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,0.85fr);gap:56px;align-items:center}
.hero-koala{position:absolute;left:-2%;bottom:-3%;width:30%;max-width:150px;height:auto;z-index:2;filter:drop-shadow(0 10px 18px rgba(19,33,59,0.18))}
.hero-bubble{position:absolute;left:24%;bottom:30%;z-index:3;background:#ffffff;color:#13213b;font-family:Montserrat,sans-serif;font-weight:800;font-size:15px;line-height:20px;padding:10px 14px;border-radius:14px 14px 14px 4px;box-shadow:0 8px 20px rgba(19,33,59,0.14);white-space:nowrap}
.paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.path{display:flex;flex-direction:column;gap:10px;padding:24px;background:#ffffff;border:1px solid #d3e3ee;border-radius:12px;text-decoration:none;color:#404041;transition:border-color .2s,box-shadow .2s}
.path:hover{border-color:#008ccf;box-shadow:0 16px 40px rgba(19,33,59,0.12)}
.path-icon{width:48px;height:48px;border-radius:50%;background:#eaf5fa;color:#0073ab;display:grid;place-items:center}
.path-icon svg{width:24px;height:24px}
.path h3{font-size:20px;line-height:26px}
.path p{font-size:15px;line-height:24px;color:#5c6670}
.path-link{font-family:Montserrat,sans-serif;font-weight:700;font-size:14px;color:#0073ab;display:inline-flex;align-items:center;gap:6px;margin-top:auto}
.path-link svg{width:16px;height:16px}
.promises{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px}
.promise{display:flex;flex-direction:column;gap:10px;padding-top:20px;border-top:2px solid #008ccf}
.promise-num{font-family:Montserrat,sans-serif;font-weight:800;font-size:14px;letter-spacing:.12em;color:#9dcef6}
.promise h3{font-size:19px;line-height:25px}
.promise p{font-size:15px;line-height:24px;color:#c9d4de}
.mps-service-icon svg{width:28px;height:28px;color:#0073ab}
.b2b-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.gets{list-style:none;margin:0;padding:24px 28px;display:grid;gap:14px;background:#ffffff;border:1px solid #d3e3ee;border-radius:12px}
.gets li{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:24px;color:#13213b;font-weight:600}
.gets svg{width:22px;height:22px;flex:none;color:#008ccf;margin-top:1px}
.sectors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.sector{display:flex;flex-direction:column;gap:8px;padding:22px;background:#ffffff;border:1px solid #d3e3ee;border-radius:12px;text-decoration:none;color:#404041}
a.sector:hover{border-color:#008ccf}
.sector h3{font-size:18px;line-height:24px}
.sector p{font-size:15px;line-height:24px;color:#5c6670}
.why-grid{display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);gap:64px;align-items:center}
.reasons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px}
.reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.wild-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.book-grid{display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);gap:56px;align-items:start}
.faq-grid{display:grid;grid-template-columns:minmax(0,0.7fr) minmax(0,1.3fr);gap:56px;align-items:start}
.expect2{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
.mobile-call{display:none}
.spot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.spot-grid img{width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;border-radius:16px;display:block}

/* Inner pages */
.crumbs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:14px;line-height:20px;color:#5c6670}
.crumbs a{color:#0073ab;text-decoration:none;font-weight:600}
.crumbs span[aria-hidden]{color:#7c8a96}
.page-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,0.8fr);gap:56px;align-items:center}
.page-h1{font-size:48px;line-height:54px;font-weight:800;letter-spacing:-0.01em}
.hero-photo{width:100%;max-width:380px;margin:0 auto;position:relative}
.hero-icon{width:72px;height:72px;border-radius:50%;background:#ffffff;box-shadow:inset 0 0 0 1px #d3e3ee;display:grid;place-items:center}
.hero-icon img{width:60px;height:60px}
.hero-icon svg{width:34px;height:34px;color:#0073ab}
.cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.cards2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.card{display:flex;flex-direction:column;gap:8px;padding:24px;background:#ffffff;border:1px solid #d3e3ee;border-radius:12px;min-width:0}
.card h3{font-size:19px;line-height:25px}
.card p{font-size:15px;line-height:24px;color:#5c6670}
a.card{text-decoration:none;color:#404041;transition:border-color .2s,box-shadow .2s}
a.card:hover{border-color:#008ccf;box-shadow:0 16px 40px rgba(19,33,59,0.12)}
.card-link{font-family:Montserrat,sans-serif;font-weight:700;font-size:14px;color:#0073ab;display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:4px}
.card-link svg{width:16px;height:16px}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;counter-reset:step}
.step{display:flex;flex-direction:column;gap:8px;padding-top:18px;border-top:2px solid #008ccf}
.step-num{font-family:Montserrat,sans-serif;font-weight:800;font-size:14px;letter-spacing:.12em;color:#0073ab}
.step h3{font-size:18px;line-height:24px}
.step p{font-size:15px;line-height:24px;color:#404041}
.mps-dark .step-num{color:#9dcef6}
.mps-dark .step p{color:#c9d4de}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.split-center{align-items:center}
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ticks li{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:24px;color:#13213b;font-weight:600}
.ticks svg{width:22px;height:22px;flex:none;color:#008ccf;margin-top:1px}
.brand-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.brand{display:flex;flex-direction:column;gap:6px;padding:20px;border:1px solid #d3e3ee;border-radius:12px;background:#ffffff}
.brand strong{font-family:Montserrat,sans-serif;font-size:20px;line-height:26px;color:#13213b;font-weight:800}
.brand span{font-size:14px;line-height:22px;color:#5c6670}
.brand-first{border-color:#008ccf;box-shadow:inset 0 0 0 1px #008ccf}
.quote{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:24px;align-items:start;padding:32px;background:#ffffff;border:1px solid #d3e3ee;border-radius:24px}
.quote-mark{font-family:Montserrat,sans-serif;font-weight:800;font-size:72px;line-height:56px;color:#008ccf}
.quote blockquote{margin:0;font-size:20px;line-height:32px;color:#13213b}
.quote figcaption{margin-top:14px;font-size:14px;line-height:20px;color:#5c6670}
.quote figcaption strong{color:#13213b}
.note{display:flex;gap:12px;align-items:flex-start;padding:18px 20px;background:#eaf5fa;border-radius:12px;font-size:15px;line-height:24px;color:#13213b}
.note svg{width:22px;height:22px;flex:none;color:#0073ab;margin-top:1px}
.ph{display:flex;flex-direction:column;gap:8px;padding:22px;border:2px dashed #7c8a96;border-radius:12px;background:#ffffff}
.ph-tag{align-self:flex-start;font-family:Montserrat,sans-serif;font-size:11px;line-height:14px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#13213b;background:#f2b705;border-radius:999px;padding:4px 10px}
.ph h3{font-size:18px;line-height:24px}
.ph p{font-size:15px;line-height:24px;color:#5c6670}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.fact{display:flex;flex-direction:column;gap:8px;padding:24px;background:#ffffff;border-radius:12px;border:1px solid #d3e3ee}
.fact h3{font-size:18px;line-height:24px}
.fact p{font-size:15px;line-height:24px;color:#404041}
.links-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 24px}
.links-list a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;padding:0 18px;border:1px solid #d3e3ee;border-radius:12px;background:#ffffff;font-family:Montserrat,sans-serif;font-weight:700;font-size:15px;color:#13213b;text-decoration:none}
.links-list a:hover{border-color:#008ccf}
.links-list svg{width:16px;height:16px;color:#0073ab;flex:none}
.area-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.contact-grid{display:grid;grid-template-columns:minmax(0,0.8fr) minmax(0,1.2fr);gap:56px;align-items:start}
.contact-list{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.contact-list li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start}
.contact-ic{width:44px;height:44px;border-radius:50%;background:#eaf5fa;color:#0073ab;display:grid;place-items:center}
.contact-ic svg{width:22px;height:22px}
.contact-list strong{display:block;font-family:Montserrat,sans-serif;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#13213b}
.contact-list span,.contact-list a{font-size:17px;line-height:26px}
.map-ph{aspect-ratio:16/9;border-radius:24px;border:2px dashed #7c8a96;background:#eaf5fa;display:grid;place-items:center;text-align:center;padding:24px;color:#13213b;font-weight:600}
.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.post{display:flex;flex-direction:column;gap:10px;padding:24px;background:#ffffff;border:1px solid #d3e3ee;border-radius:12px}
.post-tag{font-family:Montserrat,sans-serif;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#0073ab}
.post h3{font-size:19px;line-height:26px}
.post p{font-size:15px;line-height:24px;color:#5c6670}
.perks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.staff-quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.redir{width:100%;border-collapse:collapse;font-size:14px;line-height:20px}
.redir th{text-align:left;font-family:Montserrat,sans-serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#13213b;background:#eaf5fa;padding:10px 12px;border-bottom:2px solid #d3e3ee}
.redir td{padding:9px 12px;border-bottom:1px solid #d3e3ee;vertical-align:top;color:#404041}
.redir code{font-family:ui-monospace,Menlo,monospace;font-size:13px;color:#13213b}
.tag{display:inline-block;font-family:Montserrat,sans-serif;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border-radius:999px}
.tag-keep{background:#e3f2e8;color:#1d5e33}
.tag-301{background:#eaf5fa;color:#005f8e}
.tag-new{background:#fff4d6;color:#6b4e00}
.tbl-box{overflow-x:auto;border:1px solid #d3e3ee;border-radius:12px;background:#ffffff}

@media (max-width:1080px){.promises{grid-template-columns:repeat(3,minmax(0,1fr))}.sectors,.area-grid,.perks,.brand-row{grid-template-columns:repeat(2,minmax(0,1fr))}.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.links-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){
.hero-grid,.why-grid,.wild-grid,.book-grid,.faq-grid,.b2b-grid,.page-hero,.split,.contact-grid{grid-template-columns:minmax(0,1fr);gap:40px}
.paths,.cards3,.facts,.post-grid,.staff-quotes{grid-template-columns:minmax(0,1fr);gap:12px}
.reviews{grid-template-columns:minmax(0,1fr)}
.sec{padding-block:56px}
.hero-media{max-width:300px !important;margin:0 auto}
.hero-photo{max-width:260px}
.hero-koala{max-width:96px;bottom:-6%}
.hero-bubble{font-size:13px;bottom:24%}
.mobile-call{display:flex;gap:10px;position:sticky;bottom:0;z-index:5;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:#ffffff;box-shadow:0 -8px 24px rgba(19,33,59,0.12)}
}
@media (max-width:860px){
.menu-btn{display:inline-flex}
.m-nav{display:grid;border-bottom:1px solid #d3e3ee;background:#ffffff}
.m-nav a{display:flex;align-items:center;min-height:52px;padding:0 16px;border-top:1px solid #eaf5fa;font-family:Montserrat,sans-serif;font-weight:700;font-size:16px;color:#13213b;text-decoration:none}
.mps-header-inner{padding:10px 16px}
.topbar-inner{justify-content:center;text-align:center}
.topbar-loc{display:none}
}
@media (max-width:640px){
.hero-h1{font-size:36px !important;line-height:42px !important}
.page-h1{font-size:34px;line-height:40px}
.h2{font-size:28px;line-height:34px}
.lead{font-size:17px;line-height:27px}
.promises{grid-template-columns:minmax(0,1fr);gap:20px}
.sectors,.area-grid,.perks,.brand-row,.cards2,.steps,.links-list{grid-template-columns:minmax(0,1fr);gap:12px}
.reasons{grid-template-columns:minmax(0,1fr)}
.expect2{grid-template-columns:minmax(0,1fr) !important}
.hero-ctas .mps-btn,.btns .mps-btn{flex:1 1 100%}
.mps-trust{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px;padding:24px 16px}
.mps-trust-item{align-items:flex-start;gap:8px;font-size:13px}
.mps-trust-item svg{width:24px;height:24px}
.trust-badge{grid-column:1/-1;align-items:center;justify-content:center;padding-top:16px;border-top:1px solid #d3e3ee}
.trust-badge img{height:48px}
.gets{padding:20px}
.mps-form{padding:20px}
.quote{grid-template-columns:minmax(0,1fr);gap:4px;padding:24px}
.quote blockquote{font-size:18px;line-height:28px}
.quote-mark{font-size:56px;line-height:40px}
}
@media (max-width:560px){
.mps-call-text{display:none}
.mps-call{padding:6px}
.mps-header-logo img{height:56px !important}
}
