:root{--blue:#2885c5;--brand:#2885c5;--sky:#6ebaff;--pale:#d7f4ff;--gold:#e29e21;--link:#1d6a9f;--navy:#163d54;--ink:#213c49;--muted:#5d6b71;--cream:#fffdf9;--line:#d6e7ef}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.12;letter-spacing:-.035em}h2{font-size:clamp(30px,3vw,43px);font-weight:600}h3{font-size:22px;font-weight:600}.wrap{max-width:1280px;margin:auto;padding:0 40px}.topbar{background:var(--navy);color:white;font-size:12px;letter-spacing:.02em}.topbar .wrap{display:flex;justify-content:space-between;padding-top:7px;padding-bottom:7px}.site-header{background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #e5eaed}.header{display:flex;justify-content:space-between;align-items:center;height:88px;gap:24px}.logo{width:165px;height:auto}.site-header nav{display:flex;align-items:center;gap:27px;font-size:14px}.site-header nav>a:not(.button):hover,.text-link:hover{color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:var(--blue);color:#fff;padding:15px 24px;border-radius:6px;font-size:15px;font-weight:700;min-height:52px;transition:background .15s}.button:hover{background:#085b93}.button span{font-size:21px;line-height:1}.small{padding:12px 19px;min-height:46px}.site-header button.menu{display:none}.hero{position:relative;min-height:580px;background:var(--cream);overflow:hidden}.hero-photo{position:absolute;width:100%;height:100%;object-fit:cover;object-position:70% 50%}.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,#fffdf9 0%,rgba(255,253,249,.98) 20%,rgba(255,253,249,.91) 32%,rgba(255,253,249,.48) 44%,transparent 60%)}.hero-content{position:relative;padding-top:75px;padding-bottom:68px}.hero-copy{max-width:465px}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:700;color:var(--blue);margin-bottom:20px}h1{font-size:clamp(60px,6vw,83px);font-weight:600;letter-spacing:-.055em;line-height:1.02;color:var(--navy);margin-bottom:26px}h1 span{color:var(--blue)}.intro{font-size:21px;line-height:1.5;margin-bottom:12px}.hero-detail{font-size:14px;color:#465c69;margin-bottom:30px}.actions{display:flex;align-items:center;gap:24px}.text-link{font-size:14px;font-weight:700;display:inline-flex;align-items:center;gap:18px;min-height:44px}.text-link span{font-size:20px}.micro{font-size:12px;margin-top:16px;color:#435965}.check{color:var(--blue);margin-right:7px}.trust{border-bottom:1px solid var(--line)}.trust-inner{display:flex;justify-content:space-around;gap:20px;padding-top:23px;padding-bottom:23px;font-size:14px}.trust-inner>span{display:flex;align-items:center;gap:12px}.trust-icon{font-size:23px;color:var(--blue);font-weight:400}.section{padding-top:86px;padding-bottom:86px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:36px}.section-head .eyebrow{margin-bottom:12px}.section-head>p{font-size:14px;color:var(--muted)}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;padding:28px;min-height:270px;transition:border-color .15s,background .15s}.service:hover{border-color:var(--blue);background:#f6fafd}.featured{background:var(--pale);border-color:var(--pale)}.business{background:var(--cream)}.icon{font-size:33px;line-height:1.2;color:var(--blue);display:block;margin-bottom:27px;font-family:Arial,sans-serif}.card-top{display:flex;align-items:start;justify-content:space-between}.tag{font-size:10px;letter-spacing:.035em;background:#fff;padding:4px 10px;border-radius:4px;color:#526873}.service h3{margin-bottom:13px}.service p{font-size:14px;color:var(--muted);max-width:290px;margin-bottom:22px}.card-link{margin-top:auto;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:700;color:var(--blue)}.card-link b{font-size:21px;font-weight:400}.about{background:var(--cream);padding:76px 0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.team-photo{position:relative;overflow:hidden;border-radius:10px;background:#e5ebe6;align-self:stretch;min-height:490px}.team-photo>img{height:100%;width:100%;object-fit:cover;object-position:center}.photo-caption{position:absolute;bottom:22px;left:22px;right:22px;background:rgba(255,255,255,.95);border-radius:6px;padding:20px 25px;font-size:20px;line-height:1.4}.photo-caption b{font-weight:600;color:var(--blue)}.about-copy>p:not(.eyebrow){color:var(--muted);font-size:15px;margin:23px 0}.benefit{display:flex;gap:18px;margin:25px 0}.benefit>span{color:var(--blue);font-size:12px;padding-top:4px}.benefit h3{font-size:18px;letter-spacing:-.02em;margin-bottom:7px}.benefit p{font-size:14px;color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:60px}.step-number{display:flex;width:43px;height:43px;align-items:center;justify-content:center;border:1px solid #bacfd9;border-radius:50%;color:var(--blue);margin-bottom:23px}.steps h3{font-size:21px;margin-bottom:12px}.steps p{color:var(--muted);font-size:14px}.quote-section{background:var(--pale);padding:58px 0}.quote-layout{display:grid;grid-template-columns:1fr 2fr;gap:60px;align-items:start}.quote-layout>.eyebrow{padding-top:8px}blockquote{margin:0;font-size:27px;line-height:1.5;letter-spacing:-.02em}cite{font-size:13px;font-style:normal;letter-spacing:0;display:block;margin-top:22px;font-weight:700}cite span{font-weight:400;color:var(--muted)}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:90px}.faq>div>p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:320px;margin:20px 0}.questions{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:21px 35px 21px 0;position:relative;font-weight:600;font-size:16px;line-height:1.5}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:4px;color:var(--blue);font-size:23px;top:15px;font-weight:400}details[open] summary:after{content:'−'}details p{font-size:14px;color:var(--muted);padding:0 35px 22px 0}.cta{background:var(--navy);color:white;border-radius:12px;padding:50px 52px;margin-bottom:80px;display:flex;align-items:center;justify-content:space-between;gap:30px}.cta .eyebrow{color:#a9d8f4}.cta h2{font-size:36px}.cta p:not(.eyebrow){font-size:14px;color:#d0dfe6;margin-top:18px}.cta .button{background:white;color:var(--navy);white-space:nowrap}.cta .button:hover{background:#e9f4fa}.site-footer{background:var(--cream);padding-top:54px;font-size:13px;color:var(--muted)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;padding-bottom:48px}.footer-grid h3{font-size:14px;letter-spacing:0;color:var(--ink);margin-bottom:18px}.footer-grid a{display:block;margin:7px 0}.footer-grid p{margin:12px 0}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding-top:20px;padding-bottom:20px;font-size:11px}.skip{position:fixed;top:-100px;background:white;z-index:50;padding:16px}.skip:focus{top:0}:focus-visible{outline:3px solid #0a6eb1;outline-offset:4px}section{scroll-margin-top:15px}
@media(min-width:1600px){.hero-photo{object-position:center 53%}.hero-wash{background:linear-gradient(90deg,#fffdf9,rgba(255,253,249,.93) 30%,transparent 63%)}}
@media(max-width:1100px){.site-header nav{gap:17px;font-size:12px}.wrap{padding-left:28px;padding-right:28px}.logo{width:140px}.hero-copy{max-width:420px}.hero-wash{background:linear-gradient(90deg,#fffdf9 0%,rgba(255,253,249,.98) 27%,rgba(255,253,249,.82) 40%,transparent 66%)}.about-grid{gap:40px}.trust-inner{font-size:12px}.cta{margin-left:28px;margin-right:28px}.faq{gap:50px}}
@media(max-width:800px){.header{height:74px}.site-header button.menu{display:flex;gap:12px;align-items:center;border:1px solid var(--line);background:white;padding:7px 12px;border-radius:5px;font-size:13px;min-height:44px}.site-header nav{display:none;position:absolute;top:74px;left:0;right:0;background:white;padding:18px 28px;box-shadow:0 12px 20px #163d5415;font-size:15px}.site-header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.site-header nav>a{padding:13px 0}.site-header nav>.button{padding:14px 20px;margin-top:8px}.hero{min-height:0;display:flex;flex-direction:column}.hero-photo{position:relative;order:2;height:330px;object-fit:cover;object-position:73% 53%}.hero-wash{display:none}.hero-content{order:1;padding-top:43px;padding-bottom:36px;width:100%}.hero-copy{max-width:540px}h1{font-size:66px}.hero h1 br{display:none}.intro{font-size:20px}.hero-detail{margin-bottom:24px}.hero .eyebrow{font-size:10px}.trust-inner{display:grid;grid-template-columns:1fr;padding-top:17px;padding-bottom:17px;gap:7px;font-size:12px}.trust-icon{font-size:19px;width:24px;text-align:center}.section{padding-top:58px;padding-bottom:58px}.section-head{display:block;margin-bottom:28px}.section-head>p{margin-top:18px}.services{grid-template-columns:repeat(2,1fr)}.service{padding:23px;min-height:275px}.about{padding:50px 0}.about-grid{grid-template-columns:1fr;gap:36px}.team-photo{min-height:0;height:390px}.steps{gap:25px}.steps h3{font-size:18px}.quote-layout{grid-template-columns:1fr;gap:12px}blockquote{font-size:24px}.faq{grid-template-columns:1fr;gap:30px}.faq>div>p:not(.eyebrow){max-width:none}.cta{padding:36px 28px;display:block;margin-bottom:55px}.cta .button{margin-top:28px}.cta h2{font-size:30px}.footer-grid{grid-template-columns:repeat(2,1fr);gap:26px}.process .section-head .text-link{margin-top:16px}}
@media(max-width:500px){.wrap{padding-left:22px;padding-right:22px}.topbar{font-size:10px}.logo{width:138px}.hero-content{padding-top:34px;padding-bottom:29px}h1{font-size:58px;max-width:340px;line-height:1.03}.hero h1 br{display:block}.intro{font-size:18px}.hero-detail{font-size:12px}.actions{gap:12px;flex-wrap:wrap}.actions .button{font-size:14px;padding:14px 20px;gap:22px}.actions .text-link{font-size:12px;gap:8px}.hero-photo{height:290px;object-position:73% 55%}.services{grid-template-columns:1fr;gap:12px}.service{min-height:230px;padding:25px}.icon{margin-bottom:20px}.service p{max-width:none}.section-head h2{max-width:320px}.steps{grid-template-columns:1fr;gap:28px}.steps article{position:relative;padding-left:62px}.step-number{position:absolute;left:0;top:0}.steps p{max-width:270px}.steps h3{font-size:20px}.team-photo{height:360px}.quote-section{padding:38px 0}blockquote{font-size:22px}.cta{margin-left:22px;margin-right:22px;padding:30px 24px}.cta h2{font-size:27px}.footer-grid{gap:30px 18px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{gap:16px;align-items:center}.photo-caption{font-size:18px}h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Native Joomla content and menu integration. */
.component-content{padding-top:45px;padding-bottom:65px;min-height:45vh}.component-content h1{font-size:36px;line-height:1.2;margin:0 0 24px}.component-content h2{font-size:28px;margin:24px 0 16px}.component-content h3{font-size:22px;margin:20px 0 12px}.component-content p{margin-bottom:16px}.component-content a{color:var(--blue);text-decoration:underline}.component-content .btn,.component-content button{min-height:44px}.component-content input:not([type=radio]):not([type=checkbox]):not([type=hidden]),.component-content select,.component-content textarea{max-width:100%}.component-content iframe{max-width:100%}.site-header nav ul{list-style:none;padding:0;margin:0}.site-header nav>ul{display:flex;align-items:center;gap:22px}.site-header nav li{position:relative}.site-header nav li>a,.site-header nav li>span{display:block;padding:12px 0}.site-header nav li>ul{display:none;position:absolute;top:100%;left:0;min-width:210px;background:white;padding:10px 18px;border:1px solid var(--line);border-radius:6px;z-index:30;box-shadow:0 10px 25px #163d5412}.site-header nav li:hover>ul,.site-header nav li:focus-within>ul,.site-header nav li.submenu-open>ul{display:block}.submenu-toggle{background:none;color:var(--blue);border:0;cursor:pointer;min-width:30px;min-height:44px}.site-header nav li:has(>.submenu-toggle){padding-right:32px}.submenu-toggle{position:absolute;right:0;top:0}.site-header nav li>ul ul{position:static;box-shadow:none;border:0;padding-left:14px}.site-header nav .current>a{color:var(--blue)}.alert{margin:15px auto;max-width:1200px;padding:15px 22px;border:1px solid var(--line);background:var(--pale)}
@media(max-width:800px){.site-header nav>ul{display:block}.site-header nav li>ul{position:static;border:0;box-shadow:none;padding:0 0 0 17px}.site-header nav li:hover>ul:not(.submenu-open){display:none}.site-header nav li.submenu-open>ul,.site-header nav li:focus-within>ul{display:block}.component-content{padding-top:30px}.component-content h1{font-size:30px}}

/* HemFresh Spot Palette: accessible text on warm gold actions. */
.topbar{background:var(--pale);color:var(--navy)}
.button{background:var(--gold);color:var(--navy)}
.button:hover{background:var(--gold);box-shadow:0 0 0 3px #2885c533}
.eyebrow,.text-link,.card-link{color:var(--link)}
.trust-icon,.icon,h1 span{color:var(--brand)}
.tag{background:var(--sky);color:var(--navy)}
.business{background:#fff5df}
.about{background:var(--pale)}
.photo-caption b,.benefit>span,.step-number{color:var(--link)}
.cta{background:var(--pale);color:var(--navy);border-top:4px solid var(--sky)}
.cta .eyebrow{color:var(--link)}
.cta p:not(.eyebrow){color:#435965}
.cta .button,.cta .button:hover{background:var(--gold);color:var(--navy)}
.footer-bottom{border-top-color:var(--sky)}
:focus-visible{outline-color:var(--link)}

.component-content a,.site-header nav .current>a{color:var(--link)}


/* Header inspired by the supplied reference: blue contact band, white navigation card. */
.topbar{background:#2885c5;color:#fff;font-size:13px}
.topbar .wrap{min-height:66px;justify-content:flex-start;align-items:center;gap:24px;padding-top:10px;padding-bottom:10px}
.topbar .contact-item{display:inline-flex;gap:10px;align-items:center;white-space:nowrap}
.topbar .contact-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#6ebaff66;color:white;font-size:16px;flex-shrink:0}
.site-header{background:linear-gradient(to bottom,#2885c5 40px,#fff 40px);border:0;padding:0 0 20px;box-shadow:none}
.site-header .header{max-width:1200px;margin:0 auto;height:100px;padding:12px 28px;background:#fff;border-radius:10px;box-shadow:0 8px 24px #163d5410;gap:30px}
.site-header .logo{width:218px;background:transparent;padding:0;border-radius:0}
.site-header nav{gap:22px;font-size:14px}
.site-header nav>a:not(.button),.site-header nav li>a,.site-header nav li>span{color:var(--ink);font-weight:600}
.site-header nav>a:not(.button):hover,.site-header nav li>a:hover{color:var(--link)}
.site-header nav .current>a{color:var(--link)}
.site-header nav .button{color:var(--navy);font-size:13px;padding:12px 17px;gap:18px}
.site-header nav li>ul{background:#fff;border-color:var(--line)}
.site-header .submenu-toggle{color:var(--link)}
.site-header :focus-visible{outline-color:var(--link)}
.site-header button.menu{background:var(--pale);color:var(--navy);border-color:var(--line)}
@media(min-width:1025px) and (max-width:1280px){.site-header .header{margin-left:28px;margin-right:28px}.site-header .logo{width:185px}.site-header nav{gap:17px;font-size:13px}}
@media(max-width:1024px){
.site-header .header{margin-left:22px;margin-right:22px;height:86px;padding:10px 20px;position:relative}
.site-header .logo{width:180px}
.site-header button.menu{display:flex;gap:12px;align-items:center;padding:7px 12px;border-radius:5px;font-size:13px;min-height:44px}
.site-header nav{display:none;position:absolute;top:86px;left:0;right:0;background:#fff;padding:14px 20px;border-radius:0 0 10px 10px;box-shadow:0 12px 20px #163d5415;font-size:15px}
.site-header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}
.site-header nav>a{padding:13px 0}
.site-header nav>.button{padding:14px 20px;margin-top:8px}
.site-header nav>ul{display:block}
.site-header nav li>ul{position:static;border:0;box-shadow:none;padding:0 0 0 17px}
.site-header nav li:hover>ul:not(.submenu-open){display:none}
.site-header nav li.submenu-open>ul,.site-header nav li:focus-within>ul{display:block}
.topbar .wrap{gap:12px 20px;flex-wrap:wrap;padding-left:28px;padding-right:28px}
}
@media(max-width:600px){.topbar .wrap{gap:8px 15px;min-height:84px;padding:10px 22px;font-size:11px}.topbar .contact-icon{width:25px;height:25px;font-size:13px}.topbar .contact-item{gap:6px}.topbar .contact-item:first-child{width:100%}.site-header .header{height:76px;padding:10px 16px;gap:12px}.site-header .logo{width:162px}.site-header nav{top:76px}.site-header{padding-bottom:14px}}

/* Shared deep blue for the contact header and reassurance band. */
.topbar{background:#14649C;color:#fff}
.site-header{background:linear-gradient(to bottom,#14649C 40px,#fff 40px)}
.trust{background:#14649C;color:#fff;border-bottom-color:#14649C}
.trust .trust-icon{color:#fff}
