@font-face{font-family:"Roboto Condensed";src:url("../fonts/roboto-condensed-semibold.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}
:root{--wine:#900315;--gold:#ca8d3c;--paper:#fff;--body-font:"Roboto Condensed",Arial,sans-serif;--display-font:"Times New Roman",Times,serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--wine);font-family:var(--body-font);-webkit-font-smoothing:antialiased}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;cursor:pointer}
a{color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:6px}
img{display:block;max-width:100%;height:auto}
.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}
.skip-link{position:fixed;top:10px;left:10px;z-index:20;padding:12px 20px;background:var(--wine);color:#fff;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.page-shell{--composition-unit:min(1vw,1.93svh);position:relative;isolation:isolate;display:flex;flex-direction:column;width:100%;height:100svh;min-height:560px;background:#fff}
.page-shell::after{content:"";position:absolute;z-index:-1;pointer-events:none;right:0;bottom:0;width:39.7129%;height:10.4144%;background:url("../images/wash-desktop.webp") bottom right/100% 100% no-repeat;mask-image:linear-gradient(to bottom,transparent,#000 45%);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 45%)}
.page-shell::before{content:"";position:absolute;z-index:-1;top:0;left:0;width:16%;height:24%;background:url("../images/wash-header.webp") top left/100% 100% no-repeat;mask-image:linear-gradient(to right,#000,transparent);-webkit-mask-image:linear-gradient(to right,#000,transparent)}
.site-header{position:relative;z-index:3;display:flex;flex:none;align-items:flex-start;justify-content:space-between;gap:24px;height:clamp(84px,11.5svh,108px);padding:14px 4vw 0}
.brand{display:block;flex:none;width:clamp(220px,17vw,320px)}
.brand picture,.brand img{width:100%}
.desktop-nav{display:flex;align-items:center;gap:clamp(18px,1.85vw,36px);padding-top:2px;white-space:nowrap;font-size:clamp(16px,1.06vw,20px);font-weight:600}
.nav-link{border:0;padding:0;background:none;color:var(--wine)}
.nav-link:hover{color:var(--gold)}
.phone-pill,.enquire-button{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:clamp(46px,6.5svh,56px);border:0;border-radius:999px;color:#fff;font-size:clamp(17px,1.1vw,21px);font-weight:600;line-height:1;transition:filter .18s}
.phone-pill{width:clamp(190px,12.2vw,232px);background:var(--wine)}
.phone-pill svg{width:1.4em;height:1.4em;flex:none}
.enquire-button{width:clamp(150px,10.45vw,198px);background:var(--gold)}
.phone-pill:hover,.enquire-button:hover{filter:brightness(1.1)}
.mobile-actions,.mobile-menu{display:none}
.hero{position:relative;display:grid;flex:1;min-height:0;grid-template-columns:minmax(0,56fr) minmax(0,44fr);align-items:center;column-gap:3vw;padding:0 6vw 8svh 7vw}
.hero-artwork{display:block;justify-self:center;width:min(100%,94svh)}
.hero-artwork img{width:100%}
.hero-content{display:flex;flex-direction:column;align-items:flex-start;gap:4svh;min-width:0}
.hero-message{width:100%}
h1{margin:0;font-family:var(--display-font);font-size:calc(5.8014 * var(--composition-unit));font-weight:400;font-optical-sizing:auto;line-height:1.0103;letter-spacing:-.055em;text-transform:uppercase}
h1 span{display:block;white-space:nowrap;transform:scaleX(.89);transform-origin:left center}
h1 span:nth-child(2){transform:scaleX(.94)}
h1 .gold{color:var(--gold);letter-spacing:-.02em;transform:scaleX(.96);padding-left:.6vw}
.site-footer{width:min(100%,calc(36.4833 * var(--composition-unit)));flex:none}
.site-footer picture,.site-footer img{display:block;width:100%}
.contact-dialog{width:min(480px,calc(100% - 36px));padding:38px;border:1px solid #ead6bb;border-radius:16px;color:var(--wine);box-shadow:0 18px 80px #450b1833;background:#fff}
.contact-dialog::backdrop{background:#34101688;backdrop-filter:blur(5px)}
.dialog-close{position:absolute;top:8px;right:14px;border:0;background:none;font-size:32px;color:var(--wine)}
.dialog-logo{width:240px;margin:0 auto 30px}
.dialog-eyebrow{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#986b2c}
.contact-dialog h2{font-family:var(--display-font);font-size:34px;line-height:1.15;font-weight:400;margin:12px 0}
.contact-dialog p:not(.dialog-eyebrow){color:#675b58;font:17px/1.65 Arial,sans-serif}
.contact-dialog .phone-pill{width:100%;min-height:52px;margin-top:14px;font-size:20px}
@media(min-width:1024px) and (max-width:1279px){
 .site-header{padding-inline:3vw;gap:18px}
 .brand{width:220px}
 .desktop-nav{gap:18px;font-size:16px}
 .desktop-nav .phone-pill{width:180px;font-size:17px}
 .desktop-nav .enquire-button{width:140px;font-size:17px}
}
@media(max-width:1023px){
 .page-shell{display:block;height:auto;min-height:0;background:none}
 .page-shell::before,.page-shell::after{display:none}
 .site-header{align-items:center;height:16.8113vw;padding:0 5.0976vw 0 6.5076vw;background:#fff;border-radius:0 0 3.2538vw 3.2538vw}
 .brand{width:46.6377vw;transform:translateY(.43vw)}
 .desktop-nav{display:none}
 .mobile-actions{display:flex;align-items:center;gap:6.5vw;transform:translateY(.76vw)}
 .mobile-phone,.menu-toggle{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:var(--wine)}
 .mobile-phone svg{width:7.3753vw;height:7.3753vw;min-width:25px;min-height:25px}
 .menu-toggle{position:relative;flex-direction:column;gap:1.3vw;padding:0;border:0;background:none;width:7.3753vw;height:7.3753vw}
 .menu-toggle span{display:block;width:100%;max-width:7.3753vw;height:.7592vw;min-height:3px;border-radius:999px;background:currentColor;transition:transform .2s,opacity .2s}
 .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(2.0592vw) rotate(45deg)}
 .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
 .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-2.0592vw) rotate(-45deg)}
 .mobile-menu:not([hidden]){position:absolute;top:calc(100% - 1px);left:0;right:0;display:flex;flex-direction:column;gap:8px;padding:24px;background:#fff;border-radius:0 0 20px 20px;box-shadow:0 20px 28px #5b0c1518}
 .mobile-menu>button:not(.enquire-button),.mobile-menu>a{padding:12px;border:0;background:none;color:var(--wine);font-size:19px;text-align:left}
 .mobile-menu .enquire-button{width:100%;min-height:48px;margin-top:4px;font-size:19px}
 .hero{display:block;min-height:0;padding:0}
 .hero-content{display:contents}
 .hero-artwork{width:100%}
 .hero-message{position:relative;top:auto;left:auto;width:100%;margin-top:-.65vw;padding:0 0 5.42vw;text-align:center;isolation:isolate}
 .hero-message::before,.hero-message::after{content:"";position:absolute;z-index:-1;bottom:0;width:20%;height:60%;pointer-events:none}
 .hero-message::before{left:0;background:url("../images/wash-gold.webp") bottom left/100% 100% no-repeat;mask-image:linear-gradient(to right,#000,transparent),linear-gradient(to top,#000,transparent);mask-composite:intersect}
 .hero-message::after{right:0;background:url("../images/wash-blue.webp") bottom right/100% 100% no-repeat;mask-image:linear-gradient(to left,#000,transparent),linear-gradient(to top,#000,transparent);mask-composite:intersect}
 h1{font-size:10.1952vw;line-height:1.003;letter-spacing:-.055em}
 h1 span,h1 span:nth-child(2),h1 .gold{transform:none;padding-left:0}
 .site-footer{position:relative;top:auto;left:auto;width:100%}
 .contact-dialog{padding:30px 24px}
 .contact-dialog .phone-pill{font-size:20px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
