@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');:root{--navy:#0d2744;--green:#24854a;--lime:#8dcb65;--ink:#142942;--muted:#5b6b7a;--pale:#f5f8f4;--line:#e3e9e4;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:white;font:16px/1.65 'DM Sans',Arial,sans-serif}h1,h2,h3{font-family:Manrope,Arial,sans-serif;letter-spacing:-.035em;color:var(--navy);line-height:1.13;margin:0 0 18px}h1{font-size:clamp(42px,5.3vw,72px);font-weight:700}h2{font-size:clamp(29px,3.3vw,43px);font-weight:700}h3{font-size:21px;letter-spacing:-.02em}p{margin:0 0 18px}a{color:var(--green)}a:hover{color:#165c34}.topbar{background:var(--navy);color:#e8f1f7;font-size:12px}.top-inner{max-width:1240px;margin:auto;padding:9px 32px;display:flex;justify-content:space-between;align-items:center}.top-inner a{color:white;text-decoration:none}.top-inner .coverage{letter-spacing:.08em;text-transform:uppercase}.header{position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);z-index:9;border-bottom:1px solid var(--line)}.navwrap{max-width:1240px;margin:auto;padding:11px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{width:142px;height:96px;object-fit:contain;object-position:center;border:0}.navlinks{display:flex;align-items:center;gap:25px}.navlinks a{font-size:14px;font-weight:600;color:var(--navy);text-decoration:none}.navlinks a:hover{color:var(--green)}.navcta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 21px;border-radius:4px;background:var(--green);border:1px solid var(--green);color:white;text-decoration:none;font-weight:700;font-size:14px;transition:.2s}.navcta{padding:11px 17px}.btn:hover,.navcta:hover{background:#176b3a;color:white;transform:translateY(-1px)}.btn.outline{background:white;color:var(--navy);border-color:#cbd6d0}.btn.outline:hover{border-color:var(--green);color:var(--green)}.wrap{max-width:1240px;padding:0 32px;margin:auto}.hero{padding:44px 0 72px;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:55px}.hero-copy{padding:30px 0}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--green);display:block;margin-bottom:16px}.hero .lead{font-size:19px;color:var(--muted);max-width:600px;line-height:1.65;margin:22px 0 28px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.hero-img{height:520px;position:relative}.hero-img img{height:100%;width:100%;object-fit:cover;border-radius:3px}.image-tag{position:absolute;left:-24px;bottom:25px;background:#fff;padding:19px 24px;box-shadow:0 10px 35px #102c441e;border-left:3px solid var(--green);max-width:280px}.image-tag b{display:block;font-family:Manrope}.image-tag span{font-size:13px;color:var(--muted)}.trustline{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:#526879;border-top:1px solid var(--line);padding-top:20px}.trustline span:before{content:'✓';color:var(--green);font-weight:bold;margin-right:8px}.strip{background:var(--pale);border-block:1px solid var(--line);padding:24px 0}.stripin{display:flex;justify-content:space-between;align-items:center;gap:22px}.strip b{font:700 18px Manrope;color:var(--navy)}.strip p{margin:0;font-size:14px;color:var(--muted)}.section{padding:78px 0}.section.tint{background:var(--pale)}.section-head{max-width:720px;margin-bottom:37px}.section-head p{font-size:17px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{border:1px solid var(--line);padding:28px;background:white;border-radius:3px;min-height:220px}.card img{width:100%;height:210px;object-fit:cover;margin-bottom:22px}.card .index{font-size:12px;letter-spacing:.15em;color:var(--green);font-weight:700}.card h3{margin:12px 0}.card p{color:var(--muted)}.card a{font-weight:700;text-decoration:none}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.service-card{border:1px solid var(--line);background:#fff}.service-card img{height:280px;width:100%;object-fit:cover}.service-body{padding:27px}.price{font:800 25px Manrope;color:var(--navy)}.sub{font-size:13px;color:var(--muted)}.rate-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}.rate{padding:21px;background:white;border:1px solid var(--line);border-top:3px solid var(--green)}.rate strong{display:block;font:700 25px Manrope;color:var(--navy)}.rate span{font-size:13px;color:var(--muted)}.rate a{display:block;margin-top:12px;font-size:13px;font-weight:700}.split{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.split img{width:100%;height:410px;object-fit:cover}.checks{list-style:none;padding:0}.checks li{padding:10px 0 10px 28px;border-bottom:1px solid var(--line);position:relative}.checks li:before{content:'✓';position:absolute;left:0;color:var(--green);font-weight:bold}.band{background:var(--navy);color:white;padding:58px 0}.band h2{color:white}.band p{color:#d4e0e8;max-width:720px}.band .btn{background:#83c861;border-color:#83c861;color:#0e2c41}.banner-img{background:linear-gradient(90deg,#0d2744eF,#0d274455),url('assets/london-terrace.jpg') center/cover;color:white;padding:88px 0}.banner-img h1{color:white;max-width:780px}.banner-img p{max-width:700px;color:#edf3f5;font-size:19px}.breadcrumbs{font-size:12px;color:var(--muted);padding-top:26px}.breadcrumbs a{text-decoration:none}.pagehero{padding:38px 0 58px;display:grid;grid-template-columns:1fr .8fr;gap:48px;align-items:center}.pagehero img{width:100%;height:390px;object-fit:cover}.pagehero p{font-size:18px;color:var(--muted)}.content{max-width:850px}.content h2{font-size:30px;margin-top:46px}.content h3{margin-top:27px}.content p,.content li{font-size:16px;color:#3d5061}.content .intro{font-size:20px}.faqs{max-width:920px}details{padding:19px 0;border-bottom:1px solid var(--line)}summary{cursor:pointer;font-weight:700;color:var(--navy);font-size:17px}details p{margin:12px 0 0;color:var(--muted)}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{margin:0 0 18px}.field.full{grid-column:1/-1}label{font-weight:700;font-size:14px;display:block;margin-bottom:7px;color:var(--navy)}input,select,textarea{width:100%;border:1px solid #bdcbc2;padding:13px 14px;font:inherit;border-radius:3px;background:#fff;color:var(--ink)}textarea{min-height:130px}.formnote{padding:14px 17px;background:#f3f7f2;border-left:3px solid var(--green);font-size:13px;color:var(--muted)}.article-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.article-card{display:grid;grid-template-columns:140px 1fr;gap:18px;padding:16px;border:1px solid var(--line);text-decoration:none;color:inherit}.article-card img{width:140px;height:140px;object-fit:cover}.article-card h3{margin:6px 0;font-size:18px}.article-card p{margin:0;font-size:13px;color:var(--muted)}.booksteps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:28px 0}.step{padding:18px;background:var(--pale);border-top:2px solid var(--green);font-size:13px}.step b{display:block;font-size:15px;color:var(--navy)}footer{background:#091e34;color:#d5e0e8;padding:55px 0 30px}.footgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}.footgrid h3{color:#fff;font-size:16px}.footgrid p,.footgrid a{color:#c7d5df;font-size:13px}.footgrid a{display:block;margin:8px 0;text-decoration:none}.footbottom{border-top:1px solid #294058;margin-top:32px;padding-top:20px;font-size:12px;color:#abb9c5}.notice{background:#e9f2e6;padding:10px 0;text-align:center;font-size:12px;color:#315344}.pill{display:inline-block;border:1px solid #d3e2d6;border-radius:99px;padding:6px 12px;font-size:12px;color:#315344;margin:0 6px 8px 0}.receipt{background:var(--pale);padding:25px;border:1px solid var(--line)}.mobilemenu{display:none}@media(max-width:900px){.navlinks{gap:13px}.navlinks a{font-size:12px}.hero{gap:28px}.hero-img{height:420px}.rate-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.top-inner{padding:8px 18px}.top-inner .coverage{max-width:60%}.navwrap{padding:6px 18px}.brand img{width:120px;height:70px}.navlinks{gap:10px;flex-wrap:wrap;justify-content:flex-end}.navlinks a{font-size:11px}.navcta{display:none}.wrap{padding:0 20px}.hero,.pagehero,.split{grid-template-columns:1fr}.hero{padding:22px 0 45px;gap:18px}.hero-copy{padding:12px 0 0}.hero-img{height:300px}.image-tag{left:10px;bottom:10px}.stripin{align-items:flex-start;flex-direction:column}.section{padding:54px 0}.cards,.service-grid,.article-list{grid-template-columns:1fr}.service-card img{height:230px}.split{gap:25px}.split img{height:300px}.pagehero{padding:22px 0 38px;gap:16px}.pagehero img{height:260px}.booksteps{grid-template-columns:repeat(2,1fr)}.formgrid{grid-template-columns:1fr}.field.full{grid-column:auto}.article-card{grid-template-columns:110px 1fr}.article-card img{width:110px;height:120px}.footgrid{grid-template-columns:1fr 1fr}.footgrid>div:first-child{grid-column:1/-1}}.rate.chosen{outline:2px solid var(--green);outline-offset:2px}
.booking-shell{max-width:900px;margin:22px auto 90px}.booking-intro{max-width:720px;padding-top:28px}.booking-intro p{font-size:18px;color:var(--muted)}.booking-step{background:#fff;border:1px solid var(--line);padding:clamp(24px,5vw,52px);box-shadow:0 16px 48px #102c440b}.booking-step h2{font-size:30px}.booking-actions{display:flex;align-items:center;gap:14px;margin-top:28px}.booking-actions a{font-weight:700}.review-card{border:1px solid var(--line);background:var(--pale);padding:18px 24px;margin:24px 0}.review-card>div{display:flex;justify-content:space-between;gap:24px;padding:12px 0;border-bottom:1px solid var(--line)}.review-card>div:last-child{border-bottom:0}.review-card span{color:var(--muted)}.review-card strong{text-align:right}.review-card .review-total{font-size:18px;border-top:2px solid var(--green);margin-top:5px;padding-top:18px}.legal-trading{font-weight:700;color:var(--navy);margin:24px 0 14px}.booking-step [hidden],[hidden]{display:none!important}.website-verification{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}@media(max-width:700px){.booking-shell{margin:8px auto 50px}.booking-actions{flex-wrap:wrap}.review-card{padding:12px}.review-card>div{gap:12px;font-size:14px}}
/* Consistent EPC247 finish: solid actions, confident headings and balanced cards. */
.btn,.btn.outline,.navcta{background:var(--green);border:1px solid var(--green);color:#fff;opacity:1;text-decoration:none;font-weight:750;min-height:48px;border-radius:6px;box-shadow:0 5px 14px rgba(15,39,68,.10);transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.btn.outline{background:var(--green);border-color:var(--green);color:#fff}
.btn:hover,.btn.outline:hover,.navcta:hover{background:#176b3a;border-color:#176b3a;color:#fff;box-shadow:0 8px 18px rgba(15,39,68,.16);transform:translateY(-1px)}
.btn:focus-visible,.navcta:focus-visible{outline:3px solid rgba(36,133,74,.32);outline-offset:3px}
.btn:disabled{opacity:.7;cursor:wait;transform:none}
h1,h2,h3{font-weight:800}
.service-card,.card,.booking-step,.receipt,.rate,.article-card{border-radius:10px;overflow:hidden}
.service-card,.card,.booking-step,.receipt,.rate,.article-card{box-shadow:0 10px 30px rgba(13,39,68,.08)}
.service-card h3,.card h3,.article-card h3{font-weight:800;line-height:1.25}
.service-card img,.article-card img{object-fit:cover}
.service-body{padding:30px}
.booking-step{padding:clamp(22px,4vw,36px)}
@media(max-width:700px){.service-body{padding:22px}.btn,.btn.outline,.navcta{min-height:46px}}


/* Clearer service cards and a finished domestic pricing panel. */
.service-card .eyebrow{font-size:16px;line-height:1.3;letter-spacing:.13em;font-weight:800;margin-bottom:17px}
.service-card h3{font-size:clamp(24px,2vw,28px);line-height:1.2;font-weight:800;margin:12px 0 18px}
.domestic-pricing-panel{margin:24px 0 38px;padding:clamp(28px,4.2vw,54px);border:1px solid #dbe5dd;border-radius:22px;box-shadow:0 18px 48px rgba(13,39,68,.08);overflow:hidden}
.domestic-pricing-panel .rate{border-radius:12px}
@media(max-width:700px){.domestic-pricing-panel{margin:16px 0 28px;padding:25px 18px;border-radius:16px}.service-card .eyebrow{font-size:15px}.service-card h3{font-size:24px}}
