:root{color-scheme:light;font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.5;font-weight:400;color:#111827;background:#f5f7fb;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--surface: rgba(255, 255, 255, .82);--text: #111827;--muted: #5f6b7a;--line: rgba(17, 24, 39, .08);--accent: #1d5ae8;--accent-dark: #1847b5;--dark: #0d1725;--shadow: 0 24px 70px rgba(15, 23, 42, .08);--shadow-strong: 0 26px 80px rgba(15, 23, 42, .14);--radius-xl: 28px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top left,rgba(29,90,232,.12),transparent 20%),radial-gradient(circle at 85% 12%,rgba(17,24,39,.06),transparent 16%),linear-gradient(180deg,#f7f9fc,#edf2f8 52%,#f7f9fc);color:var(--text)}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}#root{min-height:100vh}.container{width:min(1200px,calc(100% - 2rem));margin:0 auto}.skip-link{position:absolute;top:-3rem;left:1rem;background:var(--dark);color:#fff;padding:.75rem 1rem;border-radius:.5rem;z-index:1000}.skip-link:focus{top:1rem}.topbar{position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(255,255,255,.55)}.topbar--luxury{background:#f7f9fca3;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.topbar__inner{min-height:102px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.5rem}.brand-button,.nav__link{border:0;background:transparent;cursor:pointer}.brand{display:inline-flex;align-items:center;gap:1rem;color:var(--text);text-align:left}.brand img{width:220px;height:100px;object-fit:contain;filter:drop-shadow(0 12px 26px rgba(17,24,39,.08))}.nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem}.nav__link{padding:.78rem .95rem;border-radius:999px;font-weight:700;color:var(--muted);transition:background .18s ease,color .18s ease,transform .18s ease}.nav::-webkit-scrollbar{height:6px}.nav::-webkit-scrollbar-thumb{background:#11182724;border-radius:999px}.nav__link--active,.nav__link:hover{background:#1d5ae814;color:var(--accent);transform:translateY(-1px)}.topbar__cta{display:flex;justify-content:flex-end}.hero{padding:3.6rem 0 2rem}.hero-editorial,.split-layout,.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.92fr);gap:1.5rem;align-items:stretch}.hero-editorial__copy,.hero-editorial__visual,.glass-card,.review-card,.areas-panel,.map-panel,.profile-card,.contact-panel,.contact-form{background:var(--surface);border:1px solid rgba(255,255,255,.72);box-shadow:var(--shadow);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.hero-editorial__copy,.hero-editorial__visual,.areas-panel,.map-panel,.profile-card,.contact-panel,.contact-form,.home-services-callout,.reviews-carousel,.before-after-carousel{padding:2rem}.eyebrow{margin:0 0 .9rem;text-transform:uppercase;letter-spacing:.09em;font-size:.74rem;font-weight:800;color:var(--accent)}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.06}h1{font-size:clamp(2rem,4.2vw,3.4rem);margin-bottom:1rem;max-width:10ch}.page-title{max-width:14ch}h2{font-size:clamp(1.35rem,2.5vw,2.2rem);margin-bottom:1rem}h3{font-size:1.05rem;margin-bottom:.7rem}.lead,.service-tile p,.review-card span,.review-quote,.profile-card p,.job-card p,.contact-panel p,.footer p,.split-layout p,.page-header p,.service-detail-card p,.map-panel__caption span,.hero-editorial__badge span{color:var(--muted)}.lead{max-width:52ch;font-size:1rem}.hero-tags{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.1rem}.hero-tags span{display:inline-flex;align-items:center;min-height:34px;padding:.4rem .75rem;border-radius:999px;background:#1d5ae814;border:1px solid rgba(29,90,232,.12);color:var(--accent);font-weight:700;box-shadow:inset 0 1px #ffffffa6}.hero-editorial__actions,.contact-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.5rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.95rem 1.35rem;border-radius:999px;border:1px solid transparent;text-decoration:none;font-weight:800;cursor:pointer;transition:transform .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease}.button:hover{transform:translateY(-2px);box-shadow:0 12px 30px #1118271f}.button--primary{background:linear-gradient(135deg,#1d5ae8,#3a7bff);color:#fff;box-shadow:0 14px 28px #1d5ae838}.button--primary:hover{background:linear-gradient(135deg,var(--accent-dark),#2f6cf0)}.button--secondary{background:#fff;color:var(--text);border-color:var(--line)}.button--ghost{background:#1118270d;color:var(--text)}.button--full{width:100%}.hero-editorial__visual{position:relative;min-height:540px;overflow:hidden;background:radial-gradient(circle at 10% 10%,rgba(29,90,232,.2),transparent 26%),linear-gradient(145deg,#1d5ae81a,#ffffff8f)}.hero-editorial__visual:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#ffffff05,#ffffff1f);pointer-events:none}.hero-editorial__image{position:absolute;border-radius:24px;background-size:cover;background-position:center;box-shadow:var(--shadow-strong);overflow:hidden}.hero-editorial__image--primary{top:1.25rem;right:1.25rem;bottom:1.25rem;left:1.25rem;background:linear-gradient(180deg,#1118270f,#11182738)}.hero-editorial__image--primary img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-editorial__image--primary:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#11182714,#11182747)}.hero-orb{position:absolute;border-radius:999px;filter:blur(10px);pointer-events:none;opacity:.8}.hero-orb--one{width:120px;height:120px;right:2rem;bottom:8rem;background:radial-gradient(circle,#1d5ae859,#1d5ae800)}.hero-orb--two{width:84px;height:84px;left:2rem;top:5rem;background:radial-gradient(circle,#ffffffb3,#fff0)}.hero-editorial__badge{position:absolute;z-index:2;background:#fffffff0;border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow);border-radius:18px;padding:1rem 1.1rem}.hero-editorial__badge--stats{left:1.5rem;right:7rem;bottom:1.5rem}.hero-editorial__badge--stats strong{display:block;font-size:1rem;margin-bottom:.25rem}.hero-editorial__badge--trust{top:1.5rem;right:1.5rem;display:flex;flex-wrap:wrap;gap:.5rem;max-width:220px}.hero-editorial__badge--trust span{display:inline-flex;align-items:center;min-height:38px;padding:.55rem .8rem;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:700;color:var(--text)}.section{padding:4.4rem 0}.section--compact{padding-top:0}.section--soft{background:linear-gradient(180deg,#eef3f8b8,#f7f9fcd1)}.home-services-callout{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem;align-items:center}.home-services-callout__actions{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:flex-end}.before-after-carousel{overflow:hidden}.before-after-carousel__header{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin-bottom:1.2rem}.before-after-carousel__controls,.before-after-carousel__dots{display:flex;gap:.6rem}.before-after-carousel__controls button,.before-after-carousel__dots button{border:0;cursor:pointer;transition:transform .18s ease,background .18s ease}.before-after-carousel__controls button{width:46px;height:46px;border-radius:999px;background:#1d5ae814;color:var(--accent);font-size:1.4rem;font-weight:800}.before-after-carousel__frame{min-height:360px;overflow:hidden;border-radius:24px}.before-after-carousel__pair{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.before-after-carousel__image{min-height:360px;border-radius:24px;display:flex;align-items:end;padding:1rem;position:relative;overflow:hidden;margin:0;background:#e8edf5}.before-after-carousel__image img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.before-after-carousel__image:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#11182705,#11182757)}.before-after-carousel__image span{position:relative;z-index:1;color:#fff;font-weight:800}.before-after-carousel__footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem}.before-after-carousel__dots button,.reviews-carousel__dots button{width:10px;height:10px;border-radius:999px;background:#11182729}.before-after-carousel__dots button.is-active,.reviews-carousel__dots button.is-active{width:30px;background:var(--accent)}.card-grid{display:grid;gap:1rem}.card-grid--three{grid-template-columns:repeat(3,1fr)}.card-grid--two{grid-template-columns:repeat(2,1fr)}.service-tile,.service-detail-card,.job-card,.review-card{padding:1.3rem;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;transform-style:preserve-3d}.service-tile:hover,.service-detail-card:hover,.job-card:hover,.review-card:hover,.profile-card:hover{transform:translateY(-4px);box-shadow:0 28px 70px #0f172a1f;border-color:#1d5ae82e}.service-tile__image{min-height:210px;border-radius:18px;margin-bottom:1rem;background-size:cover;background-position:center;position:relative;overflow:hidden}.service-tile__image:after,.profile-card__photo:after,.map-panel__visual:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#1118270a,#11182729)}.service-tile__image--1{background-image:url(/images/Kitchen%20after.jpg)}.service-tile__image--2{background-image:url(/images/CommercialAfter.jpg)}.service-tile__image--3{background-image:url(/images/bedroomafter1.jpg)}.reviews-carousel{overflow:hidden}.reviews-carousel__header{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin-bottom:1.4rem}.reviews-carousel__controls{display:flex;gap:.6rem}.reviews-carousel__controls button,.reviews-carousel__dots button{border:0;cursor:pointer;transition:transform .18s ease,background .18s ease}.reviews-carousel__controls button{width:46px;height:46px;border-radius:999px;background:#1d5ae814;color:var(--accent);font-size:1.4rem;font-weight:800}.reviews-carousel__controls button:hover,.before-after-carousel__controls button:hover{transform:translateY(-2px);background:#1d5ae824}.reviews-carousel__stage{min-height:240px;position:relative;overflow:hidden;border-radius:24px;background:linear-gradient(135deg,#ffffffe0,#f0f6fff5);border:1px solid rgba(29,90,232,.08)}.reviews-carousel__slide{min-height:240px;display:grid;align-content:center;padding:2rem}.reviews-carousel__quote{font-size:clamp(1rem,1.8vw,1.3rem);line-height:1.5;margin-bottom:1rem;max-width:48ch}.reviews-carousel__dots{display:flex;gap:.5rem;justify-content:center;margin-top:1rem}.areas-panel{display:flex;flex-wrap:wrap;gap:.75rem;align-content:start}.area-chip{min-height:44px;padding:.8rem 1rem;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--text);font-weight:700;cursor:pointer;transition:transform .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease}.area-chip:hover,.area-chip:focus,.area-chip--active{background:var(--accent);color:#fff;transform:translateY(-2px) scale(1.02);box-shadow:0 14px 30px #1d5ae838}.map-panel__visual{min-height:380px;border-radius:22px;background:url(/images/Coverage%20area.png) center/cover no-repeat;position:relative;overflow:hidden}.map-panel__caption{margin-top:1rem;display:grid;gap:.2rem}.profile-card__photo{min-height:420px;border-radius:22px;margin-bottom:1rem;background-size:cover;position:relative;overflow:hidden}.profile-card__photo--louise{background-image:url(/images/Louise.png);background-position:center top}.profile-card__photo--kim{background-image:url(/images/kim.jpg);background-position:center 18%}.job-type{display:inline-flex;margin-bottom:1rem;padding:.5rem .8rem;border-radius:999px;background:#1d5ae814;color:var(--accent);font-weight:800}.text-link{color:var(--accent);text-decoration:none;font-weight:800}.contact-layout{align-items:start}.contact-actions{margin-top:1rem}.contact-detail-list{display:grid;gap:.9rem;margin-top:1.2rem}.contact-detail-list div{display:grid;gap:.2rem;padding:.9rem 1rem;border-radius:18px;background:#ffffffb8;border:1px solid var(--line)}.contact-detail-list strong{font-size:.92rem}.contact-detail-list span{color:var(--muted)}.contact-form{display:grid;gap:1rem}.contact-form label{display:grid;gap:.45rem;font-weight:700}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:16px;padding:.95rem 1rem;background:#fff;color:var(--text)}.contact-form textarea{resize:vertical}.form-help-text{margin:-.2rem 0 0;color:var(--muted);font-size:.95rem}.social-links{margin-top:1rem}.social-links a{color:var(--accent);text-decoration:none;font-weight:700}.hidden-field{position:absolute;left:-9999px;opacity:0;pointer-events:none}.footer{background:#fff;border-top:1px solid var(--line)}.footer__inner{min-height:120px;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;align-items:center;padding:1.5rem 0}.footer a{display:block;color:var(--muted);text-decoration:none;margin-bottom:.35rem}@media (max-width: 1100px){.topbar__inner,.hero-editorial,.split-layout,.contact-layout,.footer__inner,.home-services-callout,.before-after-carousel__pair{grid-template-columns:1fr}.nav,.topbar__cta{justify-content:flex-start}}@media (max-width: 760px){.topbar{position:static}.topbar__inner{padding:.85rem 0 1rem;gap:.85rem;min-height:auto}.brand{width:100%;justify-content:flex-start}.nav{width:100%;flex-wrap:nowrap;overflow-x:auto;padding-bottom:.35rem}.nav__link{flex:0 0 auto;white-space:nowrap}h1,.page-title{max-width:none}.section{padding:3.8rem 0}.card-grid--three,.card-grid--two{grid-template-columns:1fr}.brand img{width:176px;height:82px}.hero-editorial__visual{min-height:430px}.hero-editorial__badge--stats{right:1rem}}@media (max-width: 560px){.container{width:min(100% - 1rem,1200px)}.hero{padding-top:2.4rem}.hero-editorial__copy,.hero-editorial__visual,.areas-panel,.map-panel,.profile-card,.contact-panel,.contact-form,.reviews-carousel,.home-services-callout,.before-after-carousel{padding:1.25rem}.button{width:100%}.hero-editorial__visual{min-height:390px}.hero-editorial__badge--trust{left:1rem;right:1rem;top:1rem;max-width:none}.hero-editorial__badge--stats{left:1rem;right:1rem;bottom:1rem}.reviews-carousel__header,.before-after-carousel__header,.before-after-carousel__footer{flex-direction:column;align-items:flex-start}.reviews-carousel__stage,.reviews-carousel__slide,.before-after-carousel__image{min-height:280px}.footer__inner{padding:1.2rem 0}}
