@import url("https://api.fontshare.com/v2/css?f[]=switzer@400,500,600,700&display=swap");@font-face{font-family:Clash Display;src:url(/ClashDisplay-Variable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }

/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:Switzer,ui-sans-serif,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SF Mono,Menlo,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.top-5{top:1.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.flex-1{flex:1 1 0%}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.rounded{border-radius:var(--r-md)}.border{border-width:1px}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px)}.blur,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale:grayscale(100%)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--paper:#fff;--paper-2:#fafafa;--bone:#f5f5f4;--sand:#ebebea;--hairline:#e7e7e6;--hairline-2:#ececeb;--ink:#0a0a0a;--ink-2:#171717;--ink-soft:#404040;--ink-mute:#6b6b6b;--ink-faint:#9a9a9a;--stone:#6b6b6b;--slate:#404040;--red:#b22222;--red-deep:#8b1a1a;--red-ink:#6b1414;--red-tint:#fbefef;--red-tint-2:#f5dcdc;--ok:#15803d;--ok-tint:#ecfdf5;--warn:#b45309;--warn-tint:#fef3c7;--info:#1d4ed8;--info-tint:#eff6ff;--gold:#d4a017;--f-display:"Clash Display","Switzer",system-ui,sans-serif;--f-sans:"Switzer",ui-sans-serif,-apple-system,system-ui,sans-serif;--f-mono:ui-monospace,"SF Mono",Menlo,monospace;--r-sm:3px;--r-md:6px;--r-lg:10px;--r-xl:16px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--f-sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"ss01","cv11"}.eyebrow{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mute);font-weight:600}.display{font-family:var(--f-sans);letter-spacing:-.025em;font-weight:600}.display-d{font-family:var(--f-display);letter-spacing:-.03em;font-weight:600}.mono{font-family:var(--f-mono);font-feature-settings:"tnum"}.wordmark{font-family:var(--f-display);font-weight:700;font-style:italic;letter-spacing:-.05em;color:var(--red);line-height:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 18px;border-radius:var(--r-md);font-family:var(--f-sans);font-weight:500;font-size:13.5px;border:1px solid transparent;cursor:pointer;transition:background .1s ease,color .1s ease,transform 80ms ease,border-color .1s ease;text-decoration:none;white-space:nowrap}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--ink);color:#fff}.btn--primary:hover{background:var(--ink-2)}.btn--red{background:var(--red);color:#fff}.btn--red:hover{background:var(--red-deep)}.btn--ghost{background:#fff;color:var(--ink);border-color:var(--hairline)}.btn--ghost:hover{border-color:var(--ink)}.btn--quiet{background:transparent;color:var(--ink-mute);padding:8px 12px}.btn--quiet:hover{color:var(--ink)}.btn--sm{padding:7px 12px;font-size:12.5px;gap:6px}.btn--lg{padding:13px 22px;font-size:15px}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:4px;font-size:11px;font-weight:500;letter-spacing:.01em;border:1px solid transparent}.badge__dot{width:6px;height:6px;border-radius:50%}.badge--ok{background:var(--ok-tint);color:var(--ok);border-color:#d1fae5}.badge--warn{background:var(--warn-tint);color:var(--warn);border-color:#fde68a}.badge--info{background:var(--info-tint);color:var(--info);border-color:#dbeafe}.badge--red{background:var(--red-tint);color:var(--red-deep);border-color:var(--red-tint-2)}.badge--gray{background:#f5f5f4;color:var(--ink-soft);border-color:var(--hairline)}.badge--ok .badge__dot{background:var(--ok)}.badge--warn .badge__dot{background:var(--warn)}.badge--info .badge__dot{background:var(--info)}.badge--red .badge__dot{background:var(--red)}.badge--gray .badge__dot{background:var(--ink-faint)}.card{background:var(--paper);border:1px solid var(--hairline);border-radius:var(--r-md)}.card--bone{background:var(--bone)}.card--ink{background:var(--ink);color:#ededed;border-color:#1f1f1f}.tbl{width:100%;border-collapse:collapse;font-size:13.5px}.tbl th{text-align:left;font-weight:500;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-mute);padding:12px 16px;border-bottom:1px solid var(--hairline);background:#fafafa}.tbl td{padding:14px 16px;border-bottom:1px solid #f0f0ef;color:var(--ink);vertical-align:middle}.tbl tr:last-child td{border-bottom:none}.tbl tr.is-clickable{cursor:pointer}.tbl tr.is-clickable:hover td{background:#fafafa}.input{width:100%;background:#fff;border:1px solid var(--hairline);border-radius:var(--r-md);padding:10px 12px;font-family:var(--f-sans);font-size:14px;color:var(--ink);transition:border .1s,box-shadow .1s}.input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(0,0,0,.04)}.input--lg{padding:13px 16px;font-size:16px}.label{display:block;font-size:11.5px;letter-spacing:.02em;color:var(--ink-soft);margin-bottom:7px;font-weight:500}.rule{height:1px;background:var(--hairline)}.rule--thick{height:2px;background:var(--ink)}.admin-shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh;background:var(--paper-2)}.admin-sidebar{position:relative;height:100vh;position:sticky;top:0}.admin-sidebar-backdrop{display:none}.admin-page-pad{padding:24px 32px 48px}.admin-page-stack>*+*{margin-top:16px}@media (max-width:899px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:fixed;top:0;left:0;width:260px;height:100vh;z-index:50;transform:translateX(-100%);transition:transform .18s ease}.admin-sidebar--open{transform:translateX(0)}.admin-sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:40;opacity:0;pointer-events:none;transition:opacity .18s ease}.admin-sidebar-backdrop--open{opacity:1;pointer-events:auto}.admin-topbar__menu{display:inline-flex!important}.admin-page-pad{padding:20px 16px 40px}.dashboard-grid{grid-template-columns:1fr!important}.kpi-grid{grid-template-columns:repeat(2,1fr)!important}.kpi-grid>div:nth-child(2){border-right:none!important}.kpi-grid>div:first-child,.kpi-grid>div:nth-child(2){border-bottom:1px solid var(--hairline)}.pipeline-grid{grid-template-columns:repeat(2,1fr)!important}.pipeline-grid>div:nth-child(2n){border-right:none!important}.pipeline-grid>div:nth-child(-n+2){border-bottom:1px solid var(--hairline)}}@media (max-width:540px){.kpi-grid{grid-template-columns:1fr!important}.kpi-grid>div{border-right:none!important;border-bottom:1px solid var(--hairline)}.kpi-grid>div:last-child{border-bottom:none}.pipeline-grid{grid-template-columns:1fr!important}.pipeline-grid>div{border-right:none!important;border-bottom:1px solid var(--hairline)}.pipeline-grid>div:last-child{border-bottom:none}}.slide-over-backdrop{position:fixed;inset:0;background:hsla(0,0%,4%,.4);z-index:60;opacity:0;pointer-events:none;transition:opacity .18s ease}.slide-over-backdrop--open{opacity:1;pointer-events:auto}.slide-over{position:fixed;top:0;right:0;width:min(520px,100vw);height:100vh;background:#fff;border-left:1px solid var(--hairline);box-shadow:-12px 0 32px -16px rgba(0,0,0,.18);z-index:70;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .18s ease}.slide-over--open{transform:translateX(0)}.slide-over--wide{width:100vw}@media (min-width:768px){.slide-over--wide{width:clamp(620px,58vw,720px)}}.slide-over__head{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--hairline);flex-shrink:0}.slide-over__body{padding:24px;overflow:auto;flex:1}.slide-over__foot{padding:14px 24px;border-top:1px solid var(--hairline);display:flex;gap:8px;justify-content:flex-end;background:#fafafa;flex-shrink:0}.icon-btn{background:transparent;border:1px solid var(--hairline);border-radius:var(--r-sm);padding:6px 8px;cursor:pointer;color:var(--ink);display:inline-flex;align-items:center;justify-content:center}.icon-btn:hover{border-color:var(--ink)}textarea.input{font-family:var(--f-sans);min-height:88px;resize:vertical}.room-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}@media (max-width:540px){.room-type-grid{grid-template-columns:repeat(2,1fr)}.portal-room-row{grid-template-columns:1fr!important}.portal-room-row>div:last-child{text-align:left!important}}@media (max-width:720px){.calendar-cell{min-height:80px!important}.calendar-cell .display{font-size:14px!important}.calendar-cell .mono{font-size:11px!important}}@media (max-width:540px){.calendar-cell{min-height:60px!important}}@media (max-width:760px){.public-cta-desktop,.public-nav-desktop,.public-tagline{display:none!important}.public-nav-burger{display:inline-flex!important}.public-nav-mobile{display:block!important}.public-footer-grid,.public-hero{grid-template-columns:1fr!important}.public-hero{height:auto!important;min-height:0!important;max-height:none!important}.public-hero__left{padding:28px 24px!important}.public-hero__right{height:300px}.public-hero h1{font-size:36px!important}.public-how-grid{grid-template-columns:1fr!important}}@media (max-width:900px){.public-portfolio-grid{grid-template-columns:repeat(2,1fr)!important}}@media (max-width:540px){.public-portfolio-grid,.public-services-grid{grid-template-columns:1fr!important}.public-hero h1{font-size:32px!important}.public-portal-grid,.public-reviews-grid{grid-template-columns:1fr!important}}@media (max-width:760px){.auth-shell{grid-template-columns:1fr!important}.auth-shell__side{display:none!important}.auth-shell__main{padding:28px 24px!important}}.public-portfolio-tile img{transition:transform .24s ease}.public-portfolio-tile:hover img{transform:scale(1.04)}.quote-wizard{display:grid;grid-template-columns:280px 1fr 320px;align-items:start;max-width:1320px;margin:0 auto}.quote-rail,.quote-summary{position:sticky;top:84px;align-self:start}.quote-mobile-progress{display:none}@media (max-width:980px){.quote-wizard{grid-template-columns:1fr}.quote-rail{display:none!important}.quote-canvas{order:2}.quote-summary{position:static;top:auto;order:3;border-left:none!important;border-top:1px solid var(--hairline)}.quote-mobile-progress{display:block;order:1}}@media (max-width:600px){.quote-condition-grid,.quote-worktype-grid{grid-template-columns:1fr!important}.quote-canvas{padding-left:20px!important;padding-right:20px!important}}@media (max-width:760px){.portal-grid-table{min-width:640px}.detail-split,.enquiries-split,.settings-split{grid-template-columns:1fr!important}}@media (max-width:540px){.stat-row{grid-template-columns:repeat(2,1fr)!important}}@media (max-width:600px){.quote-room-row{grid-template-columns:1fr!important}}