/*
Theme Name: CleanPros
Description: Custom theme for CleanPros, Leicester cleaning services.
Version: 2.0.0
Text Domain: cleanpros
*/
:root{--navy:#081c36;--navy2:#0f2d52;--teal:#14a899;--teal-d:#0b7f73;--mint:#e8f7f4;--sky:#f5f8fb;--ink:#1b2a3a;--mut:#58697a;--line:#e2e9f0;--gold:#e9b44c;--r:18px;--sh:0 14px 40px rgba(8,28,54,.10);--w:1200px;--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:16.5px/1.7 var(--sans);color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;height:auto}a{color:var(--teal-d);text-decoration:none}a:hover{color:var(--navy)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:6px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
h1,h2,h3,h4{color:var(--navy);line-height:1.12;margin:0 0 .5em;letter-spacing:-.015em}
h1,h2{font-family:var(--serif);font-weight:700}h1{font-size:clamp(2.4rem,5.4vw,4rem)}h2{font-size:clamp(1.9rem,3.6vw,2.7rem)}h3{font-size:1.18rem;font-weight:700;font-family:var(--sans)}
p{margin:0 0 1em}.wrap{max-width:var(--w);margin:0 auto;padding:0 22px}
.sec{padding:96px 0}.sec.alt{background:var(--sky)}.sec.dark{background:linear-gradient(160deg,var(--navy),#0c2748);color:#cadcee}.sec.dark h2,.sec.dark h3{color:#fff}
.eyebrow{display:inline-block;font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-d);background:var(--mint);padding:7px 14px;border-radius:99px;margin-bottom:18px}
.dark .eyebrow,.hero .eyebrow{background:rgba(255,255,255,.1);color:#7ee6d8}
.head{max-width:700px;margin:0 auto 56px;text-align:center}.head p{color:var(--mut);font-size:1.08rem}.dark .head p{color:#b4c9de}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font:700 1rem/1 var(--sans);padding:17px 28px;border-radius:99px;border:2px solid transparent;cursor:pointer;transition:.25s;background:var(--teal-d);color:#fff;box-shadow:0 8px 22px rgba(11,127,115,.3)}
.btn:hover{background:#096a60;color:#fff;transform:translateY(-2px)}.btn.ghost{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.45);color:#fff;box-shadow:none;backdrop-filter:blur(4px)}.btn.ghost:hover{background:#fff;color:var(--navy)}
.btn.navy{background:var(--navy);box-shadow:none}.btn.navy:hover{background:var(--navy2)}.btn.sm{padding:13px 22px;font-size:.92rem}.btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* header */
.top{background:var(--navy);color:#bcd0e4;font-size:.85rem}.top .wrap{display:flex;justify-content:space-between;gap:16px;padding-top:9px;padding-bottom:9px;flex-wrap:wrap}.top a{color:#fff;font-weight:600}
.hdr{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;height:80px}
.logo{display:flex;align-items:center;gap:11px;font-family:var(--serif);font-size:1.7rem;font-weight:700;letter-spacing:-.02em;color:var(--navy)}.logo b{color:var(--teal)}.logo svg{width:46px;height:46px}
.nav{display:flex;align-items:center;gap:26px}.nav a{color:var(--navy);font-weight:600;font-size:.95rem}.nav a:hover{color:var(--teal)}.nav a.btn{color:#fff}.nav .tel{display:flex;align-items:center;gap:7px;font-weight:700}.nav .tel svg{width:18px;height:18px;stroke:var(--teal);fill:none;stroke-width:2}
.dd{position:relative}.dd>a:after{content:"▾";font-size:.7em;margin-left:5px}.dd ul{display:none;position:absolute;top:100%;left:-16px;margin:0;padding:10px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh);min-width:270px}.dd:hover ul,.dd:focus-within ul{display:block}.dd li a{display:block;padding:10px 12px;border-radius:8px}.dd li a:hover{background:var(--mint)}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer}.burger span{display:block;height:2px;background:var(--navy);margin:6px 8px}
/* hero */
.hero{position:relative;color:#d2e2f2;overflow:hidden;padding:100px 0 110px;background:var(--navy)}
.hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(8,28,54,.94) 0%,rgba(8,28,54,.82) 42%,rgba(8,28,54,.38) 100%)}
.hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
.hero h1{color:#fff}.hero h1 em{font-style:italic;color:#6ee7d6}.hero .lead{font-size:1.2rem;max-width:580px;color:#c5d8ec}
.hero .cta{display:flex;gap:14px;flex-wrap:wrap;margin:32px 0}.ticks{display:flex;gap:10px 26px;flex-wrap:wrap;list-style:none;padding:0;margin:0;font-weight:600;color:#fff;font-size:.95rem}.ticks li:before{content:"✓";color:#6ee7d6;margin-right:8px;font-weight:800}
.page-hero{padding:76px 0 70px}.page-hero .wrap{grid-template-columns:1.15fr .85fr}.page-hero.plain .wrap{grid-template-columns:1fr}
.crumbs{font-size:.88rem;margin-bottom:16px;color:#97b3cf}.crumbs a{color:#b9d0e6}
.hero-img{border-radius:26px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.15)}.hero-img img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
/* forms */
.card{background:#fff;border-radius:24px;box-shadow:0 30px 70px rgba(0,0,0,.28);padding:32px;color:var(--ink)}.card h3{font-family:var(--serif);font-size:1.6rem;margin-bottom:4px}.card .sub{color:var(--mut);font-size:.94rem;margin-bottom:18px}
.frm{display:grid;grid-template-columns:1fr 1fr;gap:12px}.frm label{display:block;margin:0}.frm .full{grid-column:1/-1}
.frm input,.frm select,.frm textarea{width:100%;font:inherit;padding:14px 15px;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}
.frm input:focus,.frm select:focus,.frm textarea:focus{outline:0;border-color:var(--teal);box-shadow:0 0 0 4px rgba(20,168,153,.16)}
.frm .btn{width:100%}.hp{position:absolute;left:-9999px}.note{font-size:.8rem;color:var(--mut);margin:12px 0 0;text-align:center}.note a{text-decoration:underline}
.alert{padding:14px 16px;border-radius:12px;margin-bottom:14px;font-weight:600}.alert.err{background:#fdecec;color:#a02222}
/* trust bar */
.trust{background:#fff;border-bottom:1px solid var(--line)}.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-top:26px;padding-bottom:26px}
.trust div{display:flex;align-items:center;gap:12px;font-weight:700;color:var(--navy);font-size:.95rem;line-height:1.3}.trust .ico{width:46px;height:46px;margin:0;flex:none}.trust small{display:block;font-weight:500;color:var(--mut)}
/* grids */
.grid{display:grid;gap:26px}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g2{grid-template-columns:repeat(2,1fr)}
.svc{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:.3s;display:flex;flex-direction:column;color:var(--ink)}.svc:hover{transform:translateY(-8px);box-shadow:var(--sh);border-color:transparent;color:var(--ink)}
.svc .pic{aspect-ratio:3/2;overflow:hidden;background:var(--sky)}.svc .pic img{width:100%;height:100%;object-fit:cover;transition:.6s}.svc:hover .pic img{transform:scale(1.06)}
.svc .in{padding:26px 28px 30px;display:flex;flex-direction:column;flex:1}.svc p{color:var(--mut);flex:1}.more{font-weight:700;color:var(--teal-d)}.more:after{content:" →"}
.ico{width:56px;height:56px;border-radius:15px;background:var(--mint);display:grid;place-items:center;margin-bottom:16px}.ico svg{width:27px;height:27px;stroke:var(--teal-d);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.step{padding:32px;border-radius:var(--r);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13)}.step .n{font-family:var(--serif);font-size:3rem;font-weight:700;color:#6ee7d6;line-height:1;margin-bottom:12px}.step p{color:#b4c9de;margin:0}
.why{display:flex;gap:18px}.why .ico{flex:none;margin:0}.why p{color:var(--mut);margin:0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.photo{border-radius:26px;overflow:hidden;box-shadow:var(--sh)}.photo img{display:block;width:100%;height:100%;object-fit:cover}
.panel{background:linear-gradient(150deg,var(--mint),#fff);border:1px solid var(--line);border-radius:24px;padding:38px}
.list{list-style:none;padding:0;margin:0}.list li{padding:11px 0 11px 36px;position:relative;border-bottom:1px solid var(--line)}.list li:last-child{border:0}.list li:before{content:"";position:absolute;left:0;top:14px;width:23px;height:23px;border-radius:50%;background:var(--teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/14px no-repeat}
.areas{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;list-style:none;padding:0;margin:0}.areas li{background:#fff;border:1px solid var(--line);padding:10px 18px;border-radius:99px;font-weight:600;color:var(--navy)}
details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 24px;margin-bottom:12px}details[open]{box-shadow:var(--sh)}summary{cursor:pointer;font-weight:700;color:var(--navy);padding:19px 0;list-style:none;display:flex;justify-content:space-between;gap:12px}summary::-webkit-details-marker{display:none}summary:after{content:"+";font-size:1.5rem;color:var(--teal);line-height:1}details[open] summary:after{content:"–"}details p{color:var(--mut)}
.faq{max-width:820px;margin:0 auto}
.band{position:relative;overflow:hidden;background:linear-gradient(120deg,var(--navy),#0e3b63);color:#fff;border-radius:30px;padding:60px;display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}.band h2{color:#fff;margin:0 0 8px}.band p{margin:0;color:#c5d8ec}.band .acts{display:flex;gap:12px;flex-wrap:wrap}
.prose{max-width:840px;margin:0 auto}.prose h2{font-size:1.65rem;margin-top:1.8em}.prose h3{margin-top:1.4em}.prose a{text-decoration:underline}.prose li{margin-bottom:.4em}.prose table{border-collapse:collapse;width:100%;font-size:.94rem;margin:1em 0}.prose th,.prose td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}.prose th{background:var(--sky)}
.co{background:var(--sky);border:1px solid var(--line);border-radius:14px;padding:18px 22px;font-size:.95rem}
/* footer */
.ftr{background:#06152a;color:#9fb4ca;padding:80px 0 0}.ftr .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:44px}.ftr h4{color:#fff;font-size:1rem;margin-bottom:16px;font-family:var(--sans)}.ftr a{color:#9fb4ca}.ftr a:hover{color:#fff}.ftr ul{list-style:none;padding:0;margin:0}.ftr li{margin-bottom:9px}.ftr .logo{color:#fff;margin-bottom:16px}
.ftr .legal{border-top:1px solid rgba(255,255,255,.1);margin-top:54px;padding:24px 0;font-size:.84rem;line-height:1.7}.ftr .legal p{margin:0 0 6px}
.sticky-cta{display:none}
/* cookie banner */
#cpc{position:fixed;left:16px;right:16px;bottom:16px;z-index:100;max-width:560px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 60px rgba(8,28,54,.28);padding:24px;display:none}
#cpc.show{display:block}#cpc h2{font-family:var(--sans);font-size:1.1rem;margin:0 0 6px}#cpc p{font-size:.9rem;color:var(--mut);margin:0 0 14px}
#cpc .row{display:flex;gap:10px;flex-wrap:wrap}#cpc .btn{padding:12px 18px;font-size:.9rem;flex:1;box-shadow:none}#cpc .btn.alt{background:#fff;color:var(--navy);border-color:var(--navy)}
#cpc .opts{display:none;margin:0 0 14px}#cpc .opts.show{display:block}#cpc .opt{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.9rem}#cpc .opt small{display:block;color:var(--mut)}
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.js .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}.js .reveal{opacity:1;transform:none}}
@media(max-width:980px){.hero .wrap,.page-hero .wrap,.split{grid-template-columns:1fr}.g3,.g4{grid-template-columns:1fr 1fr}.trust .wrap{grid-template-columns:1fr 1fr}.ftr .cols{grid-template-columns:1fr 1fr}.sec{padding:68px 0}.hero-img{display:none}
.burger{display:block}.nav{display:none;position:absolute;top:80px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:12px 22px 26px;border-bottom:1px solid var(--line);box-shadow:var(--sh)}.nav.open{display:flex}.nav>a,.nav .dd>a{padding:14px 0;border-bottom:1px solid var(--line)}.dd ul{display:block;position:static;border:0;box-shadow:none;padding:0 0 0 14px;min-width:0}.dd>a:after{display:none}.nav .btn{margin-top:14px}}
@media(max-width:640px){.g3,.g4,.g2,.frm,.ftr .cols,.trust .wrap{grid-template-columns:1fr}.hero{padding:60px 0 70px}.band{padding:36px 26px}.top .wrap{justify-content:center}.top .hide-m{display:none}.card{padding:24px}
.sticky-cta{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:60;background:#fff;border-top:1px solid var(--line);padding:10px 14px;gap:10px;box-shadow:0 -6px 20px rgba(0,0,0,.08)}.sticky-cta .btn{flex:1;padding:14px;box-shadow:none}body{padding-bottom:72px}#cpc{bottom:84px}}
@media(max-width:640px){#cpc{padding:18px;left:10px;right:10px}#cpc p{font-size:.84rem}#cpc .btn{padding:11px 12px;font-size:.84rem}}

.aud{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:32px;transition:.3s;color:var(--ink)}.aud:hover{transform:translateY(-6px);box-shadow:var(--sh);color:var(--ink);border-color:var(--teal)}.aud p{color:var(--mut)}
.nf{text-align:center;max-width:640px;margin:0 auto}.nf h1{font-size:clamp(2.2rem,5vw,3.2rem)}.nf .acts{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}

.pr{margin:0 0 14px}.pr b{display:inline-block;background:var(--mint);color:var(--teal-d);padding:5px 12px;border-radius:99px;font-size:.88rem}
.ptable{max-width:720px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.prow{display:flex;justify-content:space-between;gap:16px;padding:16px 24px;border-bottom:1px solid var(--line)}.prow:last-child{border:0}.prow strong{color:var(--navy);text-align:right}
