/* Coming-soon page. Type, buttons and the M come from the site's own stylesheet; only the page shell lives here. */
.soon{display:flex;flex-direction:column;min-height:100vh;background:var(--night)}
@supports (height:1svh){.soon{min-height:100svh}}
.soon main{flex:1 0 auto;display:flex;flex-direction:column}
.soon .hero{flex:1 0 auto;display:grid;align-items:center}
.soon .hero__actions{display:flex}
/* the mark and the title give way to the height of the screen, so the opening hours stay in view
   on a laptop and the menu button stays on the first screen of a phone */
.soon .hero{padding-top:calc(var(--header-h) + clamp(.5rem,calc(var(--u) * .03),2rem));padding-bottom:clamp(1.25rem,calc(var(--u) * .045),3rem)}
.soon .hero__grid{min-height:0}
.soon .hero__title{font-size:clamp(3.75rem,17.5vw,5.5rem)}
.soon .hero__mark{max-width:13.5rem;margin-inline:0}
.soon .pillar{height:auto;aspect-ratio:46/100}
@media (min-width:48rem){
  .soon .hero__title{font-size:clamp(4rem,min(8.6vw,calc(var(--u) * .13)),7.5rem)}
  .soon .hero__mark{max-width:min(24rem,calc(var(--u) * .5));margin-inline:auto 0}
}
@media (min-width:60rem){.soon .hero__mark{max-width:min(31rem,calc(var(--u) * .5))}}
.header--static{position:absolute}
.soon__en{margin-top:.75rem;font-size:.9375rem;color:var(--on-dark-soft)}
.soon__facts{background:var(--white);color:var(--ink);padding-block:clamp(1.25rem,3vw,1.75rem)}
.soon__cols{display:grid;gap:1.25rem 3rem}
.soon__label{font-size:.875rem;font-weight:600;color:var(--ink-soft)}
.soon__value{margin-top:.125rem;font-family:var(--font-display);font-weight:500;font-size:1.5rem;line-height:1.25;letter-spacing:.01em}
.soon__value a{display:inline-block;padding-block:.25rem;text-decoration:none}
.soon__value .soon__map{text-decoration:underline;text-decoration-color:var(--brass);text-decoration-thickness:2px;text-underline-offset:.22em}
.soon__hours{display:grid;gap:.125rem;max-width:23rem}
.soon__hours > span{display:flex;justify-content:space-between;gap:1.5rem}
@media (min-width:48rem){.soon__cols{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto}}
.soon__foot{background:var(--night);color:var(--on-dark-soft);border-top:1px solid var(--line-dark);padding-block:.5rem calc(.5rem + env(safe-area-inset-bottom));font-size:.9375rem}
.soon__footrow{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:0 2rem}
.soon__footrow p{display:flex;align-items:center;gap:.5rem;min-height:2.75rem}
.soon__footrow a{display:inline-flex;align-items:center;min-height:2.75rem;color:inherit;text-decoration:underline;text-decoration-color:var(--brass);text-underline-offset:.3em}
.gate__toggle{display:inline-flex;align-items:center;min-height:2.75rem;cursor:pointer;list-style:none;color:var(--on-dark-soft)}
.gate__toggle::-webkit-details-marker{display:none}
.gate[open] .gate__toggle{color:var(--on-dark)}
.gate__form{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding-bottom:.5rem}
.gate__input{width:9.5rem;min-height:2.75rem;padding:.5rem .75rem;font-size:1rem;letter-spacing:.12em;color:var(--on-dark);background:transparent;border:1px solid var(--line-dark);border-radius:0;appearance:none;-webkit-appearance:none;caret-color:var(--brass)}
.gate__input::placeholder{letter-spacing:0;color:var(--on-dark-soft)}
.gate__input:focus-visible{outline:2px solid var(--brass);outline-offset:1px}
.gate__msg{flex-basis:100%;min-height:1.25rem;font-size:.875rem;color:var(--on-dark-soft)}
.gate__msg.is-error{color:#F0A49C}
@media (hover:hover) and (pointer:fine){.soon__footrow a:hover,.gate__toggle:hover{color:var(--on-dark)}}
