@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600&display=swap');:root{--navy:#102947;--blue:#205d99;--cream:#f8f5ef;--sand:#e9dfd1;--ink:#243344;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#f6f4ee;font:16px/1.65 'DM Sans',sans-serif}a{color:inherit}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.14;color:var(--navy)}h1{font-size:clamp(2.8rem,6vw,5.6rem);letter-spacing:-.035em;margin:.3em 0}h2{font-size:clamp(2rem,4vw,3.4rem);margin:0 0 .45em}h3{font-size:1.55rem;margin:.1em 0 .4em}p{margin:0 0 1.25em}header{background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid #e8e4dd}.header{max-width:1320px;margin:auto;padding:12px 4%;display:flex;align-items:center;gap:28px;justify-content:space-between}.brand{text-decoration:none;color:var(--navy);font-family:'Playfair Display',serif;font-size:1.55rem;line-height:1}.brand small{display:block;font:600 .57rem 'DM Sans',sans-serif;letter-spacing:.25em;text-transform:uppercase;margin-top:7px}.nav{display:flex;align-items:center;gap:22px}.nav a{text-decoration:none;font-size:.88rem;font-weight:600;white-space:nowrap}.nav a:hover,.nav a[aria-current]{color:var(--blue)}.nav .nav-cta,.button{display:inline-block;background:var(--navy);color:white;text-decoration:none;border:1px solid var(--navy);padding:13px 24px;font:700 .9rem 'DM Sans',sans-serif;cursor:pointer;transition:.2s}.nav .nav-cta:hover,.button:hover{background:var(--blue);border-color:var(--blue);color:white}.button.light{background:transparent;color:var(--navy)}.button.light:hover{background:var(--navy);color:white}.menu{display:none;border:0;background:none;font-size:1.7rem;color:var(--navy)}.wrap{max-width:1240px;margin:auto;padding:0 5%}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:660px}.hero-copy{background:#e4edf5;padding:100px 8% 100px max(9%,calc((100vw - 1240px)/2));display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:.76rem;text-transform:uppercase;letter-spacing:.24em;color:var(--blue);font-weight:700}.hero .lead{font-size:1.18rem;max-width:530px}.hero-image{background:#ddd url('/images/laundry-room.jpg') center/cover}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.strip{background:#205d99;color:white;text-align:center;padding:19px 5%;letter-spacing:.04em}.section{padding:95px 0}.center{text-align:center}.intro{max-width:650px;margin:0 auto 45px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:#fff;padding:34px;border:1px solid #bccddd;box-shadow:7px 7px 0 #d8e6f2}.card .num{font:500 2.4rem 'Playfair Display',serif;color:var(--blue)}.card p:last-child{margin-bottom:0}.muted{background:#dce8f2}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%}.split img{width:100%;height:480px;object-fit:cover}.split .text{padding:30px 0}.price{font:500 2.5rem 'Playfair Display',serif;color:var(--navy)}.price small{font:400 1rem 'DM Sans',sans-serif}.list{padding-left:1.2em}.list li{margin:9px 0}.page-hero{padding:75px 0 55px;background:#dce8f2}.page-hero p{max-width:650px;font-size:1.1rem}.page-hero h1{font-size:clamp(2.8rem,5vw,4.6rem)}.flow{counter-reset:step}.flow .card{position:relative}.flow .card:before{counter-increment:step;content:'0' counter(step);display:block;color:var(--blue);font:500 2rem 'Playfair Display',serif;margin-bottom:20px}.faq{max-width:820px;margin:auto}.faq details{border-bottom:1px solid #d7d0c6;padding:18px 0}.faq summary{font-weight:700;color:var(--navy);cursor:pointer;font-size:1.06rem}.faq details p{padding:14px 25px 0;margin:0}.notice{background:#e7eef3;padding:24px 28px;border-left:4px solid var(--blue)}.booking{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}.field{margin-bottom:18px}label{display:block;font-weight:700;margin-bottom:5px}input,select,textarea{width:100%;border:1px solid #bfc6ca;background:white;padding:13px;font:inherit;border-radius:0}textarea{min-height:120px}.footer{background:var(--navy);color:white;padding:58px 0 25px}.footer h3,.footer .brand{color:white}.footgrid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.footlinks{display:flex;gap:18px;flex-wrap:wrap}.footlinks a{text-decoration:none;font-size:.9rem}.fine{border-top:1px solid #526278;margin-top:45px;padding-top:20px;font-size:.8rem;color:#d5dce2}.photo-band{height:370px;background:url('/images/laundry-basket.jpg') center/cover}.estimate{font-weight:700;color:var(--navy);padding:15px 0}.status{padding:12px;background:#fff4d9;display:none}@media(max-width:900px){.menu{display:block}.nav{display:none;position:absolute;top:69px;left:0;right:0;background:white;padding:22px 5%;box-shadow:0 8px 20px #0002;flex-direction:column;align-items:stretch}.nav.open{display:flex}.nav a{padding:5px}.hero{grid-template-columns:1fr}.hero-copy{padding:65px 6%}.hero-image{min-height:430px;order:-1}.grid3{grid-template-columns:1fr 1fr}.split,.booking{grid-template-columns:1fr}.split img{height:380px}}@media(max-width:600px){.brand{font-size:1.35rem}.hero-image{min-height:310px}.hero-copy{padding:50px 6% 65px}.section{padding:65px 0}.grid3{grid-template-columns:1fr}.card{padding:27px}.page-hero{padding:55px 0 35px}.photo-band{height:260px}.actions .button{width:100%;text-align:center}}
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Parisienne&display=swap');
:root{--navy:#303a53;--blue:#667d96;--cream:#f8f6f2;--sand:#dfb28f;--ink:#383b42}body{background:#faf9f6}h1,h2,h3,.price{font-family:'Cormorant Garamond',Georgia,serif;letter-spacing:-.02em}h1{font-size:clamp(3.7rem,6vw,6.8rem);line-height:.95}h2{font-size:clamp(2.9rem,4.4vw,4.5rem);line-height:1}h3{font-size:2.1rem;line-height:1.06}.brand{font-family:'Parisienne',cursive;font-size:2rem;white-space:nowrap}.brand small{font-size:.52rem;text-align:center;letter-spacing:.36em;margin-top:0}.header{padding-top:14px;padding-bottom:14px}.nav .nav-cta,.button{background:#d9aa85;border-color:#d9aa85;color:#26334a;text-align:center;font-weight:600;letter-spacing:.035em}.nav .nav-cta:hover,.button:hover{background:#c58e69;border-color:#c58e69;color:#26334a}.button.light{background:#fffaf2e8;border-color:#303a53;color:#303a53}.strip{background:#303a53;font-size:.9rem;letter-spacing:.09em}.hero{display:flex;align-items:center;justify-content:center;text-align:center;min-height:640px;background:#b8c5d1 url('/images/old-hero.png') center center/cover no-repeat}.hero-copy{background:transparent;padding:65px 24px;max-width:700px;align-items:center}.hero-copy h1{margin:.1em 0 .22em;text-shadow:0 1px 16px #d8e0e9}.hero .lead{max-width:510px;font-size:1.1rem;color:#273348;text-shadow:0 1px 12px #edf2f7}.hero-image{display:none}.hero .eyebrow{color:#273348;letter-spacing:.3em}.hero .actions{justify-content:center}.eyebrow{color:#667d96}.section{padding:105px 0}.muted,.page-hero{background:#e9eef4}.page-hero{border-bottom:1px solid #d3dde7}.card{border:0;padding:0;box-shadow:0 12px 32px #28344820;overflow:hidden;text-align:left}.card>h3,.card>p,.card>.price,.card>.eyebrow,.card>a{margin-left:28px;margin-right:28px}.card>h3{margin-top:27px}.card>p:last-child,.card>a:last-child{display:block;margin-bottom:30px}.card img.card-photo{display:block;width:100%;height:245px;object-fit:cover}.card .eyebrow{display:block;margin-top:25px}.card .price{font-size:2.75rem}.grid3{gap:24px}.split img{box-shadow:15px 15px 0 #d6bdab}.notice{border-left-color:#d9aa85;background:#f5eee6}.photo-band{background-image:url('/images/bedding.jpg');background-position:center 45%}.footer{background:#303a53}.flow .card{padding:34px}.flow .card h3,.flow .card p{margin-left:0;margin-right:0}.flow .card h3{margin-top:0}.faq summary{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.65rem;font-weight:600}.nav a{font-weight:500}.nav .nav-cta{font-weight:700}
@media(max-width:900px){.hero{min-height:570px;background-position:center center}.hero-copy{padding:70px 5%}.nav{top:78px}.grid3{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.brand{font-size:1.75rem}.hero{min-height:510px;background-position:center center}.hero-copy{padding:40px 6%;background:#edf2f6b8;margin:38px 18px}.hero h1{font-size:3.75rem}.hero .lead{font-size:.98rem}.hero .actions{width:100%}.hero .button{padding:12px 15px}.section{padding:70px 0}.grid3{grid-template-columns:1fr}.card img.card-photo{height:235px}.split img{height:320px}.strip{font-size:.77rem}.page-hero h1{font-size:3.8rem}}
