/* REVL locations page, round 1: the studio page's own pieces, lifted from
   studio-page/round-2/page/style.css (the locked page) so every concept speaks its language.
   Gutter, wrap, section heading, buttons, the field box, the mono filter, the footer, the black
   tag and the map pin. A concept adds its own sheet on top; it never restyles these. */
:root{
  --g:51px;            /* side gutter, matches the header wordmark x */
  --max:1338px;
  --sec:168px;         /* section rhythm */
}
.wrap{width:min(100% - var(--g)*2, var(--max));margin-inline:auto}
.h2{font-size:44px;color:var(--white);margin:0}
.k{font-family:var(--fmono);font-weight:400;font-size:13px;letter-spacing:-.02em;text-transform:uppercase;line-height:1.1;color:var(--beige)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 24px;border-radius:4px;border:1px solid var(--line);font-family:var(--fmono);font-weight:700;font-size:15px;letter-spacing:-.02em;text-transform:uppercase;color:var(--white);text-decoration:none;white-space:nowrap;transition:background-color .2s ease,border-color .2s ease,color .2s ease}
.btn:hover{border-color:var(--grey)}
.btn-primary{background:var(--white);border-color:var(--white);color:var(--midblack)}
.btn-primary:hover{background:var(--grey);border-color:var(--grey)}
.btn-text{display:inline-flex;align-items:center;gap:10px;font-family:var(--fmono);font-weight:400;font-size:14px;letter-spacing:-.02em;text-transform:uppercase;color:var(--dim);padding:8px 2px;text-decoration:none}
.btn-text:hover{color:var(--white)}
.btn-sm{height:38px;padding:0 16px;font-size:13px}
.btn svg{width:15px;height:13px;flex:none}
:focus-visible{outline:2px solid var(--white);outline-offset:3px}

/* the field box (the studio form's input) */
.box{position:relative;display:flex;align-items:center;height:56px;border-radius:4px;background:var(--panel);border:1px solid transparent;transition:border-color .2s ease}
.box:focus-within{border-color:var(--dim)}
.box input{flex:1;min-width:0;height:100%;background:transparent;border:0;outline:none;padding:0 18px;font-size:18px;color:var(--white)}
.box input::placeholder{color:rgba(212,212,211,.32)}
.box input::-webkit-search-cancel-button{-webkit-appearance:none}

/* the mono filter (the timetable's program filter) */
.filt{font-family:var(--fmono);font-weight:400;font-size:14px;letter-spacing:-.02em;text-transform:uppercase;color:var(--dim);padding:8px 0;display:inline-flex;align-items:center;gap:12px}
.filt::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--white);opacity:0;transition:opacity .15s ease}
.filt:hover{color:var(--grey)}
.filt[aria-pressed="true"]{color:var(--white);font-weight:700}
.filt[aria-pressed="true"]::before{opacity:1}

/* the black tag and the pin (the studio page's Find us map) */
.tag{display:inline-block;padding:6px 9px 5px;border-radius:4px;background:var(--ground);color:var(--white);font-family:var(--fmono);font-weight:700;font-size:12px;letter-spacing:-.02em;line-height:1.1;text-transform:uppercase;white-space:nowrap}
.pin{display:block;width:26px;height:35px;color:var(--white)}
.pin svg{display:block;width:100%;height:100%}
.osm{font-family:var(--fmono);font-weight:400;font-size:10px;letter-spacing:-.02em;line-height:1.2;color:var(--dim)}

/* footer */
.foot{padding:40px 0 48px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;color:var(--dim);font-size:15px}
.foot nav{display:flex;gap:28px;flex-wrap:wrap}
.foot a{text-decoration:none;color:var(--dim)}
.foot a:hover{color:var(--white)}
.foot .meta{display:flex;gap:28px}

@media (min-width:900px) and (max-height:820px){ :root{--sec:136px} }
@media (max-width:1024px){ :root{--g:20px;--sec:112px} }
@media (max-width:720px){
  :root{--sec:96px}
  .h2{font-size:34px}
  .foot{flex-direction:column;align-items:flex-start}
  .foot nav{gap:12px 22px}
}
