:root{--ink:#263d49;--blue:#edf3f5;--accent:#416b7c;--line:#d9dfdf;--muted:#52616a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#fffcf6;color:var(--ink);font:1rem/1.7 Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit}button{cursor:pointer}.wrap{width:min(1050px,calc(100% - 48px));margin:auto}.skip{position:absolute;top:-100px;left:15px;background:white;padding:10px;z-index:3}.skip:focus{top:10px}.header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 0;border-bottom:1px solid var(--line)}.brand{font-size:1.4rem;font-weight:700;text-decoration:none}nav{display:flex;gap:25px}nav a{text-decoration:none}nav a:hover{text-decoration:underline}h1,h2,h3{font-family:Arial,Helvetica,sans-serif;line-height:1.25;letter-spacing:-.025em;margin:0 0 18px}h1{font-size:clamp(2.3rem,4vw,3.3rem)}h2{font-size:1.9rem}h3{font-size:1.2rem}p{margin:0 0 18px}.eyebrow{font-size:1rem;font-weight:600;color:var(--accent);margin-bottom:15px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:45px;align-items:center;padding:50px 0}.intro{font-size:1.1rem}.hero-photo{width:100%;height:390px;object-fit:cover;border-radius:5px}.launch-note{font-size:.94rem;color:var(--muted);border-left:3px solid #bacfd7;padding-left:15px}.button{display:inline-block;background:var(--accent);color:white;border:1px solid var(--accent);border-radius:4px;padding:11px 20px;text-decoration:none;font-weight:600;font-size:1rem;min-height:48px}.button:hover{background:#305365}.section{padding:42px 0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:28px}.service-grid article{border-top:2px solid #b8ccd3;padding-top:20px}.service-grid p{color:var(--muted)}.home-section{background:#f0f2ec;margin-top:20px}.home-inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:center;padding:42px 0}.home-inner>img{width:100%;height:375px;object-fit:cover;object-position:center 72%;border-radius:4px}.home-inner ol{padding-left:23px}.home-inner li{padding-left:7px;margin-bottom:16px}.home-inner li p{margin:5px 0 0}.home-inner>div>p:last-child{font-size:.94rem;color:var(--muted);margin-bottom:0}.local-section p{max-width:730px}.small-note{font-size:.875rem;color:var(--muted);margin-top:13px}.questions{padding-top:20px}.questions details{max-width:800px;border-bottom:1px solid var(--line);padding:15px 0}.questions summary{cursor:pointer;font-weight:600}.questions details p{margin:12px 0 0}.contact-section{background:#e8eff1;padding:38px 0}.contact-section p{max-width:740px}.footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:30px 0;font-size:.875rem}.footer p{margin:0}.plain{background:none;border:0;padding:8px 0;font-size:.875rem;color:var(--ink);text-decoration:underline;text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #ca744b;outline-offset:4px}dialog{border:0;border-radius:7px;padding:28px;width:min(560px,calc(100% - 30px));max-height:calc(100dvh - 40px);color:var(--ink);background:#fffcf6;box-shadow:0 12px 50px #263d4930}dialog::backdrop{background:#263d498c}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px}.dialog-top .eyebrow{font-size:.875rem;margin:0}.close{background:none;border:0;min-width:40px;min-height:40px;font-size:1.8rem;color:var(--ink)}.dialog-note{background:var(--blue);padding:12px 15px;font-size:.875rem;border-radius:4px}label{display:flex;flex-direction:column;gap:6px;font-weight:600;margin-bottom:16px}input,textarea,select{width:100%;border:1px solid #a9bbc4;background:white;border-radius:4px;padding:10px 12px;color:var(--ink);font-size:1rem}textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field-note,.review-notice{font-size:.875rem;color:var(--muted)}.full{width:100%}.back{display:block;margin:15px auto 0}dl>div{display:grid;grid-template-columns:120px 1fr;gap:15px;border-bottom:1px solid var(--line);padding:9px 0}dt{font-size:.875rem;color:var(--muted)}dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.payment-preview{background:var(--blue);padding:18px;margin:20px 0;border-radius:4px}.payment-row{display:flex;justify-content:space-between;gap:15px;font-size:.875rem;padding:9px 0;border-top:1px solid #ced9df}.payment-row strong{text-align:right}.payment-preview .field-note{margin:14px 0 0}[hidden]{display:none!important}
@media(max-width:700px){.wrap{width:calc(100% - 36px)}.header{display:block;padding:23px 0}.brand{font-size:1.3rem}nav{gap:24px;margin-top:14px;font-size:.94rem}.hero{grid-template-columns:1fr;padding:32px 0;gap:25px}h1{font-size:2.3rem}h2{font-size:1.65rem}.hero-photo{height:280px}.service-grid{grid-template-columns:1fr;gap:15px}.section{padding:30px 0}.home-inner{grid-template-columns:1fr;gap:25px;padding:30px 0}.home-inner>img{height:270px}.footer{display:block}.footer .plain{margin-top:15px}.form-grid{grid-template-columns:1fr;gap:0}dialog{padding:22px}.payment-row{flex-wrap:wrap}.questions{padding-top:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.submission-dialog{width:min(760px,calc(100% - 30px))}.submission-dialog h2{font-size:1.5rem;margin:0}.submission-frame{display:block;width:100%;height:min(60dvh,520px);border:1px solid var(--line);background:white;margin:16px 0}.submission-complete{padding:24px;background:#fffcf6}.submission-complete main{max-width:620px;margin:auto}.submission-complete h1{font-size:2rem}button:disabled{opacity:.65;cursor:default}

/* Owner's supplied Little Goosie Studio brand direction. */
:root{--ink:#423d35;--blue:#eee7db;--accent:#765c43;--line:#d8cabb;--muted:#6c6258}body{background:#f6f0e5;color:#423d35}.header{padding:17px 0}.brand{display:flex;align-items:center;gap:19px;font-family:Georgia,'Times New Roman',serif;font-size:1.6rem;font-weight:normal;letter-spacing:.025em}.brand-mark{width:90px;height:110px;object-fit:contain;flex-shrink:0}.brand small{display:block;margin-top:8px;font:normal .875rem/1.5 Arial,Helvetica,sans-serif;letter-spacing:.015em;color:var(--muted)}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:normal;letter-spacing:-.025em}h1{font-size:clamp(2.4rem,4vw,3.4rem)}h2{font-size:2rem}h3{font-size:1.4rem}.hero{gap:48px;padding:42px 0}.eyebrow{font-weight:normal;color:#765c43}.laundry-photos{display:grid;grid-template-columns:1fr 1fr;gap:15px}.laundry-photos figure{margin:0;background:#fffaf2;border:1px solid var(--line);padding:7px}.laundry-photos img{display:block;width:100%;height:235px;object-fit:cover;border-radius:0}.laundry-photos figure:nth-child(2){margin-top:0}.laundry-photos figcaption{font-size:.875rem;text-align:center;padding:9px 4px;line-height:1.45}.button{border-radius:3px}.button:hover{background:#5f4934}.launch-note{border-color:#ac947b}.service-grid article{border-color:#ac947b}.home-section{background:#e5e6dc}.home-inner>img{border-radius:3px}.contact-section{background:#e5e6dc}.load-section{display:grid;grid-template-columns:1.6fr .7fr;gap:45px;align-items:center;border-bottom:1px solid var(--line)}.load-section>img{width:100%;height:250px;object-fit:cover;border-radius:3px}.footer{justify-content:flex-start}.footer-mark{width:75px;height:90px;object-fit:contain}.footer .plain{margin-left:auto}dialog{background:#f6f0e5}.dialog-note,.payment-preview{background:#eee7db}input,select,textarea{border-color:#b9a794;background:#fffdf8}.payment-row{border-color:#d8cabb}
@media(max-width:850px){.hero{grid-template-columns:1fr}.laundry-photos{max-width:650px}.laundry-photos img{height:250px}.laundry-photos figure:nth-child(2){margin-top:0}}
@media(max-width:700px){.header{padding:15px 0}.brand{font-size:1.25rem;gap:12px}.brand-mark{width:66px;height:82px}.brand small{font-size:.875rem;margin-top:4px}nav{margin-top:15px}.hero{gap:24px;padding:30px 0}h1{font-size:2.4rem}h2{font-size:1.8rem}.laundry-photos{gap:10px}.laundry-photos img{height:170px}.laundry-photos figcaption{font-size:.875rem;padding:8px 2px}.load-section{grid-template-columns:1fr;gap:15px}.load-section>img{max-width:320px;height:230px}.footer{display:flex;flex-wrap:wrap;gap:16px}.footer p{flex:1}.footer .plain{margin:0;width:100%;text-align:left}}

.policy-page{max-width:820px;padding-top:35px;padding-bottom:45px}.policy-page h1{font-size:2.4rem;margin-bottom:28px}.policy-brand{margin:25px 0 7px;color:var(--muted)}.policy-page h2{font-size:1.65rem;margin:32px 0 18px}.policy-page h3{font-size:1.25rem;margin:24px 0 14px}.policy-page ul{padding-left:25px;margin-bottom:23px}.policy-page li{padding:3px 0}.policy-page hr{border:0;border-top:1px solid var(--line);margin:30px 0}.policy-back,.text-link{color:var(--accent);text-underline-offset:4px}.footer-links{display:flex;flex-direction:column;gap:5px;margin-left:auto;font-size:.875rem}.footer-links .plain{margin:0;text-align:left}nav{flex-wrap:wrap}.load-section .text-link{display:inline-block;margin-bottom:15px}@media(max-width:700px){.policy-page h1{font-size:2rem}.policy-page h2{font-size:1.5rem}.footer-links{width:100%;margin:0}}
.booking-page{max-width:800px;padding-top:30px;padding-bottom:45px}.booking-page h1{font-size:2.2rem;margin-top:25px}.booking-page fieldset{border:0;border-bottom:1px solid var(--line);padding:22px 0 28px;margin:0 0 18px;min-width:0}.booking-page legend{font-family:Georgia,'Times New Roman',serif;font-size:1.5rem;padding-top:22px}.booking-page .choice{display:flex;flex-direction:row;align-items:flex-start;gap:12px;font-weight:normal;margin-bottom:12px}.choice input[type="checkbox"],.choice input[type="radio"]{width:20px;height:20px;min-width:20px;margin:3px 0 0;padding:0;accent-color:var(--accent)}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.price-list{padding-left:22px}.price-list li{padding:4px 0}.booking-error{color:#8b302a;font-weight:600}.booking-page .actions{display:flex;flex-wrap:wrap;gap:24px;align-items:center}.booking-page dl>div{grid-template-columns:210px 1fr}.booking-page #review-title{scroll-margin-top:20px}@media(max-width:600px){.booking-page h1{font-size:1.8rem}.choice-grid{grid-template-columns:1fr}.booking-page dl>div{grid-template-columns:1fr;gap:4px}.booking-page legend{font-size:1.35rem}}

.before-collection{border-bottom:1px solid var(--line)}.collection-copy{max-width:820px;margin:auto}.collection-copy h2{margin-bottom:22px}.collection-copy p{margin-bottom:21px}.collection-copy ul{padding-left:25px;margin:0 0 22px}.collection-copy li{padding:3px 0}.collection-copy .policy-link{margin-top:25px}.policy-link a{color:var(--accent);text-underline-offset:4px}#before-collection{scroll-margin-top:25px}

.price-details{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}.price-details h3{margin-top:24px}.contact-section a,.footer a{overflow-wrap:anywhere}

/* Keep all destinations visible on every page. */
.header nav{justify-content:flex-end;gap:10px 20px;max-width:620px}.header nav a{white-space:nowrap}.header nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px}@media(max-width:950px){.header{flex-wrap:wrap}.header nav{width:100%;max-width:none;justify-content:flex-start}}
.header .brand{flex-shrink:0}
#services h2{scroll-margin-top:20px}

.quantity-table-wrap{overflow-x:auto;margin-bottom:20px}.quantity-table{width:100%;border-collapse:collapse;text-align:left}.quantity-table th,.quantity-table td{padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}.quantity-table thead{background:var(--blue)}.quantity-table input{min-width:70px;max-width:110px}.quantity-table th[scope="row"]{font-weight:normal}@media(max-width:600px){.quantity-table th,.quantity-table td{padding:8px 5px}.quantity-table{min-width:470px}}

/* Simple booking links and comparable order examples. */
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:22px}.hero-actions .secondary{background:transparent;color:var(--accent);border:1px solid var(--accent)}.hero-actions .secondary:hover{background:var(--blue)}.about-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.about-section p{max-width:790px}.price-examples{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.price-examples article{border:1px solid var(--line);padding:20px}.price-examples h4{font-size:1rem;margin:0 0 14px}.price-examples .example-total{font:normal 2rem Georgia,serif;color:var(--accent);margin:0 0 10px}.price-examples p:last-child{margin-bottom:0}#send-enquiry{margin-bottom:12px}@media(max-width:650px){.price-examples{grid-template-columns:1fr}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .button{text-align:center}}

/* Give the provider and CAPTCHA the available screen space. */
.submission-dialog[open]{display:flex;flex-direction:column;width:min(1100px,calc(100vw - 24px));height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);max-width:calc(100vw - 24px);padding:20px;overflow:hidden;gap:10px}
.submission-dialog .dialog-top{flex:0 0 auto;margin:0;gap:12px}
.submission-dialog h2{font-size:1.5rem;line-height:1.25;margin:0}
.submission-dialog .field-note{flex:0 0 auto;font-size:.875rem;line-height:1.4;margin:0}
.submission-dialog .submission-frame{flex:1 1 auto;display:block;width:100%;height:100%;min-height:0;min-width:0;margin:0;border:1px solid var(--line);background:white}
@media(max-width:600px){.submission-dialog[open]{width:calc(100vw - 12px);height:calc(100dvh - 12px);max-height:calc(100dvh - 12px);max-width:calc(100vw - 12px);padding:12px;gap:8px}.submission-dialog h2{font-size:1.2rem}.submission-dialog .field-note{font-size:.8rem;line-height:1.3}}

/* Show the detergent and both laundry photos in matching landscape frames. */
.laundry-photos img{height:auto;aspect-ratio:3/2;object-fit:cover}
