/* A Tbilisi city guide. All rules stay within the locations page. */
.locations-page{--loc-coral:#F54442;--loc-ink:#292321;--loc-cream:#fff5e8;min-width:0;color:var(--loc-ink);background:#fffdf9}
.locations-page *{box-sizing:border-box}
.locations-page :is(figure,p){margin:0}
.locations-page :is(h1,h2,h3,p,a,figcaption){overflow-wrap:anywhere}
.locations-page a{text-decoration:none}
.loc-hero{background:#fff3e6;border-bottom:1px solid #eadfd0}
.loc-hero__inner{display:grid;grid-template-columns:minmax(0,.97fr) minmax(0,1.03fr);align-items:center;gap:68px;width:100%;max-width:1370px;margin:auto;padding:66px 64px 62px}
.loc-hero__copy{min-width:0;animation:loc-enter .6s ease-out both}
.locations-page .loc-eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 26px;color:#806656;font:700 10px/1.7 var(--body-font,sans-serif);letter-spacing:.15em}
.loc-eyebrow:before{content:"";width:27px;height:1px;flex:0 0 27px;background:var(--loc-coral)}
.euro-demo .locations-page h1.loc-hero__title{margin:0 0 28px;font:800 clamp(64px,7.1vw,100px)/.96 var(--heading-font,sans-serif);letter-spacing:-.055em;color:var(--loc-ink);text-wrap:initial}
.loc-hero__title>span{display:block}
.loc-hero__title>span:last-child{margin-top:7px;color:var(--loc-coral)}
.locations-page .loc-hero__description{max-width:355px;margin:0 0 28px;color:#7b6558;font:400 16px/1.8 var(--body-font,sans-serif)}
.locations-page .loc-button{display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:49px;padding:14px 26px;border:1px solid var(--loc-coral);border-radius:999px;background:var(--loc-coral);color:#241916;font:600 13px/1.5 var(--body-font,sans-serif);text-align:center;transition:transform .2s,box-shadow .2s,background .2s}
.locations-page .loc-button:hover{background:#F54442e8;color:#241916;transform:translateY(-2px);box-shadow:0 6px 16px #F5444220}
.locations-page .loc-button:active{transform:translateY(0);box-shadow:none}
.locations-page :is(a,button):focus-visible{outline:2px solid var(--loc-coral);outline-offset:5px}
.locations-page .loc-hero__footnote{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:37px;color:#806c5f;font:500 11px/1.7 var(--body-font,sans-serif)}
.loc-mini-route{display:flex;align-items:center;gap:8px;padding:0 2px}
.loc-mini-route i{position:relative;display:block;width:5px;height:5px;border-radius:50%;background:var(--loc-coral)}
.loc-mini-route i:not(:last-child):after{content:"";position:absolute;left:5px;top:2px;width:8px;height:1px;background:#F544424d}
.locations-page .loc-map{position:relative;min-width:0;margin:0;padding:24px 0 22px;overflow:hidden;border:1px solid #292321;border-radius:24px;background:var(--loc-ink);box-shadow:0 14px 35px #44312012;animation:loc-enter .7s .08s ease-out both}
.loc-map__heading{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;padding:0 28px}
.locations-page .loc-map__city{display:block;min-width:0;margin:0;font:800 34px/1.1 var(--heading-font,sans-serif);letter-spacing:-.04em;color:var(--loc-cream);overflow-wrap:anywhere}
.loc-map__edition{color:#c5ad98;font:600 9px/1.7 var(--body-font,sans-serif);letter-spacing:.12em;text-align:right}
.loc-map-stage{position:relative;width:100%;aspect-ratio:640/520;margin:20px 0 0;background:#f4eadb;isolation:isolate}
.loc-map-stage>img{display:block;width:100%;height:100%;object-fit:contain}
.euro-demo .locations-page .loc-map-pin{position:absolute;z-index:1;left:var(--pin-x);top:var(--pin-y);display:grid;place-items:center;width:44px;height:44px;padding:0;border:2px solid #fffaf1;border-radius:50%;background:var(--loc-coral);color:#241916;box-shadow:0 4px 12px #51332521;transform:translate(-50%,-50%);font:700 14px/1 var(--heading-font,sans-serif);cursor:pointer;transition:box-shadow .2s,background .2s,color .2s,scale .2s}
.loc-map-pin:before{content:"";position:absolute;inset:-5px;z-index:-1;border:1px solid #F5444255;border-radius:50%;animation:loc-pin-ring 3.8s ease-out 2}
.loc-map-pin:nth-of-type(2):before{animation-delay:.6s}
.loc-map-pin:nth-of-type(3):before{animation-delay:1.2s}
.loc-map-pin:nth-of-type(4):before{animation-delay:1.8s}
.euro-demo .locations-page .loc-map-pin:is(:hover,:focus-visible,[aria-pressed="true"]){background:var(--loc-ink);border-color:#fffaf1;color:var(--loc-cream);box-shadow:0 5px 14px #29232126;scale:1.08}
.euro-demo .locations-page .loc-map-pin:active{scale:1}
.loc-map__instruction{display:flex;align-items:center;justify-content:center;gap:9px;padding:18px 24px 10px;color:var(--loc-cream);font:600 11px/1.5 var(--body-font,sans-serif);text-align:center}
.loc-map__dot{width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:var(--loc-coral)}
.loc-map figcaption{max-width:350px;padding:0 25px;margin:auto;color:#c4ac96;font:400 9px/1.7 var(--body-font,sans-serif);text-align:center}
.loc-directory{width:100%;max-width:1370px;margin:auto;padding:78px 64px 70px;scroll-margin-top:110px}
.loc-directory__intro{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:34px}
.loc-directory__intro>div{min-width:0}
.loc-directory__intro .loc-eyebrow{margin-bottom:15px}
.euro-demo .locations-page .loc-directory__intro h2{max-width:640px;margin:0;font:700 clamp(35px,3.7vw,50px)/1.1 var(--heading-font,sans-serif);letter-spacing:-.035em;color:var(--loc-ink)}
.loc-directory__count{display:flex;align-items:center;gap:15px;flex:0 0 185px;padding-bottom:2px}
.loc-directory__count>span{font:700 61px/1 var(--heading-font,sans-serif);letter-spacing:-.055em;color:var(--loc-coral)}
.locations-page .loc-directory__count p{max-width:94px;color:#8a7869;font:400 11px/1.55 var(--body-font,sans-serif)}
.locations-page .loc-branch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;min-width:0}
.locations-page .loc-branch{position:relative;min-width:0;max-width:100%;padding:30px;border:1px solid #e5dacb;border-radius:18px;background:#faf5ec;scroll-margin-top:110px;transition:border-color .2s,box-shadow .2s,background .2s}
.locations-page .loc-branch:hover{border-color:#F5444266;background:#fff8ee}
.locations-page .loc-branch.is-selected{border-color:var(--loc-coral);background:#fff4e8;box-shadow:0 0 0 3px #F5444210}
.locations-page .loc-branch:focus-visible{outline:2px solid var(--loc-coral);outline-offset:4px}
.loc-branch__top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:27px}
.locations-page :is(.loc-branch__number,.loc-branch .branch-number){display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 38px;margin:0;border:1px solid #F5444240;border-radius:50%;color:var(--loc-coral);font:600 13px/1 var(--heading-font,sans-serif);letter-spacing:0}
.loc-branch__district{color:#93806f;font:500 10px/1.7 var(--body-font,sans-serif);letter-spacing:.06em;overflow-wrap:anywhere}
.euro-demo .locations-page .loc-branch h3{margin:0 0 11px;font:700 34px/1.12 var(--heading-font,sans-serif);letter-spacing:-.025em;color:var(--loc-ink)}
.locations-page .loc-branch__address{min-height:44px;margin:0 0 26px;color:#806d5f;font:400 14px/1.7 var(--body-font,sans-serif)}
.locations-page :is(.loc-branch__actions,.loc-branch .branch-links){display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:13px 20px;margin:0;padding-top:21px;border-top:1px solid #e4d9cb}
.locations-page .loc-branch__actions a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:0;max-width:100%;min-height:42px;line-height:1.5;font-family:var(--body-font,sans-serif);font-size:12px;font-weight:600;white-space:normal;text-align:center;border-bottom:0;transition:color .2s,background .2s,transform .2s}
.loc-branch__actions a>span{min-width:0;overflow-wrap:anywhere}
.loc-branch__actions svg{display:block;width:17px;height:17px;flex:0 0 17px}
.locations-page .loc-branch__phone{padding:8px 0;color:#514033}
.locations-page .loc-branch__phone:hover{color:var(--loc-coral)}
.locations-page .loc-branch__directions{padding:10px 17px;border:1px solid #F544423d;border-radius:999px;color:#5e332d;background:#F544420d}
.locations-page .loc-branch__directions:hover{color:#241916;background:#F5444221;transform:translateY(-1px)}
.locations-page .loc-directory__source{margin-top:23px;color:#968475;font:400 10px/1.75 var(--body-font,sans-serif)}
.locations-page .loc-visit{position:relative;isolation:isolate;background:var(--loc-ink);color:var(--loc-cream)}
.loc-visit__inner{display:grid;grid-template-columns:minmax(0,.64fr) minmax(0,1.36fr) auto;align-items:center;gap:44px;max-width:1370px;margin:auto;padding:54px 64px}
.loc-visit__art{position:relative;min-width:0;max-width:240px;aspect-ratio:1;margin:0 12px}
.loc-visit__art>img{display:block;width:100%;height:100%;border-radius:50%;object-fit:contain;background:#fff}
.loc-visit__orbit{position:absolute;inset:-12px;border:1px solid #F5444277;border-radius:50%;transform:rotate(-19deg) scaleY(.89);pointer-events:none}
.loc-visit__copy{min-width:0}
.loc-visit .loc-eyebrow{margin-bottom:16px;color:#c3a58d}
.euro-demo .locations-page .loc-visit h2{margin:0 0 19px;color:var(--loc-cream);font:700 clamp(35px,3.5vw,49px)/1.07 var(--heading-font,sans-serif);letter-spacing:-.03em}
.loc-visit h2>span{display:block}
.loc-visit h2>span:last-child{color:var(--loc-coral)}
.locations-page .loc-visit__description{max-width:445px;color:#c5af9e;font:400 13px/1.8 var(--body-font,sans-serif)}
.locations-page .loc-button--light{border-color:#fff5e8;background:#fff5e8;color:#292321}
.locations-page .loc-button--light:hover{background:#fffaf3;color:#292321;box-shadow:0 6px 16px #00000014}
html[lang="ka"] .locations-page :is(h1,h2,h3,.eyebrow){text-transform:none}
html[lang="ka"] .euro-demo .locations-page h1.loc-hero__title{font-size:clamp(38px,4.4vw,58px);line-height:1.22;letter-spacing:-.035em}
html[lang="ka"] .loc-hero__title>span:last-child{font-size:.93em;line-height:1.35}
html[lang="ka"] .locations-page .loc-eyebrow{font-size:9px;letter-spacing:.035em}
html[lang="ka"] .locations-page .loc-hero__description{font-size:13px;line-height:1.9}
html[lang="ka"] .locations-page .loc-button{font-size:11px;padding-inline:24px}
html[lang="ka"] .loc-map__city{font-size:27px}
html[lang="ka"] .loc-map__edition{font-size:8px;letter-spacing:0}
html[lang="ka"] .loc-map__instruction{font-size:9px;line-height:1.7}
html[lang="ka"] .loc-map figcaption{font-size:8px}
html[lang="ka"] .euro-demo .locations-page .loc-directory__intro h2{font-size:35px;line-height:1.35}
html[lang="ka"] .euro-demo .locations-page .loc-branch h3{font-size:26px;line-height:1.3}
html[lang="ka"] .locations-page .loc-branch__address{font-size:12px;line-height:1.8}
html[lang="ka"] .loc-branch__district{font-size:9px;letter-spacing:0}
html[lang="ka"] .locations-page .loc-branch__directions{font-size:10px}
html[lang="ka"] .euro-demo .locations-page .loc-visit h2{font-size:32px;line-height:1.35}
html[lang="ka"] .locations-page .loc-visit__description{font-size:11px;line-height:1.9}
html[lang="ru"] .euro-demo .locations-page h1.loc-hero__title{font-size:clamp(49px,5vw,71px);line-height:1.05}
html[lang="ru"] .loc-hero__title>span:last-child{font-size:.85em;line-height:1.08}
html[lang="ru"] .euro-demo .locations-page .loc-directory__intro h2{font-size:43px}
html[lang="ru"] .euro-demo .locations-page .loc-branch h3{font-size:30px}
html[lang="ru"] .euro-demo .locations-page .loc-visit h2{font-size:40px}
@keyframes loc-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes loc-pin-ring{0%,100%{opacity:0;transform:scale(1)}20%{opacity:.65}65%{opacity:0;transform:scale(1.35)}}
@media(max-width:1100px){
  .loc-hero__inner{gap:36px;padding:54px 40px}
  .euro-demo .locations-page h1.loc-hero__title{font-size:74px}
  .loc-directory{padding:62px 40px}
  .loc-visit__inner{grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);gap:26px 40px;padding:48px 40px}
  .loc-visit__art{grid-row:1/3}
  .loc-visit__inner>.loc-button{justify-self:start;grid-column:2}
  html[lang="ka"] .euro-demo .locations-page h1.loc-hero__title{font-size:43px}
  html[lang="ru"] .euro-demo .locations-page h1.loc-hero__title{font-size:52px}
}
@media(max-width:800px){
  .loc-hero__inner{grid-template-columns:minmax(0,1fr);max-width:650px;gap:36px;padding:45px 32px 42px}
  .euro-demo .locations-page h1.loc-hero__title{max-width:550px;font-size:88px}
  .locations-page .loc-hero__description{max-width:430px}
  .locations-page .loc-hero__footnote{margin-top:24px}
  .loc-map__heading{padding-inline:27px}
  .loc-map-stage{margin-top:18px}
  .loc-directory{padding:48px 32px}
  .loc-directory__intro{gap:24px}
  .loc-directory__count{flex-basis:145px;gap:10px}
  .loc-directory__count>span{font-size:51px}
  .loc-directory__count p{font-size:10px}
  .locations-page .loc-branch-grid{grid-template-columns:minmax(0,1fr);gap:16px}
  .locations-page .loc-branch{padding:27px}
  .loc-branch__top{margin-bottom:22px}
  .locations-page .loc-branch__address{min-height:0;margin-bottom:22px}
  .euro-demo .locations-page .loc-directory__intro h2{font-size:36px}
  .loc-visit__inner{padding:43px 32px;gap:24px 32px}
  html[lang="ka"] .euro-demo .locations-page h1.loc-hero__title{font-size:53px}
  html[lang="ka"] .euro-demo .locations-page .loc-directory__intro h2{font-size:28px}
  html[lang="ru"] .euro-demo .locations-page h1.loc-hero__title{font-size:67px}
  html[lang="ru"] .euro-demo .locations-page .loc-directory__intro h2{font-size:32px}
}
@media(max-width:540px){
  .loc-hero__inner{padding:37px 21px 32px;gap:29px}
  .locations-page .loc-eyebrow{font-size:9px;margin-bottom:23px;letter-spacing:.11em}
  .euro-demo .locations-page h1.loc-hero__title{font-size:clamp(57px,15.3vw,80px);margin-bottom:23px}
  .locations-page .loc-hero__description{font-size:14px;line-height:1.8;margin-bottom:23px}
  .locations-page .loc-button{min-height:46px;font-size:12px;padding:12px 23px}
  .locations-page .loc-hero__footnote{font-size:10px;gap:10px;margin-top:23px}
  .locations-page .loc-map{padding:20px 0 18px;border-radius:18px}
  .loc-map__heading{padding-inline:21px}
  .locations-page .loc-map__city{font-size:30px}
  .loc-map__edition{font-size:8px}
  .loc-map__instruction{padding:17px 18px 9px;font-size:10px}
  .loc-map figcaption{padding-inline:20px;font-size:8px;max-width:315px}
  .loc-directory{padding:38px 21px 40px}
  .loc-directory__intro{align-items:flex-start;flex-direction:column;gap:19px;margin-bottom:23px}
  .loc-directory__intro .loc-eyebrow{margin-bottom:12px}
  .euro-demo .locations-page .loc-directory__intro h2{max-width:380px;font-size:36px}
  .loc-directory__count{flex:0 1 auto;gap:10px}
  .loc-directory__count>span{font-size:34px;letter-spacing:-.03em}
  .locations-page .loc-directory__count p{max-width:none;font-size:10px}
  .locations-page .loc-branch{padding:23px 21px;border-radius:15px}
  .loc-branch__top{margin-bottom:21px}
  .euro-demo .locations-page .loc-branch h3{font-size:30px}
  .locations-page .loc-branch__address{font-size:13px}
  .locations-page .loc-branch__actions{gap:9px 12px;padding-top:17px}
  .locations-page .loc-branch__actions a{font-size:11px}
  .locations-page .loc-branch__directions{padding:10px 13px}
  .loc-branch__actions svg{width:15px;height:15px;flex-basis:15px}
  .locations-page .loc-directory__source{font-size:9px;margin-top:19px}
  .loc-visit__inner{grid-template-columns:minmax(0,1fr);padding:37px 24px;gap:25px}
  .loc-visit__art{grid-row:auto;width:116px;margin:0 8px}
  .loc-visit__orbit{inset:-8px}
  .loc-visit__inner>.loc-button{grid-column:auto}
  .loc-visit .loc-eyebrow{margin-bottom:15px;font-size:8px}
  .euro-demo .locations-page .loc-visit h2{font-size:40px;margin-bottom:18px}
  .locations-page .loc-visit__description{font-size:12px}
  html[lang="ka"] .euro-demo .locations-page h1.loc-hero__title{font-size:clamp(32px,9.1vw,43px);line-height:1.23}
  html[lang="ka"] .locations-page .loc-hero__description{font-size:12px}
  html[lang="ka"] .locations-page .loc-hero__footnote{font-size:9px}
  html[lang="ka"] .locations-page .loc-button{font-size:10px}
  html[lang="ka"] .loc-map__city{font-size:24px}
  html[lang="ka"] .loc-map__edition{font-size:7px}
  html[lang="ka"] .loc-map__instruction{font-size:8px}
  html[lang="ka"] .loc-map figcaption{font-size:8px}
  html[lang="ka"] .euro-demo .locations-page .loc-directory__intro h2{font-size:26px}
  html[lang="ka"] .euro-demo .locations-page .loc-branch h3{font-size:23px}
  html[lang="ka"] .locations-page .loc-branch__address{font-size:11px}
  html[lang="ka"] .locations-page .loc-branch__directions{font-size:9px}
  html[lang="ka"] .euro-demo .locations-page .loc-visit h2{font-size:28px}
  html[lang="ru"] .euro-demo .locations-page h1.loc-hero__title{font-size:clamp(43px,11.5vw,58px)}
  html[lang="ru"] .euro-demo .locations-page .loc-directory__intro h2{font-size:30px}
  html[lang="ru"] .euro-demo .locations-page .loc-branch h3{font-size:25px}
  html[lang="ru"] .euro-demo .locations-page .loc-visit h2{font-size:35px}
}
@media(prefers-reduced-motion:reduce){
  .locations-page *,.locations-page *:before{animation:none!important;transition:none!important;scroll-behavior:auto}
  .locations-page :is(.loc-button,.loc-branch__directions):hover{transform:none}
  .euro-demo .locations-page .loc-map-pin{scale:1}
}
