:root{--ink:#232323;--accent:#800000;--lime:#800000;--muted:#656565;--accent-light:#f9eded}body{background:#fff}h1,h2,h3{font-family:Sora,Arial,sans-serif}.previewbar{background:#f1f1f1;color:var(--accent);padding:9px 5%;font-size:12px}.previewbar span{color:#575757}header{background:#232323;color:#fff;position:sticky;top:0;z-index:20;border:0;padding:20px 5%;box-shadow:0 2px 14px #0002}header .brandmark{background:var(--accent);color:#fff}header .brand small{font-size:12px;letter-spacing:2px}header nav{gap:22px}header nav a:hover{color:#eab7b7}header .dark{background:var(--accent)}.menutoggle{display:none}.lime{background:var(--accent);color:white}.lime:hover,header .dark:hover{background:#a00000}.button{transition:background .2s,transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);box-shadow:0 7px 20px #0002}.button:active{transform:translateY(0)}.pill{background:#fff;color:var(--accent);border-color:#e7caca}.brandmark{color:#fff;background:var(--accent)}.cinematic{display:block;position:relative;min-height:690px;overflow:hidden;background:#232323;isolation:isolate}.cinematic .heroimage{position:absolute;inset:0;z-index:-1}.cinematic .heroimage img{width:100%;height:100%;object-fit:cover;object-position:center 62%;animation:herodrift 24s ease-in-out infinite alternate;transform-origin:75% 65%;will-change:transform}.heroshade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,17,17,.92),rgba(19,20,19,.64) 37%,rgba(19,20,19,.10) 76%),linear-gradient(0deg,rgba(15,16,15,.72),transparent 38%)}.cinematic .herocopy{background:transparent;padding:75px 5% 155px;max-width:800px;position:relative}.cinematic .eyebrow{font-size:12px;letter-spacing:2px;color:#f3c4c4}.cinematic h1{font-size:clamp(48px,5.3vw,80px);font-weight:600;line-height:1.16;letter-spacing:-2px;margin:24px 0}.cinematic h1 em{color:#fff}.cinematic h1 em::after{content:'';display:block;width:90px;height:5px;background:#b02727;margin-top:20px}.cinematic .intro{font-size:18px;color:#eee;line-height:1.75;max-width:570px}.cinematic .actions{margin-top:30px}.cinematic .textlink{color:white}.cinematic .herobottom{font-size:14px;color:#e6e6e6;gap:20px;margin-top:36px;padding-top:22px;border-top:1px solid #ffffff30;line-height:1.6}.heroscenes{position:absolute;bottom:35px;left:5%;display:flex;gap:20px}.scenebutton{background:none;border:0;border-bottom:2px solid #ffffff50;padding:12px 16px 14px 0;color:#ddd;font-size:16px;font-weight:700;min-width:120px;text-align:left;transition:border-color .2s,color .2s}.scenebutton span{font-size:12px;color:#c4c4c4;margin-right:15px}.scenebutton.active{border-color:#d27f7f;color:white}.scenebutton.active span{color:#ecc4c4}.heroimagecontrols{position:absolute;bottom:28px;right:5%;display:flex;align-items:center;gap:16px;font-size:12px;color:#fff}.heroimagecontrols>span{background:#232323a8;padding:7px 9px;border-radius:3px}.heroimagecontrols button{background:#232323c7;color:white;border:1px solid #ffffff50;border-radius:4px;font-size:12px;padding:8px 11px}.heroplaque{position:absolute;right:5%;bottom:140px;background:#232323e0;border-left:4px solid #800000;padding:20px 24px;color:white;max-width:380px}.heroplaque>span{font-size:12px;letter-spacing:1.5px;display:block;color:#ddd}.heroplaque strong{font-family:Sora,Arial,sans-serif;font-size:26px;display:block;margin:15px 0 10px;letter-spacing:-.6px}.heroplaque small{font-size:12px;color:#ddd}.motionpaused .heroimage img{animation-play-state:paused}@keyframes herodrift{from{transform:scale(1)}to{transform:scale(1.065)}}.offer{background:#f7eeee;border-bottom:1px solid #ead5d5;min-height:135px}.offerlabel{color:#800000;font-size:12px;line-height:1.8}.offer h2{font-size:24px}.offer .light{background:#800000;color:white}.offer .light:hover{background:#a00000}.unitexplorer{padding-top:70px}.unitexplorer h2{font-size:40px;line-height:1.2}.roundbutton{width:46px;height:46px;border:1px solid #d7d7d7;border-radius:50%;background:white;color:#800000;font-size:30px;line-height:1;transition:background .2s}.roundbutton:hover{background:#f9eded}.unitcontrols{display:flex;gap:10px}.unitselector{display:flex;gap:12px;margin:30px 0}.unitchoice{background:#fff;border:1px solid #ddd;border-radius:5px;padding:17px 25px;text-align:left;font-size:18px;font-weight:700;color:#232323;min-width:170px;transition:background .2s,border-color .2s}.unitchoice small{display:block;font-size:12px;font-weight:500;margin-top:8px;color:#656565}.unitchoice.selected{background:#800000;color:white;border-color:#800000}.unitchoice.selected small{color:#f4cccc}.unitexperience{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}.unitvisual{background:#f7f7f7;border:1px solid #e1e1e1;padding:28px;border-radius:8px;min-width:0}.unitvisual>.eyebrow{color:#656565}.unitvisual svg{display:block;width:100%;height:auto;margin:20px 0;font-size:16px;fill:#656565;font-family:'DM Sans',Arial,sans-serif}.unitvisual #planarea{font-family:Sora,Arial,sans-serif;font-size:30px;fill:#800000;font-weight:600}.unitvisual #planentry{font-size:12px}.unitdetails h3{font-size:27px;line-height:1.35;margin:20px 0 15px;letter-spacing:-.8px}.unitdetails>p{line-height:1.7;color:#656565}.unitdetails .pill{display:inline-flex;font-size:12px;border-radius:4px;padding:8px 12px}.unitdetails .actions{gap:24px;flex-wrap:wrap}.unitdetails label{display:flex;justify-content:space-between;align-items:center;gap:16px;color:#4d4d4d;font-size:14px;margin-top:25px}.unitdetails output{font-weight:700;color:#800000;white-space:nowrap}.unitdetails input[type=range]{padding:0;border:0;background:transparent;accent-color:#800000;height:24px;margin-top:10px;cursor:pointer}.capacityresult{margin-top:22px;padding:20px;border:1px solid #e7caca;background:#f9eded;display:flex;justify-content:space-between;gap:18px;align-items:center;border-radius:5px}.capacityresult strong{font-family:Sora,Arial,sans-serif;color:#800000;font-size:28px;white-space:nowrap}.capacityresult span{font-size:14px;max-width:180px;line-height:1.6}.servicefilters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}.servicecard{position:relative;transition:transform .25s,box-shadow .25s,border-color .25s}.servicecard:hover,.servicecard:focus-within{transform:translateY(-6px);box-shadow:0 14px 28px #23232312;border-color:#c99090}.servicecard[hidden]{display:none}.servicecard h3{line-height:1.4}.servicecard .servicetop>span:first-child{color:#800000;font-weight:700}.servicecard .textbutton{color:#800000}.servicecard::before{content:'';position:absolute;top:-1px;left:24px;width:0;height:3px;background:#800000;transition:width .25s}.servicecard:hover::before{width:48px}.unitcard strong{color:#fff}.unitcard{border-top:4px solid #800000;transition:transform .2s,box-shadow .2s}.unitcard:hover{transform:translateY(-4px);box-shadow:0 14px 26px #23232316}.unitgrid{margin-top:30px}.tab.selected,.toolitem.active{background:#800000;border-color:#800000;color:#fff}.toolitem.active small{color:#eed0d0}.toolitem:hover:not(.active){background:#f3e6e6}.resultvalue{color:#800000}.result dl{border-top-color:#dec0c0}.result dt{color:#685656}.revealitem{opacity:1}.revealitem:not(.revealed){animation:revealcard .7s ease both;animation-delay:var(--reveal-delay,0ms)}@keyframes revealcard{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.movecopy{background:#232323}.movecopy .eyebrow{color:#e9b3b3}.movecopy h2{line-height:1.3}.locationgrid .locationcta{background:#232323;border-top:4px solid #800000}.enquirypanel{border-top:4px solid #800000}.resultactions .button{color:white}footer{background:#232323}.phone{color:#800000}.smallnote{font-size:13px}.brand small{font-size:12px}.menunote,.searchlabel{font-size:13px}.textlink{color:#800000}.textbutton{color:#800000}.previewbar+.hero{margin:0}[hidden]{display:none!important}
@media(min-width:1500px){.cinematic .herocopy{max-width:900px}.heroplaque{bottom:155px}}
@media(max-width:1150px){header nav{gap:14px;font-size:13px}.brand{font-size:14px}.cinematic .herocopy{max-width:680px;padding-top:65px}.heroplaque{max-width:260px;padding:17px;bottom:125px}.heroplaque strong{font-size:21px}.cinematic .herobottom{display:block}.cinematic .herobottom span{display:block}.heroimagecontrols{flex-direction:column;align-items:end;gap:8px}}
@media(max-width:960px){header{flex-wrap:wrap;padding:16px 5%;gap:15px}.menutoggle{display:block;background:none;border:1px solid #ffffff50;color:white;padding:10px 13px;border-radius:4px;font-size:14px;order:2}header>.button{margin-left:auto;order:1;padding:12px 16px}header nav{display:none;order:3;flex:0 0 100%;width:100%;padding-top:15px;border-top:1px solid #ffffff25;justify-content:start;gap:20px;flex-wrap:wrap;overflow:visible;white-space:normal}header.menuopen nav{display:flex}header .brand{order:0;flex:1}.cinematic{min-height:690px}.heroplaque{display:none}.cinematic .herocopy{max-width:760px;padding-bottom:160px}.cinematic h1{font-size:60px}.heroimagecontrols{bottom:100px;right:5%;flex-direction:row;align-items:center}.heroscenes{bottom:28px;width:90%}.scenebutton{flex:1;min-width:0}.unitexperience{gap:30px}.capacityresult{display:block}.capacityresult span{display:block;margin-top:8px}.unitdetails h3{font-size:25px}.offer{grid-template-columns:1fr 1fr}.offerlabel{grid-column:1/-1}}
@media(max-width:760px){.cinematic{min-height:700px}.cinematic .heroimage{height:auto}.cinematic .heroimage img{object-position:58% 66%}.heroshade{background:linear-gradient(90deg,#121412de,#12141268),linear-gradient(0deg,#121412c7,transparent 45%)}.cinematic .herocopy{padding:42px 5% 145px;max-width:100%}.cinematic h1{font-size:clamp(38px,8.7vw,58px);letter-spacing:-1.5px;line-height:1.18}.cinematic .intro{font-size:16px}.cinematic .intro br{display:none}.cinematic .herobottom{margin-top:25px;font-size:13px}.cinematic .actions{gap:22px}.heroimagecontrols{bottom:97px;left:5%;right:auto}.heroimagecontrols>span,.heroimagecontrols button{font-size:12px}.heroscenes{bottom:25px;gap:12px}.scenebutton{font-size:15px;padding-right:0}.scenebutton span{margin-right:8px}.unitexperience{grid-template-columns:1fr}.unitselector{gap:8px}.unitchoice{min-width:0;flex:1;padding:15px 12px;font-size:16px}.unitchoice small{font-size:12px}.unitvisual{padding:22px}.unitexplorer h2{font-size:32px}.unitcontrols{margin-left:auto;margin-top:-60px}.unitexplorer .sectionheading{padding-right:65px}.unitdetails .capacityresult{display:flex}.unitdetails .capacityresult span{margin:0}.unitdetails h3{font-size:26px}.offer{grid-template-columns:1fr;gap:16px}.offer .button{justify-self:start}.section h2{line-height:1.25}.servicefilters .tab{padding:11px 16px}.movehelp .movecopy .textbutton{color:#fff}}
@media(max-width:420px){header .brand{font-size:12px;letter-spacing:.5px;gap:8px}header .brandmark{font-size:19px;padding:11px 7px}header .brand small{font-size:10px;letter-spacing:1.5px}header>.button{font-size:12px;padding:11px 12px}.menutoggle{padding:9px 10px;font-size:12px}.cinematic{min-height:690px}.cinematic h1{font-size:39px;letter-spacing:-1.2px}.cinematic .eyebrow{font-size:12px;letter-spacing:1.5px}.cinematic .actions{gap:18px}.cinematic .button{padding:15px 20px}.heroimagecontrols{gap:8px}.unitchoice{font-size:14px;padding:14px 10px}.unitdetails .capacityresult{display:block}.unitdetails .capacityresult span{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.cinematic .heroimage img{animation:none!important;transform:none!important;will-change:auto}.button,.servicecard,.unitcard,.tab,.scenebutton{transition:none!important}.revealitem{animation:none!important}.servicecard:hover,.servicecard:focus-within,.unitcard:hover,.button:hover{transform:none!important}}
@media print{header,.cinematic,.unitexplorer,.servicefilters{display:none!important}.revealitem{opacity:1!important;transform:none!important}.resultvalue{color:black}}
