:root{--ink:#0f172a;--gold:#c35a2e;--mist:#f8fafc;--line:#e2e8f0;--muted:#64748b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:#fff}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(1180px,calc(100% - 32px));margin:auto}.narrow{max-width:850px}.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}.nav{height:76px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:10px}.brand img{height:50px;width:auto}.brand span{border-left:1px solid var(--line);padding-left:10px;line-height:1}.brand b{display:block;letter-spacing:.14em}.brand small{display:block;margin-top:6px;color:#c35a2e;font-weight:900;letter-spacing:.16em}.nav nav{margin-left:auto}.nav ul{display:flex;align-items:center;gap:24px;list-style:none;margin:0;padding:0}.nav a{font-weight:800;font-size:14px}.menu-toggle{display:none;margin-left:auto;border:0;border-radius:10px;padding:10px;background:var(--mist);font-size:20px}.hero{position:relative;color:#fff;background:linear-gradient(90deg,rgba(15,23,42,.96),rgba(15,23,42,.78)),url('../images/gas-electrical-installations-closeup.webp') center/cover}.hero-grid{min-height:620px;display:grid;grid-template-columns:1.5fr .75fr;gap:48px;align-items:center;padding:72px 0}.eyebrow{color:#c35a2e;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.17em}.hero h1{font-size:clamp(38px,6vw,68px);line-height:1.04;margin:12px 0 20px;max-width:800px}.hero h1 em{color:var(--gold);font-style:normal}.hero p{max-width:720px;line-height:1.8;color:#e2e8f0}.actions,.card-actions{display:flex;gap:12px;margin-top:28px}.btn,.card-actions a,.eicr-form button{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:12px;padding:13px 20px;font-weight:900;cursor:pointer}.gold{background:var(--gold)!important;color:#111827!important}.ghost{border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08)}.quick-card{border-radius:26px;background:#fff;color:var(--ink);padding:28px}.quick-card h2{margin-top:0}.quick-card a{display:block;margin-top:12px;padding:16px;border-radius:14px;background:var(--mist);font-weight:900}.section{padding:72px 0}.center{text-align:center;max-width:700px;margin:0 auto 42px}.center h2,.why h2,.team h2{font-size:clamp(30px,4vw,46px);margin:8px 0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;transition:.3s}.service-card:hover{transform:translateY(-5px);box-shadow:0 22px 50px -30px #0f172a}.service-title{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px;background:#020617;color:#fff}.service-title h3{margin:0;font-size:17px}.service-title b{white-space:nowrap;border-radius:8px;background:var(--gold);padding:7px 9px;color:#111827;font-size:12px}.service-card>img{width:100%;height:210px;object-fit:cover}.service-body{padding:18px;display:flex;flex-direction:column;min-height:180px}.service-body p{color:var(--muted);line-height:1.6}.card-actions{margin-top:auto}.card-actions a{flex:1;background:#020617;color:#fff;padding:11px;font-size:13px}.why{background:var(--mist)}.why>.wrap{display:grid;grid-template-columns:1fr 1.2fr;gap:45px;align-items:center}.why p{line-height:1.8;color:var(--muted)}.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.why-grid article{border:1px solid var(--line);border-radius:16px;background:#fff;padding:20px}.why-grid article p{margin-bottom:0;font-size:14px}.team-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px}.team img{max-height:420px;object-fit:contain}.steps{background:#fff}.step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.step{position:relative;border:1px solid var(--line);border-radius:18px;padding:22px;background:#fff}.step span{position:absolute;right:18px;top:12px;font-size:38px;font-weight:900;color:#000}.step b{display:block;margin-top:44px;font-size:18px}.step p{color:#000;line-height:1.6;font-size:14px}.service-hero{padding:90px 0;background:#0f172a;color:#fff}.content{font-size:17px;line-height:1.8}.eicr-form{max-width:850px;margin:28px auto;border:1px solid var(--line);border-radius:22px;padding:26px;background:#fff;box-shadow:0 20px 50px -35px #0f172a}.eicr-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.eicr-form label{display:block;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.eicr-form input,.eicr-form select,.eicr-form textarea{display:block;width:100%;margin-top:7px;border:1px solid var(--line);border-radius:11px;padding:12px;background:#fff;font:inherit}.eicr-form>label{margin-top:15px}.eicr-form button{margin-top:18px;background:var(--gold)}.eicr-response{font-weight:800}footer{background:#020617;color:#cbd5e1;padding:55px 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer-logo{height:55px;width:auto;background:#fff;border-radius:8px;padding:3px}.footer-grid h3{color:var(--gold)}.wa-float{position:fixed;right:20px;bottom:20px;z-index:40;border-radius:999px;background:#fff;padding:11px 15px;box-shadow:0 5px 20px rgba(15,23,42,.18);font-size:13px}.wa-float b{color:#16a34a}.reveal{opacity:1}.reveal.seen{animation:reveal .65s cubic-bezier(.22,1,.36,1) both}@keyframes reveal{from{opacity:.4;transform:translateY(20px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}@media(max-width:900px){.hero-grid,.why>.wrap,.team-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,1fr)}.step-grid{grid-template-columns:1fr 1fr}.nav nav{display:none;position:absolute;left:0;right:0;top:76px;background:#fff;border-bottom:1px solid var(--line);padding:16px}.nav nav.open{display:block}.nav ul{display:block}.nav li{padding:10px}.menu-toggle{display:block}}@media(max-width:600px){.hero-grid{padding:50px 0;min-height:auto}.service-grid,.step-grid,.eicr-grid,.footer-grid,.why-grid{grid-template-columns:1fr}.section{padding:52px 0}.service-title{min-height:auto}.brand span{display:none}}
/* WordPress interaction layer. */
.eicr-mobile-nav{display:none;position:fixed;z-index:49;top:5rem;left:0;right:0;max-height:calc(100vh - 5rem);overflow:auto;background:#fff;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;padding:.75rem 1rem;box-shadow:0 18px 38px -28px #0f172a}.eicr-mobile-nav.open{display:block}.eicr-mobile-nav>a,.eicr-mobile-group-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;padding:.9rem .8rem;border-radius:.75rem;background:#fff;color:#0f172a;font-weight:800;text-align:left}.eicr-mobile-group-toggle:hover,.eicr-mobile-nav>a:hover{background:#fff0e8}.eicr-mobile-submenu{display:none;margin:.1rem 0 .65rem .65rem;border-left:3px solid #c35a2e;padding-left:.65rem}.eicr-mobile-group.open .eicr-mobile-submenu{display:grid}.eicr-mobile-submenu a{padding:.7rem;font-size:.86rem;font-weight:700;color:#334155}.eicr-mobile-submenu a:hover{color:#9a3f20;background:#fff0e8}.eicr-review-modal{position:fixed;z-index:100;inset:0;background:rgba(2,6,23,.72);padding:1rem;overflow:auto}.eicr-review-dialog{position:relative;width:min(680px,100%);margin:5vh auto;background:#fff;border-radius:1.5rem;padding:1.5rem}.eicr-review-close{position:absolute;right:1rem;top:1rem;width:2.25rem;height:2.25rem;border-radius:999px;background:#f1f5f9;font-size:1.5rem;line-height:1}.eicr-review-dialog .eicr-form{margin:1rem 0 0;max-width:none;box-shadow:none;padding:0;border:0}.eicr-modal-open{overflow:hidden}@media(min-width:1280px){.eicr-mobile-nav{display:none!important}}@media(prefers-reduced-motion:no-preference){.eicr-scroll-reveal{opacity:0!important;transform:translateY(24px)!important;transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1)!important}.eicr-scroll-reveal.eicr-scroll-visible{opacity:1!important;transform:none!important}}
/* Booking property and payment selectors. */
.booking-type-card,.booking-radio{display:flex;align-items:center;gap:.75rem;border:1px solid #e2e8f0;border-radius:.85rem;background:#fff;padding:.9rem;cursor:pointer;transition:border-color .2s,background-color .2s,transform .2s}.booking-type-card:hover,.booking-radio:hover{border-color:#c35a2e;background:#fff0e8}.booking-type-card:has(input:checked),.booking-radio:has(input:checked),.service-option:has(input:checked){border-color:#c35a2e;background:#fff0e8;box-shadow:inset 0 0 0 1px #c35a2e}.booking-type-card span{display:grid}.booking-type-card b{font-size:.95rem}.booking-type-card small{color:#64748b;margin-top:.15rem}.booking-compact small{display:block;margin-top:.3rem;color:#64748b;font-size:.72rem;line-height:1.25rem}.booking-compact .service-option{padding:.55rem .65rem;transition:border-color .2s,background-color .2s,transform .2s}.booking-compact .service-option:hover{transform:translateY(-1px);border-color:#c35a2e}
/* Compact two-part booking flow. */
.booking-compact>form{max-width:1080px}.booking-compact>form>header{padding:1rem 1.25rem}.booking-compact [data-part="1"] h2,.booking-compact [data-part="2"] h2{font-size:.95rem;line-height:1.3}.booking-compact .booking-type-card,.booking-compact .booking-radio{padding:.65rem .75rem}.booking-compact .service-option b{font-size:.77rem;line-height:1.1rem}.booking-compact .service-option small{margin-top:.18rem;font-size:.78rem;font-weight:700;line-height:1.15rem;color:#475569}.booking-compact section{scroll-margin-top:6rem}.booking-compact [data-part="2"]{gap:.75rem}.booking-compact [data-part="2"]>section{padding:.75rem}.booking-compact .field{padding:.58rem .7rem}.booking-compact textarea.field{min-height:78px}.booking-compact [data-summary]{font-size:.78rem}.booking-compact [data-total]{font-size:1.05rem}@media(max-width:639px){.booking-compact{padding:.5rem}.booking-compact>form{border-radius:1rem}.booking-compact>form>header{padding:.9rem 1rem}.booking-compact [data-booking-title]{font-size:1.25rem;line-height:1.6rem}.booking-compact [data-booking-copy]{font-size:.75rem}.booking-compact .service-option{padding:.5rem}.booking-compact [data-part="2"]>section{padding:.65rem}}
/* Ensure two-part UI remains hidden until JavaScript opens it. */
[hidden]{display:none!important}

.booking-multi-note{display:flex;align-items:center;gap:.55rem;margin-top:1rem;border-left:4px solid #c35a2e;border-radius:.65rem;background:#fff0e8;padding:.65rem .8rem;color:#334155;font-size:.76rem;line-height:1.15rem}.booking-multi-note b{color:#111827;white-space:nowrap}@media(max-width:520px){.booking-multi-note{align-items:flex-start;flex-direction:column;gap:.15rem}}
.booking-success-overlay{position:fixed;z-index:110;inset:0;display:grid;place-items:center;background:rgba(2,6,23,.72);padding:1rem}.booking-success-card{width:min(480px,100%);border-radius:1.35rem;background:#fff;padding:1.6rem;text-align:center}.booking-success-check{display:grid;width:52px;height:52px;margin:0 auto;border-radius:999px;background:#dcfce7;color:#15803d;place-items:center;font-size:1.55rem;font-weight:900}.booking-success-card h2{margin-top:.8rem;font-size:1.35rem;font-weight:900;color:#0f172a}.booking-success-card p{margin-top:.55rem;color:#475569;font-size:.88rem;line-height:1.45rem}.booking-success-card .booking-success-call{border-radius:.75rem;background:#fff0e8;padding:.7rem;color:#7d341d;font-weight:700}.booking-success-card a{display:inline-flex;margin-top:1rem;border-radius:.7rem;background:#111827;padding:.65rem 1rem;color:#fff;font-size:.82rem;font-weight:800}
/* Compact variable-height booking service tiles. */
.booking-compact [data-service-set]>div{display:flex!important;flex-wrap:wrap;align-items:flex-start;gap:.45rem}.booking-compact [data-service-set] .service-option{flex:0 0 calc(25% - .34rem);align-self:flex-start;min-height:0;padding:.45rem .52rem;border-radius:.65rem}.booking-compact [data-service-set] .service-option input{margin-top:.12rem}.booking-compact [data-service-set] .service-option b{font-size:.72rem;line-height:1rem}.booking-compact [data-service-set] .service-option small{margin-top:.05rem;font-size:.72rem;line-height:1rem}@media(max-width:900px){.booking-compact [data-service-set] .service-option{flex-basis:calc(50% - .23rem)}}@media(max-width:520px){.booking-compact [data-service-set] .service-option{flex-basis:100%}}
/* Secure embedded Stripe card panel. */
.stripe-card-panel{margin-top:1rem;border:1px solid #e2e8f0;border-radius:.9rem;background:#f8fafc;padding:1rem}.stripe-card-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem;color:#0f172a;font-size:.86rem}.stripe-card-heading img{width:auto;max-height:30px}.stripe-card-panel [data-stripe-element-wrap]{border:0;border-radius:.65rem;background:transparent;padding:0}.stripe-setup-note{margin:0;border-radius:.65rem;background:#fff0e8;padding:.75rem;color:#9a3f20;font-size:.78rem;font-weight:700;line-height:1.3rem}.stripe-card-error{min-height:1rem;margin-top:.45rem;color:#b91c1c;font-size:.75rem;font-weight:700}
/* Compact payment method choices. */
.booking-compact .payment-choice{min-height:46px;gap:.55rem;padding:.58rem .7rem}.booking-compact .payment-choice input{margin:0}.booking-compact .payment-choice b{font-size:.76rem;line-height:1rem;font-weight:800}.payment-icon{display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;border-radius:.5rem;background:#fff0e8;color:#9a3f20}.payment-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}@media(max-width:520px){.booking-compact .payment-choice{min-height:42px}.payment-icon{width:25px;height:25px;flex-basis:25px}.payment-icon svg{width:15px;height:15px}}
/* Detailed editable service pages. */
.service-detail-page{background:#fff;color:#0f172a}.service-detail-wrap{width:min(1180px,calc(100% - 32px));margin:auto}.service-detail-hero{background:#111827;color:#fff;padding:3.5rem 0}.service-detail-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2.4rem;align-items:center}.service-detail-hero h1{margin:.5rem 0 1rem;font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;font-weight:900}.service-detail-lead{max-width:680px;color:#dbe3ee;font-size:1rem;line-height:1.8}.service-detail-hero img{width:100%;height:390px;border-radius:1.25rem;object-fit:cover}.service-detail-kicker{color:#c35a2e;text-transform:uppercase;letter-spacing:.15em;font-size:.7rem;font-weight:900}.service-detail-price{display:inline-flex;align-items:center;gap:.45rem;margin-top:1.2rem;border-radius:.7rem;background:#fff;color:#111827;padding:.6rem .8rem;font-size:.82rem}.service-detail-price strong{font-size:1rem}.service-detail-actions{display:flex;gap:.7rem;margin-top:1rem}.service-detail-actions a,.service-detail-included>a,.service-detail-cta a{display:inline-flex;border-radius:.7rem;padding:.72rem 1rem;font-size:.82rem;font-weight:900}.service-detail-book,.service-detail-included>a,.service-detail-cta a{background:#c35a2e;color:#111827}.service-detail-quote{border:1px solid #ffffff4d;color:#fff}.service-detail-section{padding:4rem 0}.service-detail-section h2{margin:.45rem 0 1rem;font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.15;font-weight:900}.service-detail-section h3{margin:1.5rem 0 .55rem;font-size:1.08rem;font-weight:900}.service-detail-section p,.service-detail-editor{color:#475569;line-height:1.8}.service-detail-two{display:grid;grid-template-columns:1.25fr .75fr;gap:2.5rem;align-items:start}.service-detail-included{border:1px solid #e2e8f0;border-top:5px solid #c35a2e;border-radius:1rem;padding:1.3rem;background:#fff}.service-detail-included h2{font-size:1.25rem}.service-detail-included ul,.service-why ul{display:grid;gap:.65rem;margin:1rem 0 1.2rem}.service-detail-included li,.service-why li{position:relative;padding-left:1.4rem;color:#334155;font-size:.88rem}.service-detail-included li:before,.service-why li:before{content:'\2713';position:absolute;left:0;color:#c35a2e;font-weight:900}.service-detail-soft{background:#f8fafc}.service-process{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1.5rem}.service-process>div{border:1px solid #e2e8f0;border-radius:1rem;background:#fff;padding:1.2rem}.service-process b{color:#c35a2e;font-size:1.3rem}.service-process h3{margin:.7rem 0 .35rem;font-size:.95rem}.service-process p{font-size:.8rem;line-height:1.55}.service-risk,.service-why{border-radius:1.1rem;padding:1.5rem}.service-risk{background:#111827;color:#fff}.service-risk h2{color:#fff}.service-risk p{color:#cbd5e1}.service-why{border:1px solid #e2e8f0;background:#fff}.service-detail-gallery-section{background:#fff}.service-detail-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.4rem}.service-detail-gallery img{width:100%;height:260px;border-radius:1rem;object-fit:cover}.service-gallery-admin-note{margin-top:.8rem;font-size:.72rem}.service-faq-wrap{max-width:850px}.service-faq-wrap details{border-bottom:1px solid #cbd5e1;background:#fff}.service-faq-wrap summary{cursor:pointer;padding:1rem;font-weight:850}.service-faq-wrap details p{padding:0 1rem 1rem;font-size:.88rem}.service-detail-cta{background:#c35a2e;padding:3.5rem 0;text-align:center}.service-detail-cta h2{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:900}.service-detail-cta p{margin-top:.5rem;color:#334155}.service-detail-cta a{margin-top:1rem;background:#111827;color:#fff}@media(max-width:900px){.service-detail-hero-grid,.service-detail-two{grid-template-columns:1fr}.service-detail-hero img{height:320px}.service-process{grid-template-columns:repeat(2,1fr)}.service-detail-gallery img{height:210px}}@media(max-width:600px){.service-detail-hero{padding:2.5rem 0}.service-detail-section{padding:2.8rem 0}.service-process,.service-detail-gallery{grid-template-columns:1fr}.service-detail-gallery img{height:230px}.service-detail-actions{flex-direction:column}.service-detail-actions a{justify-content:center}}
/* Booking intro: text only, without an additional card or area list. */
.booking-company-intro{max-width:850px;margin:.55rem 0 0;color:#dbe3ee;font-size:.76rem;line-height:1.35rem}
/* Map-free London and M25 homepage coverage section. */
.home-coverage-section{border-top:1px solid #e2e8f0;background:#f8fafc;padding:4rem 0}.home-coverage-wrap{display:grid;width:min(1180px,calc(100% - 32px));margin:auto;grid-template-columns:1.05fr .95fr;gap:2.5rem;align-items:start}.home-coverage-kicker{margin:0;color:#9a3f20;font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.home-coverage-copy h2{margin:.55rem 0 1rem;color:#0f172a;font-size:clamp(1.9rem,3.5vw,2.8rem);line-height:1.1}.home-coverage-copy p{margin:.65rem 0;color:#475569;font-size:.94rem;line-height:1.75}.home-coverage-areas{border:1px solid #e2e8f0;border-top:5px solid #c35a2e;border-radius:1rem;background:#fff;padding:1.25rem}.home-coverage-areas h3{margin:0 0 1rem;color:#0f172a;font-size:1.1rem}.home-coverage-area-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.home-coverage-area{border-radius:.7rem;background:#f8fafc;padding:.7rem .8rem}.home-coverage-area b{display:block;margin-bottom:.2rem;color:#111827;font-size:.78rem}.home-coverage-area span{color:#64748b;font-size:.72rem;line-height:1.25rem}@media(max-width:800px){.home-coverage-section{padding:3rem 0}.home-coverage-wrap{grid-template-columns:1fr;gap:1.5rem}}@media(max-width:520px){.home-coverage-area-grid{grid-template-columns:1fr}}
.booking-company-intro-bottom{max-width:none;margin:1rem 0 0;border-top:1px solid #e2e8f0;padding-top:.85rem;color:#64748b;text-align:center;font-size:.72rem;line-height:1.25rem}
.booking-terms-consent{display:flex;align-items:flex-start;gap:.65rem;border:1px solid var(--eicr-border,#e2e8f0);border-radius:.8rem;background:var(--eicr-soft,#f8fafc);padding:.85rem 1rem;color:var(--eicr-body,#475569);font-size:.75rem;font-weight:700;line-height:1.45}.booking-terms-consent input{margin-top:.15rem}.booking-terms-consent a{color:var(--eicr-accent,#c35a2e);text-decoration:underline}
/* Accessible booking validation feedback. */
.eicr-invalid>.field,.eicr-invalid.booking-radio,.eicr-invalid>.booking-radio,.eicr-invalid>.grid>.booking-radio,.eicr-invalid .service-option{border-color:#dc2626!important}.eicr-invalid>.field:focus{outline:2px solid #fecaca;outline-offset:1px}.eicr-field-error{display:flex;align-items:center;gap:.35rem;margin-top:.4rem;color:#b91c1c;font-size:.72rem;font-weight:800;line-height:1.15rem}.eicr-field-error i{display:grid;width:16px;height:16px;flex:0 0 16px;place-items:center;border-radius:999px;background:#dc2626;color:#fff;font-size:.65rem;font-style:normal;font-weight:900}.eicr-invalid>legend.label,.eicr-invalid>span.label{color:#b91c1c}
.eicr-invalid>div:first-child:has(.eicr-payment-error){display:flex;align-items:center;justify-content:space-between;gap:1rem}.eicr-payment-error{margin:0 0 0 auto;text-align:right}@media(max-width:520px){.eicr-invalid>div:first-child:has(.eicr-payment-error){align-items:flex-start;flex-direction:column;gap:.3rem}.eicr-payment-error{margin:0;text-align:left}}
/* Desktop service dropdowns centered beneath their own nav item. */
@media(min-width:1280px){header nav>div.group{position:relative}.eicr-desktop-submenu{z-index:70;right:auto!important;left:50%;width:max-content;max-width:min(22rem,calc(100vw - 2rem));transform:translate(-50%,.75rem)!important;transform-origin:top center}.group:hover>.eicr-desktop-submenu,.group:focus-within>.eicr-desktop-submenu{transform:translate(-50%,0)!important}.eicr-desktop-submenu>a{text-align:left}}/* Functional footer destination pages. */
.core-page-shell{min-height:60vh;background:#f8fafc;padding:3.5rem 0 4.5rem}.core-page-wrap{width:min(1180px,calc(100% - 32px));margin:auto}.core-page-header{margin-bottom:2rem}.core-page-header>p{color:#9a3f20;font-size:.72rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.core-page-header h1{margin:.45rem 0 0;color:#0f172a;font-size:clamp(2rem,4vw,3.35rem);line-height:1.08;font-weight:900}.core-page-intro{max-width:780px;margin-bottom:1.6rem;color:#475569;font-size:1rem;line-height:1.75}.core-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.core-service-grid article,.core-area-grid article,.core-contact-grid>article{display:flex;flex-direction:column;border:1px solid #e2e8f0;border-top:4px solid #c35a2e;border-radius:1rem;background:#fff;padding:1.15rem}.core-service-grid h2,.core-area-grid h2,.core-contact-grid h2,.core-copy h2{margin:0 0 .55rem;color:#0f172a;font-size:1rem;font-weight:900}.core-service-grid p,.core-area-grid p,.core-copy p,.core-contact-grid p{color:#475569;font-size:.85rem;line-height:1.65}.core-service-grid article>div{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-top:auto;padding-top:1rem}.core-service-grid article>div>span{display:flex;gap:.45rem}.core-service-grid article a,.core-price-list a,.core-book,.core-cta{font-size:.76rem;font-weight:900}.core-book,.core-cta{display:inline-flex;border-radius:.55rem;background:#c35a2e;padding:.48rem .65rem;color:#111827}.core-price-list{overflow:hidden;border:1px solid #e2e8f0;border-radius:1rem;background:#fff}.core-price-list>div{display:grid;grid-template-columns:1fr auto 70px;gap:1rem;align-items:center;border-bottom:1px solid #e2e8f0;padding:.8rem 1rem}.core-price-list>div:last-child{border-bottom:0}.core-price-list>div>a:first-child{color:#334155}.core-area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.core-copy{max-width:820px;border-radius:1rem;background:#fff;padding:1.5rem}.core-copy h2:not(:first-child){margin-top:1.5rem}.core-contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:1.5rem;align-items:start}.core-contact-grid .eicr-form{margin:0;max-width:none}@media(max-width:900px){.core-service-grid,.core-area-grid{grid-template-columns:repeat(2,1fr)}.core-contact-grid{grid-template-columns:1fr}}@media(max-width:600px){.core-page-shell{padding:2.5rem 0 3rem}.core-service-grid,.core-area-grid{grid-template-columns:1fr}.core-price-list>div{grid-template-columns:1fr auto}.core-price-list .core-book{grid-column:1/-1;justify-content:center}.core-service-grid article>div{align-items:flex-start;flex-direction:column}}
.core-page-auth-shell{display:grid;min-height:calc(100vh - 80px);align-items:center;padding:clamp(2.5rem,7vh,5.5rem) 0}
.core-page-auth-shell .core-page-wrap{width:min(540px,calc(100% - 32px))}
.core-page-auth-shell .core-page-content{margin:0}
.core-price-list .core-book{align-items:center;justify-content:center;text-align:center}
@media(max-width:600px){.core-page-auth-shell{min-height:calc(100vh - 80px);padding:2.25rem 0}}


.stripe-split-fields{display:grid;grid-template-columns:1.9fr 1fr 1fr;gap:.65rem}.stripe-split-field{display:flex;min-width:0;min-height:50px;align-items:center;border:1px solid #d7dde5;border-radius:.6rem;background:#fff;padding:0 .85rem;transition:border-color .2s,box-shadow .2s,background-color .2s}.stripe-split-field>div{width:100%}.stripe-split-field:hover{border-color:#94a3b8}.stripe-split-field:focus-within{border-color:#0f172a;background:#fff;box-shadow:0 0 0 3px rgba(15,23,42,.08)}@media(max-width:640px){.stripe-split-fields{grid-template-columns:1fr 1fr;gap:.55rem}.stripe-split-number{grid-column:1/-1}.stripe-split-field{min-height:48px;padding:0 .75rem}}

/* CookieYes theme integration */
.cky-consent-container{font-family:inherit!important;left:16px!important;right:16px!important;bottom:16px!important;width:auto!important;max-width:920px!important;margin:0 auto!important}
.cky-consent-container .cky-consent-bar{border:1px solid #d8dee8!important;border-radius:16px!important;background:#fff!important;padding:16px 18px!important;box-shadow:0 18px 50px rgba(15,23,42,.18)!important}
.cky-consent-container .cky-title{margin:0 0 5px!important;color:#0f172a!important;font-size:17px!important;font-weight:900!important;line-height:1.25!important}
.cky-consent-container .cky-notice-des,.cky-consent-container .cky-notice-des p{color:#475569!important;font-size:12px!important;line-height:1.55!important}
.cky-consent-container .cky-notice-des a{color:#0f172a!important;font-weight:800!important;text-decoration:underline!important}
.cky-consent-container .cky-notice-btn-wrapper{gap:7px!important;margin-top:12px!important}
.cky-consent-container .cky-btn{min-height:38px!important;border:1px solid #0f172a!important;border-radius:9px!important;padding:8px 14px!important;font-size:12px!important;font-weight:850!important;line-height:1.2!important;box-shadow:none!important}
.cky-consent-container .cky-btn-accept{border-color:#c35a2e!important;background:#c35a2e!important;color:#0f172a!important}
.cky-consent-container .cky-btn-reject,.cky-consent-container .cky-btn-customize{background:#fff!important;color:#0f172a!important}
.cky-consent-container .cky-btn:hover{transform:translateY(-1px)!important;opacity:1!important}
.cky-modal.cky-modal-open,.cky-preference-center{border-radius:18px!important;font-family:inherit!important;box-shadow:0 24px 70px rgba(15,23,42,.25)!important}
.cky-preference-header,.cky-preference-body-wrapper,.cky-accordion-wrapper,.cky-footer-wrapper{background:#fff!important}
.cky-preference-header .cky-preference-title{color:#0f172a!important;font-weight:900!important}
.cky-accordion-header .cky-accordion-btn,.cky-accordion-header-des{color:#334155!important}
.cky-btn-revisit-wrapper{display:none!important}
@media(max-width:640px){.cky-consent-container{left:8px!important;right:8px!important;bottom:8px!important}.cky-consent-container .cky-consent-bar{padding:13px!important;border-radius:14px!important}.cky-consent-container .cky-notice-btn-wrapper{display:grid!important;grid-template-columns:1fr 1fr!important}.cky-consent-container .cky-btn{width:100%!important;margin:0!important;padding:8px!important}.cky-consent-container .cky-btn-accept{grid-column:1/-1!important;order:-1!important}}
/* Automatic service discounts */
.eicr-discount-price{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;flex-wrap:wrap;line-height:1.2}
.eicr-discount-price del{color:#94a3b8;font-size:.82em;font-weight:700;text-decoration-thickness:2px}
.eicr-discount-price strong{color:inherit;font-size:1em;font-weight:900}
.eicr-discount-price small{border-radius:999px;background:#16a34a;color:#fff;padding:.2rem .42rem;font-size:.62rem;font-weight:900;letter-spacing:.03em;white-space:nowrap}
.service-detail-price .eicr-discount-price{justify-content:flex-start;gap:.55rem}
.service-detail-price .eicr-discount-price del{color:#64748b}
.service-detail-price .eicr-discount-price strong{color:#0f172a}
.core-price-display .eicr-discount-price{justify-content:flex-start}
@media(max-width:480px){.eicr-discount-price small{font-size:.58rem}}

/* Independent homepage composition and service catalogue layout. */
.eicr-hero-layout{grid-template-columns:1fr!important;text-align:center}
.eicr-hero-copy,.eicr-hero-booking{grid-column:auto!important}
.eicr-hero-copy h1,.eicr-hero-copy>p{margin-left:auto;margin-right:auto}
.eicr-hero-copy>div{justify-content:center}
.eicr-hero-booking aside{max-width:820px;margin:0 auto;border-left:5px solid var(--eicr-accent,#c35a2e);text-align:left;animation:none!important}
.eicr-hero-booking-links{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.eicr-credentials{background:var(--eicr-accent-soft,#fff0e8)!important}
.eicr-credentials>div:first-of-type{grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:clamp(1.5rem,3vw,3rem)}
.eicr-credentials-copy{order:2}
.eicr-credentials-image{order:1;display:flex;min-width:0;align-items:flex-end;justify-content:center}
.eicr-credentials-image img{width:116%;max-width:none;height:auto;margin-left:-8%;border-radius:1.5rem;mix-blend-mode:multiply;transform:translateZ(0)}
.eicr-process article{border-left:4px solid var(--eicr-accent,#c35a2e)!important;border-radius:.75rem!important;box-shadow:none}
.eicr-review-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.eicr-review-consent{display:flex!important;align-items:flex-start;gap:.65rem;margin-top:1rem!important;text-transform:none!important;letter-spacing:0!important;font-size:.78rem!important;line-height:1.35rem}
.eicr-review-consent input{width:auto!important;margin:.2rem 0 0!important}
@media(max-width:760px){
 .eicr-hero-layout{min-height:auto!important}
 .eicr-hero-booking-links{grid-template-columns:1fr!important}
 .eicr-credentials>div:first-of-type{grid-template-columns:1fr}
 .eicr-credentials-copy{order:1}
 .eicr-credentials-image{order:2}
 .eicr-credentials-image img{width:110%;margin-left:-5%}
}
@media(min-width:1280px){
 header nav>div.group:last-child .eicr-desktop-submenu{right:0!important;left:auto!important;transform:translateY(.75rem)!important}
 header nav>div.group:last-child:hover .eicr-desktop-submenu,
 header nav>div.group:last-child:focus-within .eicr-desktop-submenu{transform:translateY(0)!important}
}

/* Minimal copper service cards. */
.eicr-service-showcase{
 position:relative;
 margin-top:3rem;
 margin-bottom:3rem;
 border:1px solid var(--eicr-border,#e4ddd6);
 border-radius:2rem;
 background:
  linear-gradient(135deg,color-mix(in srgb,var(--eicr-accent,#c35a2e) 5%,transparent),transparent 38%),
  var(--eicr-soft,#f7f4f1);
 padding:clamp(2rem,5vw,4rem)!important;
 overflow:hidden;
}
.eicr-service-showcase:before{
 content:"";
 position:absolute;
 top:0;
 right:clamp(2rem,6vw,6rem);
 width:8rem;
 height:3px;
 border-radius:0 0 999px 999px;
 background:var(--eicr-accent,#c35a2e);
 pointer-events:none;
}
.eicr-service-showcase>div:first-child{position:relative;z-index:1;margin-bottom:2.25rem}
.eicr-service-showcase>div:first-child>p:first-child{color:var(--eicr-accent,#c35a2e)!important}
.eicr-service-grid{
 position:relative;
 z-index:1;
 max-width:none;
 display:grid!important;
 grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:1rem!important;
}
.eicr-service-card{
 position:relative;
 display:grid!important;
 min-width:0;
 min-height:0;
 grid-template-columns:1fr;
 grid-template-rows:10rem auto;
 border:1px solid var(--eicr-border,#e4ddd6)!important;
 border-radius:1.15rem!important;
 background:var(--eicr-page,#fcfbfa)!important;
 box-shadow:0 12px 30px -26px rgba(23,32,51,.7)!important;
 overflow:hidden;
 isolation:isolate;
 transform:translateZ(0);
 transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s ease,box-shadow .35s ease!important;
}
.eicr-service-card:before{
 content:"";
 position:absolute;
 z-index:6;
 top:0;
 left:0;
 width:100%;
 height:3px;
 background:linear-gradient(90deg,var(--eicr-accent,#c35a2e) 0 38%,var(--eicr-accent-soft,#fff0e8) 50%,var(--eicr-accent,#c35a2e) 62% 100%);
 background-size:220% 100%;
 background-position:100% 0;
}
.eicr-service-card:after{
 content:none;
}
.eicr-service-card:hover{
 border-color:color-mix(in srgb,var(--eicr-accent,#c35a2e) 55%,var(--eicr-border,#e4ddd6))!important;
 box-shadow:0 18px 38px -28px rgba(23,32,51,.78)!important;
 transform:translateY(-3px);
}
.eicr-service-card:hover:before{animation:eicr-card-current .75s ease-out both}
@keyframes eicr-card-current{
 from{background-position:100% 0}
 to{background-position:-115% 0}
}
.eicr-service-card>div.overflow-hidden{
 position:relative;
 z-index:0;
 grid-column:1;
 grid-row:1;
 min-width:0;
 background:var(--eicr-dark,#121826);
 overflow:hidden;
}
.eicr-service-card>div.overflow-hidden:after{
 content:"";
 position:absolute;
 inset:0;
 background:linear-gradient(180deg,rgba(18,24,38,.06) 10%,rgba(18,24,38,.88) 100%);
 pointer-events:none;
}
.eicr-service-card>div.overflow-hidden img{
 width:100%;
 height:100%!important;
 min-height:0!important;
 object-fit:cover;
 transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .35s ease;
}
.eicr-service-card:hover>div.overflow-hidden img{transform:scale(1.055);filter:saturate(1.04)}
.eicr-service-card>header{
 position:relative;
 z-index:2;
 display:flex;
 grid-column:1;
 grid-row:1;
 min-width:0;
 min-height:0!important;
 align-items:flex-end!important;
 justify-content:space-between!important;
 gap:.75rem!important;
 border:0!important;
 background:transparent!important;
 color:var(--eicr-dark-text,#fff)!important;
 padding:1rem 1.05rem!important;
 pointer-events:none;
}
.eicr-service-card>header>div{min-width:0}
.eicr-service-card>header p{
 display:inline-flex;
 width:max-content;
 max-width:100%;
 border:1px solid rgba(255,255,255,.26);
 border-radius:999px;
 background:rgba(18,24,38,.58);
 color:var(--eicr-dark-text,#fff)!important;
 padding:.25rem .5rem;
 font-family:inherit;
 font-size:.55rem!important;
 letter-spacing:.14em!important;
 backdrop-filter:blur(7px);
}
.eicr-service-card>header h3{
 max-width:23rem;
 margin-top:.38rem!important;
 color:var(--eicr-dark-text,#fff)!important;
 font-size:1rem!important;
 line-height:1.25!important;
 text-wrap:balance;
}
.eicr-service-card>header>span{
 display:inline-flex;
 flex:0 0 auto;
 align-items:center;
 border:1px solid rgba(255,255,255,.18)!important;
 border-radius:.65rem!important;
 background:var(--eicr-accent,#c35a2e)!important;
 color:var(--eicr-on-accent,#fff)!important;
 padding:.42rem .62rem!important;
 box-shadow:none!important;
 white-space:nowrap;
 clip-path:none;
}
.eicr-service-card>div.flex{
 display:flex!important;
 grid-column:1;
 grid-row:2;
 min-width:0;
 background:var(--eicr-page,#fcfbfa);
}
.eicr-service-card>div.flex>div:first-child{
 padding:.78rem 1rem .5rem!important;
 text-align:left!important;
}
.eicr-service-card>div.flex>div:first-child p:first-child{
 color:var(--eicr-heading,#000)!important;
 font-size:.82rem!important;
 line-height:1.4!important;
}
.eicr-service-card>div.flex>div:first-child p:last-child{
 color:var(--eicr-body,#202020)!important;
 margin-top:.3rem!important;
 font-size:.76rem!important;
 line-height:1.45!important;
}
.eicr-service-card .divide-y{
 display:grid!important;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:.4rem;
 border:0!important;
 background:transparent!important;
 padding:0 1rem .7rem!important;
}
.eicr-service-card .divide-y>div{
 min-width:0;
 border:1px solid var(--eicr-border,#e4ddd6)!important;
 border-radius:.65rem;
 background:var(--eicr-soft,#f7f4f1)!important;
 padding:.48rem .58rem!important;
 color:var(--eicr-body,#202020)!important;
 font-size:.75rem!important;
 line-height:1.35!important;
 box-shadow:none;
}
.eicr-service-card .divide-y>div span{line-height:1.25;font-weight:650!important}
.eicr-service-card .divide-y>div b{color:var(--eicr-heading,#000)!important;font-weight:850!important}
.eicr-service-card .mt-auto{
 display:grid!important;
 width:100%;
 grid-template-columns:auto auto;
 align-items:center!important;
 justify-content:space-between!important;
 gap:.5rem!important;
 border-top:1px solid var(--eicr-border,#e4ddd6);
 background:var(--eicr-page,#fcfbfa);
 padding:.75rem 1rem .85rem!important;
}
.eicr-service-card .mt-auto>a{
 display:inline-flex!important;
 min-width:0!important;
 min-height:2.55rem;
 align-items:center;
 justify-content:center;
 gap:.42rem!important;
 border:1px solid transparent!important;
 border-radius:.75rem!important;
 padding:.55rem .85rem!important;
 box-shadow:none!important;
 font-size:.78rem!important;
 letter-spacing:.01em;
}
.eicr-service-card .mt-auto>a:first-child{
 justify-self:start;
 justify-content:center;
 border-color:var(--eicr-dark,#121826)!important;
 background:var(--eicr-dark,#121826)!important;
 color:var(--eicr-dark-text,#fff)!important;
}
.eicr-service-card .mt-auto>a:first-child svg{
 width:.95rem;
 height:.95rem;
 margin-left:.1rem;
 border-radius:0;
 background:transparent;
 color:currentColor;
 padding:0;
 transition:transform .25s ease;
}
.eicr-service-card .mt-auto>a:first-child:hover{
 background:color-mix(in srgb,var(--eicr-dark,#121826) 90%,white)!important;
 color:var(--eicr-dark-text,#fff)!important;
}
.eicr-service-card .mt-auto>a:first-child:hover svg{
 transform:translateX(3px);
}
.eicr-service-card .mt-auto>a:last-child{
 justify-self:end;
 min-width:7.8rem!important;
 justify-content:center;
 background:var(--eicr-accent,#c35a2e)!important;
 color:var(--eicr-on-accent,#fff)!important;
 padding-left:.85rem!important;
 border-radius:.75rem!important;
 clip-path:none;
}
.eicr-service-card .mt-auto>a:last-child:after{
 content:none;
}
.eicr-service-card .mt-auto>a:last-child:hover{background:var(--eicr-accent-hover,#9a3f20)!important}
.eicr-service-card .mt-auto>a:focus-visible{
 outline:3px solid color-mix(in srgb,var(--eicr-accent,#c35a2e) 42%,transparent);
 outline-offset:2px;
}
@media(max-width:1100px) and (min-width:651px){
 .eicr-service-grid{max-width:920px;margin-right:auto;margin-left:auto;grid-template-columns:1fr!important}
 .eicr-service-card{
  grid-template-columns:15rem minmax(0,1fr);
  grid-template-rows:auto;
  min-height:17rem;
 }
 .eicr-service-card>div.overflow-hidden,.eicr-service-card>header{grid-column:1;grid-row:1}
 .eicr-service-card>div.flex{grid-column:2;grid-row:1}
}
@media(max-width:650px){
 .eicr-service-showcase{margin-top:1.5rem;margin-bottom:1.5rem;border-radius:1.25rem;padding:1.1rem!important}
 .eicr-service-grid{grid-template-columns:1fr!important;gap:1rem!important}
 .eicr-service-card{
  grid-template-columns:1fr;
  grid-template-rows:9.5rem auto;
  border-radius:1rem!important;
 }
 .eicr-service-card>div.overflow-hidden,.eicr-service-card>header{grid-column:1;grid-row:1}
 .eicr-service-card>div.flex{grid-column:1;grid-row:2}
 .eicr-service-card>header{padding:.85rem!important}
 .eicr-service-card>header h3{font-size:.92rem!important}
 .eicr-service-card .divide-y{padding-right:1rem!important;padding-left:1rem!important}
 .eicr-service-card .mt-auto{padding-right:1rem!important;padding-left:1rem!important}
}
@media(max-width:430px){
 .eicr-service-card .divide-y{grid-template-columns:1fr}
 .eicr-service-card .mt-auto{grid-template-columns:auto auto;column-gap:1.25rem!important}
 .eicr-service-card .mt-auto>a{font-size:.74rem!important}
 .eicr-service-card .mt-auto>a:last-child{min-width:7.7rem!important}
}

/* A restrained electric-current sweep for primary actions. */
.bg-gold,.gold,.core-book,.service-detail-book,.service-detail-included>a,.service-detail-cta a,.eicr-form button,.eicr-service-card .mt-auto>a:last-child{
 position:relative;
 overflow:hidden;
 isolation:isolate;
}
.bg-gold:before,.gold:before,.core-book:before,.service-detail-book:before,.service-detail-included>a:before,.service-detail-cta a:before,.eicr-form button:before,.eicr-service-card .mt-auto>a:last-child:before{
 content:"";
 position:absolute;
 z-index:0;
 top:-35%;
 bottom:-35%;
 left:-45%;
 width:28%;
 background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);
 transform:translateX(-220%) skewX(-18deg);
 pointer-events:none;
}
.bg-gold:hover:before,.gold:hover:before,.core-book:hover:before,.service-detail-book:hover:before,.service-detail-included>a:hover:before,.service-detail-cta a:hover:before,.eicr-form button:hover:before,.eicr-service-card .mt-auto>a:last-child:hover:before{
 animation:eicr-button-current .58s ease-out both;
}
@keyframes eicr-button-current{
 from{transform:translateX(-220%) skewX(-18deg)}
 to{transform:translateX(620%) skewX(-18deg)}
}
@media(prefers-reduced-motion:reduce){
 .eicr-service-card:hover:before,
 .bg-gold:hover:before,.gold:hover:before,.core-book:hover:before,.service-detail-book:hover:before,.service-detail-included>a:hover:before,.service-detail-cta a:hover:before,.eicr-form button:hover:before,.eicr-service-card .mt-auto>a:last-child:hover:before{animation:none!important}
}

/* High-visibility compact form labels. */
.booking-compact .label{font-size:.7rem!important;color:var(--eicr-heading,#000)!important}

/* Desktop hero: information on the left, visit-planning card on the right. */
@media(min-width:1024px){
 .eicr-hero-layout{grid-template-columns:minmax(0,1.55fr) minmax(340px,.72fr)!important;gap:clamp(2.5rem,5vw,5.5rem)!important;min-height:650px!important;text-align:left!important}
 .eicr-hero-copy{grid-column:1!important;max-width:780px}
 .eicr-hero-booking{grid-column:2!important;width:100%}
 .eicr-hero-copy h1{max-width:760px!important;margin-right:0!important;margin-left:0!important;font-size:clamp(3rem,4.25vw,4.35rem)!important;line-height:1.03!important;letter-spacing:-.035em}
 .eicr-hero-copy>p{margin-right:0!important;margin-left:0!important;max-width:720px!important}
 .eicr-hero-copy>div{justify-content:flex-start!important}
 .eicr-hero-booking aside{width:100%;max-width:410px;margin:0 0 0 auto!important;border:1px solid rgba(255,255,255,.72)!important;border-top:5px solid var(--eicr-accent,#c35a2e)!important;border-radius:1.35rem!important;padding:1.65rem!important;text-align:left!important;box-shadow:0 30px 80px -42px rgba(0,0,0,.9)!important}
 .eicr-hero-booking aside h2{max-width:300px;font-size:1.55rem!important;line-height:1.15}
 .eicr-hero-booking-links{grid-template-columns:1fr!important;gap:.75rem!important;margin-top:1.25rem!important}
 .eicr-hero-booking-links>a{min-height:72px;border-radius:.9rem!important;padding:.9rem 1rem!important}
}
@media(min-width:1024px) and (max-width:1180px){
 .eicr-hero-layout{grid-template-columns:minmax(0,1.35fr) minmax(325px,.72fr)!important;gap:2.25rem!important}
 .eicr-hero-copy h1{font-size:clamp(2.65rem,4.3vw,3.35rem)!important}
}

/* Mobile booking actions: clear, full-width touch targets without changing desktop. */
@media(max-width:520px){
 .booking-form-actions{align-items:stretch!important;flex-direction:column!important;gap:.65rem!important;padding-top:1rem!important}
 .booking-form-actions>[data-next-note],.booking-form-actions>[data-submit-note]{width:100%;max-width:none!important;line-height:1.2rem;text-align:left}
 .booking-form-actions>button{display:flex;width:100%;min-height:46px;align-items:center;justify-content:center;padding:.7rem 1rem!important;font-size:.84rem!important}
}

/* Compact hero contact and booking actions. */
.eicr-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1.5rem}
.eicr-hero-action{min-height:42px;border-radius:.75rem;padding:.65rem 1rem;font-size:.8rem;font-weight:850;line-height:1;white-space:nowrap}
.eicr-hero-action svg{width:16px;height:16px;flex:none}
.eicr-hero-action-secondary{border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:#fff}
.eicr-hero-action-secondary:hover{background:rgba(255,255,255,.16)}
.eicr-hero-action-primary{border:1px solid var(--eicr-accent,#c35a2e);background:var(--eicr-accent,#c35a2e);color:#fff}
.eicr-hero-action-primary:hover{background:var(--eicr-accent-hover,#9a3f20)}
@media(max-width:520px){
 .eicr-hero-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin-top:1.2rem}
 .eicr-hero-action{min-height:40px;padding:.58rem .4rem;font-size:.72rem}
 .eicr-hero-action svg{width:14px;height:14px}
}

/* Published reviews move in newest-first order. */
.eicr-review-viewport{
 position:relative;
 overflow:hidden;
}
.review-marquee{
 display:flex;
 width:max-content;
 gap:1rem;
 animation:eicr-review-marquee var(--eicr-review-duration,36s) linear infinite;
 transform:translate3d(0,0,0);
 will-change:transform;
}
.review-marquee-set{
 display:flex;
 flex:none;
 gap:1rem;
}
.review-marquee:hover,
.review-marquee:focus-within{
 animation-play-state:paused;
}
@keyframes eicr-review-marquee{
 from{transform:translate3d(0,0,0)}
 to{transform:translate3d(calc(-50% - .5rem),0,0)}
}
@media(prefers-reduced-motion:reduce){
 .eicr-review-viewport{overflow-x:auto}
 .review-marquee{animation:none!important;transform:none!important;will-change:auto}
 .review-marquee>[aria-hidden="true"]{display:none!important}
}

/* Customer access stays compact on desktop and becomes a normal mobile-nav row. */
.eicr-account-menu{position:relative;display:flex;align-items:center}
.eicr-account-nav-link{
 display:inline-flex;
 width:2.85rem;
 height:2.85rem;
 flex:0 0 2.85rem;
 align-items:center;
 justify-content:center;
 border:1px solid var(--eicr-accent,#c35a2e);
 border-radius:999px;
 color:var(--eicr-accent,#c35a2e)!important;
 background:#fff7ed;
 box-shadow:0 8px 20px -18px #0f172a;
 transition:background-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.eicr-account-nav-link img{display:block;width:2.7rem;height:2.7rem;border-radius:999px;object-fit:cover;transition:transform .2s ease}
.eicr-account-nav-link:hover{background:var(--eicr-accent,#c35a2e);color:var(--eicr-on-accent,#fff)!important;box-shadow:0 10px 24px -18px #0f172a;transform:translateY(-1px)}
.eicr-account-nav-link:hover img{transform:scale(.94)}
.eicr-account-nav-link:focus-visible{outline:3px solid color-mix(in srgb,var(--eicr-accent,#c35a2e) 35%,transparent);outline-offset:3px}
.eicr-account-popover{pointer-events:none;visibility:hidden;position:absolute;z-index:90;top:calc(100% - .15rem);right:0;display:grid;width:12.5rem;transform:translateY(.55rem);border:1px solid var(--eicr-border,#e4ddd6);border-radius:.85rem;background:#fff;padding:.45rem;opacity:0;box-shadow:0 22px 45px -25px #0f172a;transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
.eicr-account-menu:hover .eicr-account-popover,.eicr-account-menu:focus-within .eicr-account-popover{pointer-events:auto;visibility:visible;transform:translateY(0);opacity:1}
.eicr-account-popover a{display:block;border-radius:.55rem;padding:.68rem .75rem;color:var(--eicr-heading,#111827)!important;font-size:.75rem;font-weight:800;text-align:left;white-space:nowrap}
.eicr-account-popover a:hover{background:#fff0e8;color:var(--eicr-accent-hover,#9a3f20)!important}
.eicr-account-popover .eicr-popover-logout{margin-top:.25rem;border-top:1px solid #e5e7eb;border-radius:0 0 .55rem .55rem;color:#b91c1c!important}
.eicr-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1279px){
 .eicr-mobile-nav>a.eicr-account-nav-link{width:100%;height:auto;min-height:3rem;justify-content:flex-start;gap:.7rem;border:0;background:#fff;box-shadow:none}
 .eicr-mobile-nav>a.eicr-account-nav-link img{display:none}
 .eicr-mobile-nav>a.eicr-account-nav-link:hover{background:#fff0e8;color:var(--eicr-heading,#111827)!important;box-shadow:none;transform:none}
 .eicr-mobile-nav .eicr-account-nav-link .eicr-visually-hidden{position:static!important;width:auto!important;height:auto!important;margin:0!important;overflow:visible!important;clip:auto!important;white-space:normal!important}
}

.eicr-credential-list-wrap{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:0 0 2.5rem}
.eicr-credential-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.eicr-credential-card{display:flex;align-items:center;gap:.8rem;border:1px solid var(--eicr-border,#e4ddd6);border-radius:.9rem;background:#fff;padding:.8rem 1rem}
.eicr-credential-card img{width:68px;height:42px;object-fit:contain}
.eicr-credential-card span{display:grid;gap:.2rem;min-width:0}
.eicr-credential-card strong{color:var(--eicr-heading,#111827);font-size:.82rem}
.eicr-credential-card small{overflow-wrap:anywhere;color:var(--eicr-body,#475569);font-size:.68rem}
.eicr-credential-list-wrap>p{margin:.8rem 0 0;color:var(--eicr-body,#64748b);font-size:.68rem;text-align:center}
@media(max-width:850px){.eicr-credential-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.eicr-credential-list{grid-template-columns:1fr}}

/* Keep the review confirmation focused after a successful submission. */
.eicr-review-form.eicr-review-complete>:not(.eicr-response):not(.eicr-review-again){display:none!important}
.eicr-review-form.eicr-review-complete .eicr-response{margin:0;border:1px solid #bbf7d0;border-radius:1rem;background:#f0fdf4;padding:1.1rem;color:#166534;font-size:.95rem;line-height:1.7;text-align:center}
.eicr-review-again{display:none}
.eicr-review-form.eicr-review-complete .eicr-review-again{display:inline-flex!important;justify-self:center;margin-top:.8rem}

.eicr-skip-link{position:fixed;z-index:99999;top:.75rem;left:.75rem;transform:translateY(-180%);border-radius:.5rem;background:#111827;padding:.7rem 1rem;color:#fff!important;font-size:.85rem;font-weight:800;text-decoration:none!important;transition:transform .15s ease}
.eicr-skip-link:focus{transform:translateY(0)}
@media(max-width:639px){footer .border-t>.px-16{padding-left:1rem;padding-right:1rem}}

.contents{display:contents}
.area-links{display:flex;flex-wrap:wrap;gap:.4rem;margin:.2rem 0 0;padding:0;list-style:none}
.area-links li{margin:0}
.area-links li:before{content:none!important}
.area-links a{display:inline-flex;border:1px solid #e2e8f0;border-radius:999px;padding:.3rem .7rem;color:#334155;font-size:.8rem;font-weight:700}
.area-links a:hover{border-color:#c35a2e;color:#9a3f20}
.area-more{margin-top:.9rem;font-size:.85rem;font-weight:800}
.area-more a{color:#9a3f20;text-decoration:underline}
.guide-cta{margin:1.6rem 0 .4rem}
.service-detail-included .area-links{margin-bottom:1rem}
.service-detail-included .area-links li{padding:0!important;border:0!important}
.core-copy section h2{margin-top:1.5rem!important}
.core-copy p+p{margin-top:.6rem}
