@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/cormorant-garamond-500-normal.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/cormorant-garamond-600-normal.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url(/assets/fonts/cormorant-garamond-500-italic.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:600;font-display:swap;src:url(/assets/fonts/cormorant-garamond-600-italic.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/montserrat-400-normal.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/montserrat-500-normal.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/montserrat-600-normal.woff2) format('woff2')}
*{-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
p,span,div,a{text-wrap:pretty}h1,h2{text-wrap:balance}
body{margin:0;font-family:Montserrat,system-ui,sans-serif;background:#131211;color:#F3EFE6}
a{color:#C8A96E;text-decoration:none}a:hover{color:#E2C991}
img{max-width:100%}
button,input,select,textarea{font-family:inherit}
:focus-visible{outline:2px solid #C8A96E;outline-offset:2px}
[hidden]{display:none!important}
.d,.m{min-height:100vh;min-height:100svh}
.d{--sx:max(min(80px,5.5vw),calc((100% - 1280px)/2));--sx2:max(min(200px,12vw),calc((100% - 1040px)/2))}
.m{--mx:max(16px,calc((100% - 600px)/2));--mx2:max(24px,calc((100% - 584px)/2))}
.m{display:none!important}
@media (max-width:1099px){.d{display:none!important}.m{display:flex!important}}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:#C8A96E;color:#131211;padding:12px 18px;font-weight:600}
.skip:focus{left:8px}
/* hero decorations keep their place relative to the centred content */
.deco{left:50%!important;margin-left:-720px;pointer-events:none}
/* forms */
.fmsg{font-size:14px;line-height:1.6;margin:0}
.fmsg.ok{color:#C8A96E}.fmsg.err{color:#E08A6B}
.chk{display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:1.5;color:#BDB6A8;cursor:pointer}
.chk input{width:20px;height:20px;margin:0;flex-shrink:0;accent-color:#C8A96E;cursor:pointer}
input::placeholder,textarea::placeholder{color:#8C8579}
button[disabled]{opacity:.6;cursor:default!important}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
/* store */
.dc-store{display:contents}
.sold{position:relative;opacity:.45;text-decoration:line-through}
/* between 1100px and 1440px the desktop layout scales as a whole, so it keeps the approved proportions */
@media (min-width:1100px) and (max-width:1439px){html.zd .d{zoom:var(--z)}}
/* scroll reveal: gentle fade and rise the first time content arrives */
html.anim:not(.ready) .d:not([data-store]) > div:not(:first-child),html.anim:not(.ready) .m:not([data-store]) > div:not(:first-child){opacity:0}
html.anim .rv{opacity:0;transform:translateY(22px);transition:opacity .75s cubic-bezier(.2,.65,.3,1),transform .75s cubic-bezier(.2,.65,.3,1);transition-delay:var(--rd,0ms)}
html.anim .rv.in{opacity:1;transform:none}
/* enquiry panel */
.eq{position:fixed;inset:0;z-index:90;display:flex;justify-content:flex-end}
.eq[hidden]{display:none}
.eq-bg{position:absolute;inset:0;background:rgba(12,11,10,.74);opacity:0;transition:opacity .35s ease}
.eq-p{position:relative;width:min(540px,100%);height:100%;overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box;padding:56px 48px 40px;background:#131211;border-left:1px solid #C8A96E;display:flex;flex-direction:column;gap:22px;transform:translateX(100%);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.eq.open .eq-bg{opacity:1}.eq.open .eq-p{transform:none}
.eq-x{position:absolute;top:20px;right:20px;width:44px;height:44px;background:none;border:1px solid #4A4640;color:#C8A96E;font-size:22px;line-height:1;cursor:pointer}
.eq-x:hover{border-color:#C8A96E}
.eq-eyebrow{font-size:12px;letter-spacing:4px;color:#C8A96E;font-weight:600}
.eq-h{margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:48px;line-height:1.04;color:#F3EFE6}
.eq-lead{margin:0;font-size:15px;line-height:1.7;color:#BDB6A8}
.eq-f{display:flex;flex-direction:column;gap:18px;margin-top:6px}
.eq-f[hidden],.eq-done[hidden]{display:none}
.eq-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.eq-fld{display:flex;flex-direction:column;gap:8px;min-width:0}
.eq-fld label{font-size:11px;letter-spacing:2px;color:#A39C8E}
.eq-fld input,.eq-fld select,.eq-fld textarea{width:100%;box-sizing:border-box;height:52px;padding:0 14px;background:#1E1D1B;border:1px solid #3A3733;color:#F3EFE6;font-size:16px;font-family:Montserrat,sans-serif;border-radius:0}
.eq-fld textarea{height:120px;padding:14px;resize:none}
.eq-fld input:focus,.eq-fld select:focus,.eq-fld textarea:focus{outline:none;border-color:#C8A96E}
.eq-sel{position:relative}.eq-sel select{appearance:none;-webkit-appearance:none;padding-right:44px;cursor:pointer}
.eq-sel select:invalid{color:#8C8579}
.eq-sel svg{position:absolute;right:18px;top:50%;margin-top:-7px;pointer-events:none}
.eq-go{height:58px;background:#C8A96E;color:#131211;border:none;font-family:Montserrat,sans-serif;font-size:13px;font-weight:600;letter-spacing:2px;cursor:pointer}
.eq-go:hover{background:#D6B97E}
.eq-done{display:flex;flex-direction:column;gap:20px;margin-top:10px}
.eq-foot{margin:auto 0 0;padding-top:18px;border-top:1px solid #2E2C29;font-size:13px;color:#8C8579}
html.eq-lock,html.eq-lock body{overflow:hidden}
@media (max-width:600px){.eq-p{border-left:0;padding:72px 16px 28px}.eq-h{font-size:40px}.eq-x{top:14px;right:12px}}
@media (prefers-reduced-motion:reduce){.eq-bg,.eq-p{transition:none}}
/* phone partner logos: slow gliding row */
.mq{width:calc(100% + 2 * var(--mx));margin:0 calc(-1 * var(--mx));overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.mq-t{display:flex;width:max-content;margin-left:56px;animation:mq 48s linear infinite}
.mq-set{display:flex;align-items:center;gap:52px;padding:0 26px}
.mq-i{flex-shrink:0;display:flex;align-items:center;justify-content:center}
@keyframes mq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.mq{-webkit-mask-image:none;mask-image:none;margin:0;width:100%}.mq-t{animation:none;width:auto;margin-left:0}.mq-set{flex-wrap:wrap;justify-content:center;gap:28px 32px;padding:0}.mq-set[aria-hidden]{display:none}}
select.ph:invalid{color:#8C8579!important}
select.ph option{color:#F3EFE6}
/* testimonials: key quote first, full words on request */
.rm summary{list-style:none;cursor:pointer;font-size:12px;font-weight:600;letter-spacing:2px;width:max-content}
.rm summary::-webkit-details-marker{display:none}
.rm-c{display:none}.rm[open] .rm-o{display:none}.rm[open] .rm-c{display:inline}
.rm[open] > p{margin-top:16px!important}
/* desktop header: gold on hover, enquire fills */
.hnav a{transition:color .18s ease,background-color .18s ease}
.hnav a:hover{color:#C8A96E!important}
.hnav a:last-child:hover{background:#C8A96E;color:#131211!important}
.hnav button{transition:color .18s ease,background-color .18s ease}
.hnav button:hover{background:#C8A96E!important;color:#131211!important}
.hnav button:hover svg{stroke:#131211}
