:root{--ink:#231f20;--muted:#626064;--paper:#fbfbfb;--line:#dededf;--light:#ededee;--white:#fff;--accent:#333;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #70764d;outline-offset:5px}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500;line-height:1.12;letter-spacing:-.035em}h1{font-size:clamp(2.7rem,5.5vw,5.25rem);max-width:950px;margin-bottom:24px}h2{font-size:clamp(2rem,3.1vw,3rem);margin-bottom:22px}h3{font-size:1.45rem;margin-bottom:16px}p{color:var(--muted);max-width:65ch}header{border-bottom:1px solid var(--line);background:var(--paper)}.header-inner{max-width:var(--max);margin:auto;padding:28px 24px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{flex-shrink:0}.brand img{width:215px;height:auto}.wordmark{font-size:2rem;font-weight:800;letter-spacing:-.055em;line-height:1}.wordmark span{font-size:.65rem;display:block;letter-spacing:.17em;margin-top:7px}nav{display:flex;align-items:center;gap:28px;font-size:.9rem}nav>a{white-space:nowrap}.button{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:13px 23px;background:var(--ink);color:var(--white);border:1px solid var(--ink);font-size:.9rem;font-weight:600;line-height:1.5;cursor:pointer;text-align:center;letter-spacing:0}.button:hover{background:#4a4b45;text-decoration:none}.button.secondary{background:transparent;color:var(--ink)}.button.secondary:hover{background:var(--light)}button:disabled{cursor:default;background:#b5b6ae;border-color:#b5b6ae;color:#303131}.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.services-nav{position:relative}.services-nav summary{cursor:pointer;list-style:none;min-height:44px;display:flex;align-items:center}.services-nav summary:after{content:'+';margin-left:9px}.services-nav[open] summary:after{content:'−'}.services-nav>div{position:absolute;z-index:10;top:50px;left:0;min-width:255px;padding:12px;background:var(--paper);box-shadow:0 10px 25px #0002;border:1px solid var(--line)}.services-nav>div a{display:block;padding:10px}.skip{position:absolute;left:12px;top:-100px;padding:12px;background:var(--ink);color:white;z-index:20}.skip:focus{top:12px}main{max-width:var(--max);margin:auto;padding:0 24px}section{padding:86px 0}.eyebrow{display:block;font-size:.75rem;font-weight:600;letter-spacing:.14em;line-height:1.5;margin-bottom:22px;color:var(--muted)}.home-hero{padding-top:68px;display:grid;grid-template-columns:1.1fr 1fr;column-gap:55px}.hero-copy{padding:16px 0 35px}.hero-copy h1{font-size:clamp(3.2rem,5.6vw,5.5rem);line-height:1.02}.hero-description{font-size:1.2rem;max-width:33ch;margin-bottom:18px}.hero-tagline{color:var(--ink);font-weight:600;font-size:.95rem;margin-bottom:30px}.hero-panel{background:#e6e7e0;min-height:470px;padding:45px;display:flex;flex-direction:column;justify-content:space-between}.panel-rule{display:block;width:60px;border-top:2px solid var(--ink)}.hero-panel p{font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.2;letter-spacing:-.025em;color:var(--ink);margin-bottom:24px}.hero-panel .eyebrow{font-size:.72rem}.photo-caption{font-size:.8rem;color:#5a5c54}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:25px;margin-top:44px;font-size:.72rem;letter-spacing:.12em;color:var(--muted)}.quiet{display:inline-block;margin-top:20px;font-size:.9rem}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:38px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:34ch;margin-bottom:0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:50px}.service-tile{border-top:1px solid var(--ink);padding:28px 0 8px;display:flex;flex-direction:column}.service-tile h3{font-size:1.55rem}.service-tile p{font-size:.95rem}.service-tile:hover{text-decoration:none}.service-tile:hover .text-link{text-decoration:underline}.index{font-size:.75rem;color:var(--muted);display:block;margin-bottom:34px}.text-link{font-size:.88rem;font-weight:600;text-decoration:underline;text-underline-offset:6px;line-height:1.7}.service-tile .text-link{margin-top:auto}.supporting{display:block;margin-top:28px}.work-section{border-top:1px solid var(--line)}.empty-work{background:var(--light);padding:60px;min-height:230px}.empty-work h3{font-size:1.8rem}.empty-work p{margin-bottom:0}.principles{display:grid;grid-template-columns:1fr 1fr;gap:110px;border-top:1px solid var(--line)}.principle-list article{display:flex;gap:30px;padding:25px 0;border-bottom:1px solid var(--line)}.principle-list article:first-child{padding-top:0}.principle-list article>span{font-size:.8rem;padding-top:4px;color:var(--muted)}.principle-list article p{margin-bottom:0}.region-section{border-top:1px solid var(--line)}.region-section p{max-width:64ch;font-size:1.05rem}.final-cta{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:40px}.final-cta p{margin-bottom:0}.final-cta>.button{flex-shrink:0}footer{background:#eeeee8;padding:58px max(24px,calc((100vw - 1192px)/2)) 30px;margin-top:20px}footer .brand img,footer img{width:245px}footer .footer-top{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:60px}footer .footer-top>div:first-child>p:first-of-type{margin-top:26px;color:var(--ink)}footer h2{font-size:.85rem;font-weight:600;letter-spacing:0;margin-bottom:20px}footer a{display:block;font-size:.9rem;margin:9px 0;overflow-wrap:anywhere}footer p{font-size:.9rem}.footer-bottom{margin-top:44px;border-top:1px solid #cccfc3;padding-top:20px;display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap;font-size:.75rem;color:var(--muted)}.footer-bottom a{font-size:.75rem;margin:0}.breadcrumbs{display:flex;gap:13px;font-size:.8rem;margin-top:28px;flex-wrap:wrap;color:var(--muted)}.page-hero{padding:70px 0 64px;border-bottom:1px solid var(--line)}.lead{font-size:1.18rem;max-width:55ch;margin-bottom:0}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.intro-grid h2{max-width:19ch}.intro-grid p{font-size:1.08rem}.detail-grid{padding-top:0;display:grid;grid-template-columns:1fr 1fr;gap:50px 85px}.detail-grid article{border-top:1px solid var(--line);padding-top:30px}.detail-grid article h2{font-size:1.65rem;letter-spacing:-.025em}.detail-grid article .index{margin-bottom:20px}.process-section{border-top:1px solid var(--line);background:var(--paper)}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;padding-left:25px;margin-top:45px}.process li{padding-left:8px}.process h3{font-size:1.35rem}.faq{max-width:850px;border-top:1px solid var(--line)}.faq details{padding:23px 0;border-bottom:1px solid var(--line)}.faq summary{font-size:1.05rem;cursor:pointer;line-height:1.5}.faq details p{padding-top:20px;margin-bottom:0}.areas{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding-top:0}.areas article{border-top:1px solid var(--line);padding-top:25px}.areas h2{font-size:1.65rem}.areas p{line-height:2}.project-grid,.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.project-card img,.project-grid img{width:100%;aspect-ratio:3/2;object-fit:cover}.project-card h3{margin-top:20px}.project-card p{font-size:.9rem}.review-grid blockquote{margin:0;border-top:1px solid var(--line);padding-top:30px}.review-grid cite{font-size:.85rem}.estimate-layout{display:grid;grid-template-columns:1.8fr 1fr;gap:95px}.estimate-layout aside{border-left:1px solid var(--line);padding-left:35px}.estimate-layout aside h2{font-size:1.7rem}.notice{border:1px solid var(--line);background:var(--light);padding:24px;margin-bottom:36px}.notice h2{font-size:1.35rem}.notice p{margin-bottom:0;font-size:.9rem}fieldset{border:0;padding:0;margin:0 0 42px;min-width:0}legend{font-size:1.4rem;margin-bottom:24px}label{display:block;font-size:.9rem;margin-bottom:22px;color:var(--ink);font-weight:600}input,textarea,select{display:block;width:100%;padding:13px 14px;margin-top:8px;background:var(--white);border:1px solid #96998d;border-radius:0;color:var(--ink);min-height:49px;font-weight:400}textarea{resize:vertical;line-height:1.6}input:disabled,textarea:disabled,select:disabled{background:#f2f2ed;opacity:1;color:#53564c;border-color:#b8bbb1}fieldset:disabled{opacity:.8}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.consent{display:flex;align-items:flex-start;gap:12px;font-weight:400;font-size:.86rem}.consent input{width:19px;height:19px;min-height:19px;margin-top:5px;flex-shrink:0}.form-note,small{font-size:.85rem;line-height:1.6;font-weight:400}.form-note{margin-top:18px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.business-card{border:1px solid var(--line);background:var(--white);padding:45px}.business-card img{width:280px;margin-bottom:38px}.business-card h2{font-size:1.4rem;letter-spacing:-.025em}.card-tagline{color:var(--ink)}.business-card .actions{margin-top:35px}.prose{max-width:800px}.prose h2{font-size:1.6rem;margin-top:35px}.prose h2:first-child{margin-top:0}.mobile-action{display:none}hr{border:0;border-top:1px solid var(--line);margin:30px 0}
@media(max-width:1050px){nav{gap:16px}.header-inner{gap:20px}nav .button{padding:12px}.brand img{width:180px}.home-hero{gap:35px}.hero-panel{padding:32px}.principles{gap:65px}.service-grid{grid-template-columns:1fr 1fr;gap:30px}.estimate-layout{gap:45px}.section-heading{gap:30px}.contact-layout{gap:40px}}
@media(max-width:760px){.header-inner{flex-wrap:wrap;padding:23px 20px;gap:22px}.brand img{width:190px}nav{width:100%;justify-content:space-between;flex-wrap:wrap;gap:9px 16px;font-size:.84rem}nav>.button{width:100%;margin-top:6px;min-height:44px}main{padding:0 20px}section{padding:55px 0}.home-hero{padding-top:40px;grid-template-columns:1fr;gap:24px}.hero-copy{padding:0}.hero-copy h1{font-size:clamp(2.75rem,9.7vw,4.1rem)}.hero-description{font-size:1.07rem}.hero-panel{min-height:260px;padding:28px}.hero-panel p{font-size:2rem}.hero-bottom{margin-top:4px;gap:16px;flex-wrap:wrap;font-size:.64rem}.section-heading{display:block}.section-heading>p{margin-top:22px;max-width:65ch}.section-heading>.text-link{display:inline-block;margin-top:20px}h2{font-size:2rem}.service-grid{gap:25px;margin-top:35px}.service-tile h3{font-size:1.3rem}.service-tile p{font-size:.9rem}.index{margin-bottom:23px}.empty-work{padding:30px}.empty-work h3{font-size:1.5rem}.principles,.intro-grid,.detail-grid,.areas,.estimate-layout,.contact-layout{grid-template-columns:1fr;gap:35px}.principle-list article:last-child{border-bottom:0}.final-cta{align-items:flex-start;flex-direction:column;gap:22px}.final-cta h2{font-size:2.3rem}footer{padding:42px 20px 95px}.footer-top{grid-template-columns:1fr 1fr!important;gap:30px!important}.footer-top>div:first-child{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom>span{display:block;margin:7px 0}.footer-bottom a{padding:7px 0}.page-hero{padding-top:45px;padding-bottom:45px}h1{font-size:clamp(2.55rem,9vw,4rem);overflow-wrap:break-word}.page-hero .lead{font-size:1.05rem}.intro-grid{gap:10px}.detail-grid{padding-top:0}.process{grid-template-columns:1fr;gap:25px;margin-bottom:0}.process p{margin-bottom:0}.project-grid,.review-grid{grid-template-columns:1fr}.estimate-layout aside{border-left:0;border-top:1px solid var(--line);padding:30px 0 0}.business-card{padding:30px}.contact-layout .business-card img{width:250px}.mobile-action{position:fixed;bottom:0;left:0;right:0;display:flex;border-top:1px solid var(--line);background:var(--paper);padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:12px;z-index:5}.mobile-action a{padding:10px;text-align:center;font-size:.86rem;font-weight:600;flex:1;min-height:44px}.mobile-action a:last-child{background:var(--ink);color:white}.breadcrumbs{font-size:.75rem}.services-nav>div{max-width:calc(100vw - 40px)}}
@media(max-width:380px){.field-row,.service-grid{grid-template-columns:1fr}.actions .button{width:100%}.hero-panel{padding:24px}.hero-bottom{font-size:.63rem}.service-tile{padding-bottom:20px}.hero-copy h1{font-size:2.7rem}.footer-top{grid-template-columns:1fr!important}.button{padding-left:16px;padding-right:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* Remodolo identity: source logo variants keep their original proportions. */
.header-inner{padding-top:14px;padding-bottom:14px}.brand img{width:125px;height:auto;max-height:102px;object-fit:contain}.brand-panel{background:#231f20;align-items:center;justify-content:space-between;text-align:center;padding:32px;gap:25px}.brand-panel>.eyebrow{color:#d8d6d7;margin:0}.brand-panel>img{width:min(100%,360px);height:auto}.brand-panel .brand-panel-caption{color:#e3e2e3;font-size:.7rem;line-height:1.6;letter-spacing:.12em;margin:0;max-width:none}.business-card>img{width:230px;max-height:210px;object-fit:contain;margin:0 auto 30px}footer{background:#231f20;color:#fbfbfb}footer .footer-top>div:first-child>p:first-of-type,footer p{color:#d8d6d7}footer .footer-top>div:first-child>img{width:185px;height:auto;margin-bottom:25px}.footer-bottom{border-top-color:#5a5658;color:#d8d6d7}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:#727376}
@media(max-width:760px){.header-inner{padding-top:14px;padding-bottom:18px}.brand img{width:112px;max-height:90px}.brand-panel{min-height:350px;padding:28px}.brand-panel>img{width:min(100%,280px)}.contact-layout .business-card img{width:220px}footer .footer-top>div:first-child>img{width:155px}}

/* Actual portfolio photography and the portable business contact card. */
.photo-hero{position:relative;padding:0;overflow:hidden;background:#e6e6e6;min-height:500px}.photo-hero>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center}.hero-photo-label{position:absolute;bottom:0;left:0;right:0;padding:14px 20px;background:#231f20e8;color:white;font-size:.7rem;letter-spacing:.12em}.project-card{display:block}.project-card img{aspect-ratio:4/3;transition:filter .15s}.project-card:hover img{filter:brightness(.93)}.project-card h3{font-size:1.45rem}.project-card p:empty{display:none}.project-grid{row-gap:45px}.portfolio-photo{margin:0}.portfolio-photo img{width:100%;height:auto;max-height:850px;object-fit:contain;background:#eeeeef}.portfolio-photo figcaption{font-size:.85rem;color:var(--muted);margin-top:12px;line-height:1.5}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px;align-items:start}.project-hero{max-width:950px;margin:auto}.project-hero img{max-height:780px}.desktop-qr{margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}.desktop-qr h3{font-size:1.4rem}.desktop-qr img{width:220px;height:220px;background:#fff;object-fit:contain}.desktop-qr p{font-size:.9rem;margin-top:16px;max-width:40ch}.save-contact{min-height:52px}.enquiry-contact{margin-bottom:32px}.business-card>p{overflow-wrap:anywhere}
@media(max-width:760px){.desktop-qr{display:none}.photo-hero{min-height:480px}.photo-grid{grid-template-columns:1fr;gap:30px}.project-grid{row-gap:32px}.business-card .save-contact{width:100%}.business-card .actions{display:block}.mobile-action{gap:5px;padding-left:8px;padding-right:8px}.mobile-action a{font-size:.75rem;padding:10px 6px}.mobile-action a:last-child{flex:1.5}.contact-layout{gap:40px}}

/* Preserve the wider composition of the selected kitchen hero. */
.photo-hero{min-height:0;aspect-ratio:4/3;align-self:center}.photo-hero>img{object-position:52% center}
@media(max-width:760px){.photo-hero{min-height:0;aspect-ratio:4/3}}

.photo-upload{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin-top:24px}.photo-upload summary{cursor:pointer;font-size:1rem;min-height:30px}.photo-upload label{margin-bottom:16px}.photo-upload input[type=file]{max-width:100%;padding:12px;font-size:.875rem}.form-error{color:#9d1f25;font-size:.9rem}.review-project{font-size:.875rem}.photo-upload[open] summary{margin-bottom:12px}

/* Four customer testimonials in a balanced, readable layout. */
.review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 55px}.review-grid blockquote>p:first-child{font-size:1.05rem;line-height:1.7;color:var(--ink)}.review-grid cite{font-style:normal;font-weight:600}
@media(max-width:760px){.review-grid{grid-template-columns:1fr;gap:32px}}

.coverage-table{min-width:0}.coverage-table table{border-collapse:collapse;width:100%;text-align:left;font-size:1rem}.coverage-table caption{text-align:left;font-size:.85rem;color:var(--muted);margin-bottom:16px}.coverage-table th,.coverage-table td{border-bottom:1px solid var(--line);padding:14px 12px}.coverage-table thead{background:var(--light)}.coverage-table tbody th{font-weight:500}.coverage-table td{font-variant-numeric:tabular-nums}.area-services .detail-grid{margin-top:40px}.area-services .detail-grid article h3{font-size:1.6rem}
@media(max-width:760px){.coverage-table th,.coverage-table td{padding:12px 8px}}
