@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--ink:#142a36;--paper:#fff;--soft:#f3f5f5;--silver:#d6dde1;--muted:#52616a;--border:#d7dfe1;--body:'DM Sans',Arial,sans-serif;--display:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--body);font-size:1rem;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #567a90;outline-offset:6px}.skip{position:absolute;left:1rem;top:-5rem;background:white;padding:.6rem;z-index:10}.skip:focus{top:1rem}.header{padding:1.5rem 5.5%;display:flex;justify-content:space-between;align-items:center;gap:2rem;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:1rem}.brand-mark{font-family:var(--display);font-size:2.4rem;font-weight:800;letter-spacing:-.13rem;line-height:1;position:relative;padding-bottom:.3rem}.brand-mark>span{position:absolute;height:3px;bottom:0;left:0;right:0;background:#6d7d87}.brand-name{font-size:.85rem;font-weight:700;letter-spacing:.12em;line-height:1.5}.brand-name small{display:block;font-size:.75rem;letter-spacing:.18em;font-weight:500;color:var(--muted)}nav{display:flex;align-items:center;gap:2.2rem;font-size:.9rem;font-weight:600}nav a:hover{text-decoration:underline;text-underline-offset:6px}.nav-contact{padding:.65rem 1.35rem;border:1px solid var(--ink)}.hero{display:grid;grid-template-columns:1.08fr 1fr;background:var(--ink);color:white;min-height:680px}.hero-copy{padding:5.1rem 7% 3.8rem 10.2%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{font-size:.78rem;letter-spacing:.16em;font-weight:700;margin:0 0 1.5rem;display:flex;gap:.75rem;align-items:center}.hero .eyebrow{color:var(--silver)}.line{width:30px;height:1px;background:var(--silver);display:inline-block}h1,h2,h3{font-family:var(--display);margin:0;line-height:1.14;font-weight:600}h1{font-size:clamp(3rem,4.5vw,5rem);letter-spacing:-.055em}h1 em{font-style:normal;color:var(--silver)}.intro{font-size:1.08rem;color:#d5dde0;line-height:1.75;margin:1.9rem 0 2.2rem}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;min-height:54px;font-weight:700;padding:.9rem 1.25rem;line-height:1.45;font-size:.95rem;transition:background .2s,transform .2s}.button-silver{color:var(--ink);background:var(--silver)}.button-silver:hover{background:#f0f3f5;transform:translateY(-2px)}.button span{font-size:1.4rem;font-weight:400}.hero-note{display:flex;align-items:center;gap:1rem;font-size:.72rem;letter-spacing:.11em;color:#c3cfd5;margin-top:3.5rem}.divider{height:12px;width:1px;background:#73848e}.hero-visual{position:relative;margin:0;min-width:0;overflow:hidden;min-height:560px}.hero-visual img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center}.hero-visual:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(8,22,29,.72));pointer-events:none}.hero-visual figcaption{position:absolute;bottom:2.2rem;left:2rem;right:2rem;z-index:1;font-size:.85rem;color:white}.section{padding:6rem 5.5%;scroll-margin-top:1rem}.section-heading{max-width:690px;margin-bottom:3rem}.section-heading .eyebrow,.area .eyebrow{color:#52616a}h2{font-size:clamp(2rem,3.1vw,3.25rem);letter-spacing:-.045em}.section-heading>p:last-child{color:var(--muted);font-size:1.1rem;max-width:540px;margin:1.2rem 0 0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.service-grid article{padding:2rem 1.65rem 2rem 0;display:flex;flex-direction:column;align-items:flex-start}.service-grid article+article{border-left:1px solid var(--border);padding-left:1.65rem}.number{font-size:.85rem;color:#52616a;margin-bottom:2.1rem;font-weight:600}h3{font-size:1.3rem;letter-spacing:-.025em}.service-grid p{color:var(--muted);font-size:1rem;line-height:1.7;margin:1rem 0 2.1rem}.service-detail{font-size:.75rem;letter-spacing:.055em;font-weight:600;margin-top:auto;line-height:1.8}.area{background:var(--soft);display:grid;grid-template-columns:1.1fr 1fr;gap:6%}.area-copy>p:first-child{margin:0;color:var(--muted);font-size:1.1rem}.towns{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:1.6rem}.towns span{padding:.45rem .9rem;border:1px solid #c5ced2;font-size:.85rem}.area-note{font-size:.9rem;color:var(--muted);margin:1.5rem 0 0}.contact{background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.contact .eyebrow{color:var(--silver)}.contact h2{font-size:clamp(2.75rem,4.5vw,4.5rem)}.contact-heading>p:last-child{color:#cad4d9;max-width:440px;margin:1.5rem 0 0;font-size:1.06rem}.contact-card{border:1px solid #57707e;padding:2.5rem;max-width:480px}.contact-label{display:block;font-size:.75rem;letter-spacing:.13em;color:var(--silver);margin-bottom:1.5rem}.contact-card h3{font-size:1.7rem}.contact-card p{color:#cad4d9;margin:1rem 0 1.7rem}.contact-card .button{width:100%;gap:1rem}.email-address{display:block;font-size:.9rem;margin-top:1.2rem;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}footer{padding:2rem 5.5%;display:flex;gap:1.5rem;align-items:center;justify-content:space-between}footer p,footer>span{font-size:.8rem;color:var(--muted)}.footer-brand{font-family:var(--display);font-size:1.5rem;font-weight:800;display:flex;gap:.75rem;align-items:center}.footer-brand span{font-family:var(--body);font-size:.72rem;letter-spacing:.06em}
@media(min-width:1600px){.header,.section,footer{padding-left:max(5.5%,calc((100vw - 1440px)/2));padding-right:max(5.5%,calc((100vw - 1440px)/2))}.hero-copy{padding-left:max(10.2%,calc((100vw - 1440px)/2))}}
@media(max-width:1000px){.hero{min-height:600px}.hero-copy{padding-top:3.5rem;padding-bottom:3rem}h1{font-size:3.5rem}.service-grid{grid-template-columns:repeat(2,1fr)}.service-grid article:nth-child(3){border-left:0;padding-left:0}.service-grid article:nth-child(n+3){border-top:1px solid var(--border)}.service-grid article{padding:2rem}.section{padding-top:4.5rem;padding-bottom:4.5rem}.contact{gap:5%}.contact-card{padding:1.8rem}.area{gap:4%}footer p{display:none}}
@media(max-width:700px){.header{padding:1.2rem 6%;gap:1rem}.brand{gap:.7rem}.brand-mark{font-size:2rem}.brand-name{font-size:.7rem;letter-spacing:.07em}.brand-name small{font-size:.65rem}nav{gap:0}nav>a:not(.nav-contact){display:none}.nav-contact{font-size:.82rem;padding:.55rem .8rem}.hero{display:flex;flex-direction:column}.hero-copy{padding:3.5rem 6% 2.75rem}h1{font-size:clamp(2.75rem,9.5vw,4rem)}.hero .eyebrow{font-size:.72rem}.intro{font-size:1rem;margin:1.5rem 0 1.7rem}.hero-note{margin-top:2rem;font-size:.7rem}.hero-visual{min-height:310px;max-height:350px}.hero-visual img{object-position:center 55%}.hero-visual figcaption{left:6%;bottom:1.4rem;font-size:.8rem}.section{padding:3.5rem 6%}.section-heading{margin-bottom:2rem}.eyebrow{margin-bottom:1.1rem}.service-grid article{padding:1.6rem 1.2rem 1.6rem 0}.service-grid article+article{padding-left:1.2rem}.service-grid article:nth-child(3){padding-left:0}.number{margin-bottom:1.4rem}.service-grid h3{font-size:1.17rem}.service-grid p{margin:.85rem 0 1.3rem}.service-detail{font-size:.75rem}.area,.contact{grid-template-columns:1fr;gap:2rem}.contact-card{max-width:none;padding:1.8rem}.contact-heading>p:last-child{max-width:none}.area h2 br{display:none}footer{padding:2rem 6%;align-items:flex-start;flex-direction:column;gap:.5rem}footer>span{font-size:.8rem}}
@media(max-width:390px){.service-grid{grid-template-columns:1fr}.service-grid article+article{border-left:0;border-top:1px solid var(--border);padding-left:0}.brand-name{display:none}.contact-card{padding:1.3rem}.button{font-size:.9rem;gap:1rem}.desktop-break{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

/* Display the supplied logo at its original proportions, framing its white margins. */
.header{padding-top:1rem;padding-bottom:1rem}.brand{flex-shrink:0}.logo-window{display:block;position:relative;overflow:hidden;width:260px;aspect-ratio:380/170;background:#fff}.logo-window img{position:absolute;max-width:none;width:131.579%;height:auto;left:-15.789%;top:-97.059%}.footer-brand .logo-window{width:200px}@media(max-width:700px){.logo-window{width:210px}.header{gap:.75rem;padding-top:.75rem;padding-bottom:.75rem}}@media(max-width:390px){.logo-window{width:180px}.nav-contact{padding:.5rem .65rem}}

/* Traditional serif headings echo the supplied logo. */
h1,h2,h3{font-family:var(--display);font-weight:400;letter-spacing:-.025em;line-height:1.13}h1{font-size:clamp(3rem,4.5vw,5rem)}h3{font-weight:600;letter-spacing:-.015em}.contact-card h3{font-weight:400}@media(max-width:1000px){h1{font-size:3.5rem}}@media(max-width:700px){h1{font-size:clamp(2.75rem,9.5vw,4rem)}}

/* First renovation showcase */
.projects{border-top:1px solid var(--border)}.projects .eyebrow{color:var(--muted)}.projects figure{margin:0}.projects img{display:block;width:100%;height:auto}.projects figure>a{display:block}.project-lead{display:grid;grid-template-columns:1.7fr 1fr;background:var(--soft);align-items:center}.project-lead figcaption{padding:2.5rem}.projects figcaption>span{font-size:.75rem;font-weight:700;letter-spacing:.13em;color:var(--muted)}.projects figcaption h3{font-size:2rem;margin-top:.7rem}.projects figcaption p{color:var(--muted);margin:.8rem 0 0}.comparison-heading{margin:3.5rem 0 1.5rem}.comparison-heading h3{font-size:2rem}.bathroom-comparison{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:960px;margin:auto}.bathroom-comparison img{aspect-ratio:3/4;object-fit:contain;background:var(--soft)}.bathroom-comparison figcaption{padding:1rem 0;display:flex;flex-direction:column;gap:.2rem}.bathroom-comparison figcaption strong{font-size:1.1rem}.bathroom-comparison figcaption span{font-size:1rem;letter-spacing:0;font-weight:400}.hero-visual img{object-position:38% center}@media(max-width:1000px){nav{gap:1.3rem}.project-lead figcaption{padding:1.5rem}.projects figcaption h3{font-size:1.65rem}}@media(max-width:700px){.project-lead{grid-template-columns:1fr}.bathroom-comparison{gap:.8rem}.comparison-heading h3{font-size:1.65rem}.project-details{grid-template-columns:1fr;gap:1.5rem}.project-details img{max-height:none}.project-details figure:first-child{max-width:420px;margin:auto}.hero-visual img{object-position:center}.bathroom-comparison figcaption span{font-size:.9rem}}@media(max-width:390px){.bathroom-comparison{grid-template-columns:1fr;gap:1rem}}

.hero-note{margin-top:3.5rem}@media(max-width:700px){.hero-note{margin-top:2rem}}

.starting-point{border-top:1px solid var(--border);margin-top:4.5rem;padding-top:3.5rem;display:grid;grid-template-columns:.85fr 1.5fr;gap:3rem;align-items:start}.starting-copy h3{font-size:2rem}.starting-copy>p:last-child{color:var(--muted);margin:1rem 0 0;max-width:360px}.starting-gallery{display:grid;grid-template-columns:1.4fr 1fr;gap:1.5rem}.starting-gallery img{height:340px;object-fit:cover}.starting-gallery figure:nth-child(2) img{object-position:center}.starting-gallery figcaption{padding:1rem 0}.starting-gallery figcaption>span{font-size:.72rem}.starting-gallery figcaption p{font-size:.95rem}@media(max-width:1000px){.starting-point{grid-template-columns:1fr;gap:1.5rem}}@media(max-width:700px){.starting-point{margin-top:3.5rem;padding-top:2.5rem}.starting-copy h3{font-size:1.65rem}.starting-gallery{gap:.8rem}.starting-gallery img{height:250px}.starting-gallery figcaption p{font-size:.88rem}}@media(max-width:390px){.starting-gallery{grid-template-columns:1fr}.starting-gallery img{height:auto}}

.exterior-showcase{border-top:1px solid var(--border);margin-top:4.5rem;padding-top:3.5rem}.exterior-showcase .comparison-heading{margin:0 0 1.5rem}.exterior-comparison{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.exterior-comparison img{aspect-ratio:4/3;object-fit:cover}.exterior-comparison figcaption{padding:1rem 0;display:flex;flex-direction:column;gap:.2rem}.exterior-comparison figcaption strong{font-size:1.1rem}.exterior-comparison figcaption span{font-size:1rem;letter-spacing:0;font-weight:400}@media(max-width:700px){.exterior-showcase{margin-top:3.5rem;padding-top:2.5rem}.exterior-comparison{gap:.8rem}.exterior-comparison figcaption span{font-size:.9rem}}@media(max-width:390px){.exterior-comparison{grid-template-columns:1fr;gap:1rem}}


/* Additional room-by-room renovation comparisons. */
.room-showcase{border-top:1px solid var(--border);margin-top:4.5rem;padding-top:3.5rem}.room-showcase .comparison-heading{margin:0 0 1.5rem}.room-comparison{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.room-comparison img{aspect-ratio:4/3;object-fit:cover}.room-comparison figure:first-child img{object-position:center}.room-comparison figcaption{padding:1rem 0;display:flex;flex-direction:column;gap:.2rem}.room-comparison figcaption strong{font-size:1.1rem}.room-comparison figcaption span{font-size:1rem;letter-spacing:0;font-weight:400}.bedroom-showcase .room-comparison img{object-position:center}.bedroom-showcase .room-comparison figure:first-child img{filter:brightness(1.28) contrast(.94)}.starting-gallery{grid-template-columns:minmax(0,1fr)}.starting-gallery figure{max-width:520px}.starting-gallery img{height:340px;object-fit:cover}@media(max-width:700px){.room-showcase{margin-top:3.5rem;padding-top:2.5rem}.room-comparison{gap:.8rem}.room-comparison figcaption span{font-size:.9rem}}@media(max-width:390px){.room-comparison{grid-template-columns:1fr;gap:1rem}}

.floor-comparison{grid-template-columns:1fr 1fr}.floor-comparison figure{max-width:none}.floor-comparison img{height:300px;object-fit:cover}.floor-comparison figure:first-child img{object-position:center 66%}@media(max-width:700px){.floor-comparison img{height:220px}}@media(max-width:390px){.floor-comparison{grid-template-columns:1fr}.floor-comparison img{height:auto}}

.contact-details{display:flex;flex-direction:column;gap:.35rem;margin-top:1.2rem}.contact-details .email-address{margin-top:0}.phone-address{font-size:1.12rem;font-weight:700;letter-spacing:.02em;text-decoration:underline;text-underline-offset:4px}
