.location-page{background:var(--ivory)}
.location-page .site-header{background:rgba(247,243,236,.96);color:var(--ink);box-shadow:0 1px 0 rgba(52,54,47,.08);backdrop-filter:blur(18px)}
.location-page .header-enquire{border-color:var(--ink)}
.location-page .menu-panel__nav{overflow-y:auto}
.location-page .menu-panel__nav>a{font-size:clamp(36px,4vw,62px)}
.location-page .menu-panel__nav p{margin-top:24px}

.location-hero{display:grid;grid-template-columns:54% 46%;min-height:690px;height:100svh;max-height:1100px;padding-top:86px}
.location-hero__copy{display:flex;flex-direction:column;justify-content:space-between;min-width:0;padding:clamp(35px,4.5vw,72px) clamp(34px,6.8vw,110px) 39px clamp(34px,6vw,96px)}
.location-eyebrow,.location-hero__foot,.location-hero__image figcaption,.location-address__top,.location-address__label,.location-address__bottom,.location-footer{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.location-eyebrow{display:flex;gap:17px;color:var(--sage)}
.location-eyebrow span{color:var(--gold)}
.location-hero__heading{padding:30px 0 22px}
.location-hero h1{margin:0;font:400 clamp(72px,8vw,144px)/.87 var(--serif);letter-spacing:-.055em;white-space:nowrap}
.location-hero h1 em{font:italic .92em Georgia,serif;letter-spacing:-.08em}
.location-hero__heading p{max-width:350px;margin:39px 0 37px;color:var(--taupe);font:400 clamp(18px,1.6vw,23px)/1.43 Georgia,serif;letter-spacing:-.02em}
.location-scroll{display:inline-flex;align-items:center;gap:54px;padding-bottom:10px;border-bottom:1px solid var(--ink);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.location-scroll span{font-size:19px;font-weight:400;transition:transform .2s ease}
.location-scroll:hover span{transform:translateY(4px)}
.location-hero__foot{display:flex;align-items:center;gap:14px;color:var(--wood);letter-spacing:.1em}
.location-hero__foot span{font-size:21px;line-height:.5;color:var(--gold)}
.location-hero__image{position:relative;min-width:0;height:100%;margin:0;overflow:hidden;background:#66513e}
.location-hero__image img{width:100%;height:100%;object-fit:cover;object-position:center 46%}
.location-hero__image:after{position:absolute;inset:60% 0 0;background:linear-gradient(transparent,rgba(15,20,19,.55));content:"";pointer-events:none}
.location-hero__image figcaption{position:absolute;z-index:1;right:clamp(26px,3.6vw,56px);bottom:35px;left:clamp(26px,3.6vw,56px);display:flex;justify-content:space-between;color:white;font-size:9px}

.location-address{position:relative;min-height:710px;padding:55px clamp(34px,6vw,96px) 35px;background:#234b51;color:var(--ivory);scroll-margin-top:72px;overflow:hidden}
.location-address:before{position:absolute;top:20%;left:42%;width:44vw;height:44vw;max-width:680px;max-height:680px;border:1px solid rgba(247,243,236,.075);border-radius:50%;content:"";pointer-events:none}
.location-address__top,.location-address__bottom{position:relative;display:flex;justify-content:space-between;gap:30px;max-width:1440px;margin:auto;color:rgba(247,243,236,.6)}
.location-address__top{padding-bottom:22px;border-bottom:1px solid rgba(247,243,236,.22)}
.location-address__body{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%;max-width:1440px;min-height:520px;margin:auto;padding:70px 0 65px}
.location-address h2{margin:0;font:400 clamp(78px,9vw,150px)/.88 var(--serif);letter-spacing:-.06em;white-space:nowrap}
.location-address h2 em{font:italic .9em Georgia,serif;letter-spacing:-.09em}
.location-address__details{padding-top:20px}
.location-address__label{color:#bfd0cb}
.location-address address{margin:24px 0 42px;font:normal 400 clamp(28px,3.25vw,50px)/1.14 Georgia,serif;letter-spacing:-.045em}
.location-address__actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 32px}
.location-directions,.location-copy{display:inline-flex;align-items:center;justify-content:space-between;gap:48px;min-height:54px;padding:0 0 10px;border:0;border-bottom:1px solid rgba(247,243,236,.7);background:none;color:var(--ivory);font-size:11px;font-weight:700;letter-spacing:.12em;text-align:left;text-transform:uppercase;transition:color .2s ease,border-color .2s ease}
.location-directions:hover,.location-copy:hover{color:#d8c8b5;border-color:#d8c8b5}
.location-directions span,.location-copy span{font-size:20px;font-weight:400;line-height:1}
.location-copy-status{min-height:20px;margin:16px 0 0;color:#d8c8b5;font-size:12px}
.location-address__bottom{align-items:center;padding-top:24px;border-top:1px solid rgba(247,243,236,.22)}
.location-address__bottom span:last-child{font-size:25px;line-height:1}

.location-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:25px;min-height:150px;padding:35px clamp(34px,6vw,96px);color:var(--taupe);letter-spacing:.1em}
.location-footer__brand{font:400 30px/1 var(--serif);letter-spacing:.12em;color:var(--ink)}
.location-footer>a:last-child{justify-self:end;border-bottom:1px solid var(--ink);padding-bottom:8px;color:var(--ink)}
.location-footer>a:last-child span{margin-left:22px;font-size:17px;font-weight:400}

@media(max-width:900px){
  .location-hero{grid-template-columns:52% 48%}
  .location-hero__copy{padding-inline:38px}
  .location-hero h1{font-size:clamp(65px,8.5vw,92px)}
  .location-address__body{gap:5%}
  .location-address h2{font-size:clamp(70px,9vw,100px)}
}
@media(max-width:700px){
  .location-page .menu-panel__nav{height:100%;padding-top:96px;padding-bottom:30px}
  .location-page .menu-panel__nav>a{font-size:clamp(39px,10vw,58px)}
  .location-hero{display:flex;flex-direction:column;height:auto;max-height:none;min-height:0;padding-top:74px}
  .location-hero__copy{min-height:560px;padding:36px 25px 29px}
  .location-hero__heading{padding:46px 0}
  .location-hero h1{font-size:clamp(70px,14vw,110px)}
  .location-hero__heading p{max-width:310px;margin:31px 0 30px;font-size:19px}
  .location-hero__foot{font-size:9px}
  .location-hero__image{height:min(112vw,580px);flex:none}
  .location-hero__image img{object-position:center 41%}
  .location-hero__image figcaption{bottom:26px}
  .location-address{min-height:0;padding:34px 25px 28px}
  .location-address__top span:last-child{display:none}
  .location-address__body{display:block;min-height:0;padding:75px 0 92px}
  .location-address h2{font-size:clamp(78px,16vw,112px)}
  .location-address__details{padding-top:75px}
  .location-address address{font-size:clamp(33px,7vw,47px)}
  .location-address:before{top:22%;left:36%;width:85vw;height:85vw}
  .location-footer{grid-template-columns:1fr auto;min-height:0;padding:50px 25px;gap:30px 20px}
  .location-footer__brand{font-size:24px}
  .location-footer>span{grid-row:2;grid-column:1 / -1;font-size:9px}
  .location-footer>a:last-child{font-size:9px}
  .location-footer>a:last-child span{margin-left:8px}
}
@media(max-width:390px){
  .location-hero__copy{min-height:525px}
  .location-hero h1{font-size:65px}
  .location-address h2{font-size:75px}
  .location-address__actions{align-items:stretch;flex-direction:column;gap:12px}
  .location-directions,.location-copy{width:100%}
}
@media(prefers-reduced-motion:reduce){.location-scroll span{transition:none}}
