/* CSS was generated in-session. If you need the exact longer version, ask and I'll expand it. */
:root{--bg:#1e1e1e;--title:#fff;--muted:#b3b3b3;--card:rgba(255,255,255,.04);--stroke:rgba(255,255,255,.10);--icon-bg:#b3b3b3;--icon-fg:#000;--focus:rgba(255,255,255,.22);--max:1180px;--square:0px;--topbar-h:72px;--shadow:0 25px 70px rgba(0,0,0,.45);--ease:cubic-bezier(.2,.8,.2,1);--hero-h:min(78vh,860px)}
*{box-sizing:border-box}html,body{height:100%}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--title);font-family:"Space Mono",monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
a{color:inherit}img{max-width:100%;display:block}button,input,textarea{font:inherit}
:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus)}
.container{width:min(var(--max),calc(100% - 40px));margin:0 auto}
.grain{position:fixed;inset:0;pointer-events:none;opacity:.10;mix-blend-mode:overlay;z-index:9999;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");background-size:220px 220px;transform:translateZ(0)}
.site-wrap{min-height:100%;display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:50;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:rgba(30,30,30,.65);border-bottom:1px solid var(--stroke)}
.topbar-inner{height:var(--topbar-h);display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-mark{width:36px;height:36px;border:1px solid var(--stroke);background:rgba(255,255,255,.02);display:grid;place-items:center;border-radius:var(--square)}
.brand-mark svg{width:18px;height:18px;fill:var(--title);opacity:.9}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-text strong{font-family:"Syne",sans-serif;font-weight:800;letter-spacing:.02em;font-size:14px}
.brand-text span{color:var(--muted);font-size:12px}
.nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}
.nav a{text-decoration:none;font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:10px 10px;border:1px solid transparent;color:var(--muted);transition:.18s var(--ease)}
.nav a:hover{color:var(--title);border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.03)}
.topbar-right{display:flex;align-items:center;gap:10px}
.lang-toggle,.pill{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--stroke);border-radius:var(--square);font-size:12px;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:.2s var(--ease)}
.lang-toggle{background:transparent;color:var(--title);font-weight:700}
.lang-toggle:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.25)}
.pill{text-decoration:none;color:var(--muted);background:rgba(255,255,255,.03)}
.pill:hover{color:var(--title);border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.06)}
main{flex:1}
.hero{position:relative;padding:0;width:100%;border-bottom:1px solid var(--stroke);background:radial-gradient(900px 480px at 20% 10%,rgba(255,255,255,.07),transparent 55%),radial-gradient(900px 480px at 80% 40%,rgba(255,255,255,.05),transparent 55%),linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,0))}
.hero-viewport{height:var(--hero-h);min-height:520px;position:relative;overflow:hidden}
.slides{height:100%;display:flex;transition:transform .7s var(--ease);will-change:transform}
.slide{position:relative;min-width:100%;height:100%;overflow:hidden}
.slide-media{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.03);filter:contrast(1.05) saturate(.95)}
.slide::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.40) 40%,rgba(0,0,0,.25) 70%,rgba(0,0,0,.55) 100%),linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.25) 35%,rgba(0,0,0,.55) 100%);pointer-events:none}
.slide-inner{position:relative;height:90%;display:grid;align-items:end;padding:36px 0 34px 0}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:end}
.hero-title{margin:0;font-family:"Syne",sans-serif;font-weight:800;letter-spacing:.02em;font-size:clamp(34px,5.2vw,64px);line-height:1.02;text-transform:uppercase}
.hero-sub{color:rgba(255,255,255,.86);margin:12px 0 0 0;max-width:64ch;line-height:1.7;font-size:14px}
.info-box{justify-self:end;width:min(420px,100%);border:1px solid var(--stroke);background:rgba(30,30,30,.58);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow);border-radius:var(--square);padding:16px 16px 14px 16px}
.info-kicker{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.tag{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.05);padding:8px 10px;border-radius:var(--square);font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:rgba(255,255,255,.86);white-space:nowrap}
.count{font-size:11px;letter-spacing:.10em;color:var(--muted);text-transform:uppercase;white-space:nowrap}
.info-box h3{margin:0 0 10px 0;font-family:"Syne",sans-serif;font-weight:800;font-size:18px;letter-spacing:.02em;text-transform:uppercase}
.info-box p{margin:0 0 14px 0;color:var(--muted);line-height:1.7;font-size:13px}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 14px;border-radius:var(--square);border:1px solid rgba(255,255,255,.20);background:rgba(255,255,255,.10);color:var(--title);font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:.2s var(--ease);user-select:none}
.btn:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.30)}
.btn.secondary{background:transparent;border-color:rgba(255,255,255,.18);color:rgba(255,255,255,.88)}
.btn.secondary:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.26)}
.hero-ui{position:absolute;left:0;right:0;bottom:16px;pointer-events:none}
.hero-ui .container{display:flex;align-items:center;justify-content:space-between;gap:14px}
.arrows{display:flex;gap:10px;pointer-events:auto}
.icon-btn{width:44px;height:44px;border-radius:var(--square);border:1px solid var(--stroke);background:rgba(30,30,30,.55);backdrop-filter:blur(8px);display:grid;place-items:center;cursor:pointer;transition:.2s var(--ease)}
.icon-btn:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.22)}
.icon-btn svg{width:18px;height:18px;fill:var(--title);opacity:.9}
.dots{display:flex;gap:10px;pointer-events:auto;align-items:center;justify-content:center;flex:1}
.dot{width:10px;height:10px;border-radius:0;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);cursor:pointer;transition:.2s var(--ease);opacity:.8}
.dot[aria-current="true"]{background:rgba(255,255,255,.60);opacity:1}
.progress{width:min(240px,28vw);height:10px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.04);pointer-events:auto;position:relative;overflow:hidden;border-radius:0}
.progress>span{position:absolute;inset:0;width:0%;background:rgba(255,255,255,.55);transition:width .10s linear}
section{padding:64px 0;border-bottom:1px solid var(--stroke)}
/* Logo in topbar */
.brand-logo{
  display:flex;
  align-items:center;
  text-decoration:none;
}

.site-logo{
  height:42px;          /* adjust if needed */
  width:auto;
  display:block;
  object-fit:contain;
  filter:contrast(1.05);
}

@media (max-width:620px){
  .site-logo{
    height:34px;
  }
}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}
h2{font-family:"Syne",sans-serif;font-weight:800;margin:0;letter-spacing:.02em;text-transform:uppercase;font-size:clamp(22px,3vw,32px)}
.lead{margin:0;color:var(--muted);max-width:70ch;line-height:1.7;font-size:13px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.card{border:1px solid var(--stroke);background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border-radius:var(--square);box-shadow:0 20px 60px rgba(0,0,0,.25);padding:18px;position:relative;overflow:hidden}
.filters{display:none;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.chip{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.03);color:var(--muted);padding:10px 12px;border-radius:0;font-size:12px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:.18s var(--ease)}
.chip:hover{color:var(--title);border-color:rgba(255,255,255,.26);background:rgba(255,255,255,.06)}
.chip[aria-pressed="true"]{color:var(--title);border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.10)}
.gallery{grid-template-columns:repeat(12,1fr);gap:14px}
.tile{grid-column:span 4;border:1px solid var(--stroke);border-radius:0;overflow:hidden;background:rgba(255,255,255,.03);cursor:pointer;position:relative;min-height:240px;transition:transform .25s var(--ease)}
.tile:hover{transform:translateY(-2px)}
.tile .thumb{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.02)}
.tile::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.55));pointer-events:none}
.tile .cap{position:absolute;left:0;right:0;bottom:0;padding:14px;display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.cap strong{font-family:"Syne",sans-serif;font-weight:800;letter-spacing:.02em;text-transform:uppercase;font-size:14px}
.cap span{color:rgba(255,255,255,.80);font-size:12px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.76);display:none;z-index:10000;padding:24px}
.lightbox[aria-hidden="false"]{display:grid}
.lightbox-inner{place-self:center;width:min(900px,100%);border:1px solid rgba(255,255,255,.18);background:rgba(30,30,30,.65);backdrop-filter:blur(12px);border-radius:0;overflow:hidden;box-shadow:var(--shadow)}
.lb-top{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.12)}
.lb-body{display:grid;grid-template-columns:1.25fr .75fr;min-height:520px}
.lb-media{background:#0f0f0f}
.lb-media img{width:100%;height:100%;object-fit:cover}
.lb-side{padding:16px;border-left:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;gap:12px}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.field{width:100%;display:grid;gap:8px}
.label{color:var(--muted);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.input,.textarea{width:100%;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03);color:var(--title);border-radius:0;padding:12px}
.textarea{min-height:120px;resize:vertical}
/* Reviews */
.reviews-grid{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--grid-gap);
}

.review-card{
  grid-column: span 4;
  border: 1px solid var(--stroke);
  background: var(--glass);
  border-radius: var(--square); /* square */
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
  padding: 20px 18px;
  display:flex;
  flex-direction:column;
  min-height: 260px;
}

.review-text{
  margin:0;
  color: rgba(255,255,255,.88);
  line-height:1.75;
  font-size: 14px;
}

.review-bottom{
  margin-top:auto;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.10);
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:center;
  text-align:center;
}

.review-stars{
  letter-spacing: .22em;
  font-size: 16px;
  line-height:1;
  color: rgba(255,255,255,.92); /* neutral “greyish” */
  opacity:.9;
}

.review-name{
  color: var(--muted);
  font-family: "Syne", sans-serif;
  font-weight: 800;
  letter-spacing:.02em;
  text-transform:uppercase;
  font-size: 16px;
}

.reviews-cta{
  margin-top: 18px;
  display:flex;
  justify-content:center;
}

@media (max-width: 980px){
  .review-card{grid-column: span 6;}
}

@media (max-width: 620px){
  .review-card{grid-column: span 12;}
}
/* Contact + Map block */
.contact-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--grid-gap);
  align-items:stretch;
}

.contact-left{
  border: 1px solid var(--stroke);
  background: var(--glass);
  border-radius: var(--square);
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
  padding: 24px 18px;
  display:flex;
  flex-direction:column;
}

.contact-title{
  margin:0 0 10px 0;
  font-family:"Syne", sans-serif;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
  font-size: clamp(26px, 3.6vw, 44px);
}

.contact-lines{
  display:grid;
  gap:8px;
  margin-bottom: 16px;
}

.contact-line{
  color: rgba(255,255,255,.88);
  line-height:1.5;
  font-size: 14px;
}

.contact-line.strong{
  font-weight:700;
  letter-spacing:.02em;
}

.contact-line.link{
  color: var(--muted);
  text-decoration:none;
  width: fit-content;
  padding-bottom:2px;
}
.contact-line.link:hover{
  color: var(--title);
}

/* Hours list */
.hours{
  margin-top: 6px;
  border-top: 1px solid rgba(255,255,255,.10);
  padding-top: 12px;
  display:grid;
  gap:10px;
}

.hours-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-bottom:10px;
  border-bottom: 1px dashed rgba(255,255,255,.08);
}
.hours-row:last-child{ border-bottom: none; padding-bottom:0; }

.hours-row span:first-child{
  color: rgba(255,255,255,.86);
  letter-spacing:.02em;
}

.hours-time{
  color: rgba(255,255,255,.92);
  font-weight:700;
  letter-spacing:.02em;
}
.hours-time.muted{
  color: var(--muted);
  font-weight:700;
}

/* Actions */
.contact-actions{
  margin-top:auto;
  padding-top: 18px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

/* Map container (square + crisp) */
.contact-map.card{
  padding: 0; /* override card padding */
  overflow:hidden;
}

.map-frame{
  position:relative;
  width:100%;
  height:100%;
  min-height: 520px;
  border-radius: var(--square);
  overflow:hidden;
  background: rgba(255,255,255,.03);
}

.map-frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;

  /* “Theme match” (grey/white/black map look) */
  filter: grayscale(1) contrast(1.1) brightness(.85);
}

/* Optional: more “graphic” mono look (toggle by adding class .map-strong on map-frame)
.map-frame.map-strong iframe{
  filter: grayscale(1) contrast(1.35) brightness(.78);
}
*/

@media (max-width: 980px){
  .contact-grid{ grid-template-columns: 1fr; }
  .map-frame{ min-height: 420px; }
}
/* Contact + Map block */
.contact-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--grid-gap);
  align-items:stretch;
}

.contact-left{
  border: 1px solid var(--stroke);
  background: var(--glass);
  border-radius: var(--square);
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
  padding: 24px 18px;
  display:flex;
  flex-direction:column;
}

.contact-title{
  margin:0 0 10px 0;
  font-family:"Syne", sans-serif;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
  font-size: clamp(26px, 3.6vw, 44px);
}

.contact-lines{
  display:grid;
  gap:8px;
  margin-bottom: 16px;
}

.contact-line{
  color: rgba(255,255,255,.88);
  line-height:1.5;
  font-size: 14px;
}

.contact-line.strong{
  font-weight:700;
  letter-spacing:.02em;
}

.contact-line.link{
  color: var(--muted);
  text-decoration:none;
  width: fit-content;
  padding-bottom:2px;
}
.contact-line.link:hover{
  color: var(--title);
}

/* Hours list */
.hours{
  margin-top: 6px;
  border-top: 1px solid rgba(255,255,255,.10);
  padding-top: 12px;
  display:grid;
  gap:10px;
}

.hours-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-bottom:10px;
  border-bottom: 1px dashed rgba(255,255,255,.08);
}
.hours-row:last-child{ border-bottom: none; padding-bottom:0; }

.hours-row span:first-child{
  color: rgba(255,255,255,.86);
  letter-spacing:.02em;
}

.hours-time{
  color: rgba(255,255,255,.92);
  font-weight:700;
  letter-spacing:.02em;
}
.hours-time.muted{
  color: var(--muted);
  font-weight:700;
}

/* Actions */
.contact-actions{
  margin-top:auto;
  padding-top: 18px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

/* Map container (square + crisp) */
.contact-map.card{
  padding: 0; /* override card padding */
  overflow:hidden;
}

.map-frame{
  position:relative;
  width:100%;
  height:100%;
  min-height: 520px;
  border-radius: var(--square);
  overflow:hidden;
  background: rgba(255,255,255,.03);
}

.map-frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;

  /* “Theme match” (grey/white/black map look) */
  filter: grayscale(1) contrast(1.1) brightness(.85);
}

/* Back to top */
#backToTop{
  position: fixed;
  right: 20px;
  bottom: 20px;

  width: 48px;
  height: 48px;

  display: grid;
  place-items: center;

  border: 1px solid var(--stroke);
  background: rgba(255,255,255,.06);

  border-radius: 0; /* square */
  cursor: pointer;

  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);

  transition: .25s ease;
  z-index: 999;
}

#backToTop svg{
  width: 18px;
  height: 18px;
  fill: #ffffff;
}

#backToTop.show{
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

#backToTop:hover{
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.25);
}

#backToTop:active{
  transform: translateY(1px);
}
/* Optional: more “graphic” mono look (toggle by adding class .map-strong on map-frame)
.map-frame.map-strong iframe{
  filter: grayscale(1) contrast(1.35) brightness(.78);
}
*/

@media (max-width: 980px){
  .contact-grid{ grid-template-columns: 1fr; }
  .map-frame{ min-height: 420px; }
}
/* Masonry gallery (square theme) */
.gallery.masonry{
  /* Masonry using CSS columns */
  column-count: 3;
  column-gap: 14px;
}

/* Each tile becomes a column item */
.m-tile{
  break-inside: avoid;
  margin: 0 0 14px 0;
  border: 1px solid rgba(255,255,255,.12); /* tiny greyish border */
  background: rgba(255,255,255,.02);
  border-radius: 0;
  overflow: hidden;
  position: relative;
  cursor: pointer;
  transition: transform .22s var(--ease), border-color .22s var(--ease), background .22s var(--ease);
}

.m-tile:hover{
  transform: translateY(-2px);
  border-color: rgba(255,255,255,.20);
  background: rgba(255,255,255,.04);
}

.m-img{
  width: 100%;
  height: auto;     /* keeps masonry natural */
  display: block;
}

/* Caption overlay (kept subtle + square) */
.m-cap{
  position:absolute;
  left:0; right:0; bottom:0;
  padding: 12px 12px;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:10px;

  background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.55));
}

.m-cap strong{
  font-family:"Syne", sans-serif;
  font-weight: 800;
  letter-spacing:.02em;
  text-transform: uppercase;
  font-size: 13px;
  display: none;
}

.m-cap span{
  font-size: 11px;
  letter-spacing:.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.80);
  white-space: nowrap;
}

strong#lbTitle {
display: none;
}

.strong#lbTitle {
display: none;
}

a#lbCta.btn.secondary {
display: none;
}

.a#lbCta.btn.secondary {
display: none;
}

p#lbDesc {
display: none;
}

.p#lbDesc {
display: none;
}

/* Responsive column counts */
@media (max-width: 980px){
  .gallery.masonry{ column-count: 2; }
}
@media (max-width: 620px){
  .gallery.masonry{ column-count: 1; }
}
/* FAQ */
.faq-grid{
  display:grid;
  grid-template-columns: .9fr 1.1fr;
  gap: var(--grid-gap);
  align-items:start;
}

.faq-media{
  padding:0;
  overflow:hidden;
  max-width: 500px;
  max-height: 576px;
}
.faq-media img{
  display:block;
  filter: contrast(0.90) saturate(0);
}

.faq-list{
  display:grid;
  gap:10px;
}

.faq-item{
  border:1px solid var(--stroke);
  background: var(--glass);
  border-radius: var(--square);
  overflow:hidden;
}

.faq-q{
  width:100%;
  text-align:left;
  padding:14px 14px;
  background:transparent;
  border:0;
  color:var(--title);
  cursor:pointer;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;

  font-family:"Syne", sans-serif;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
  font-size:12px;
}

.faq-q:hover{
  background: rgba(255,255,255,.04);
}

.faq-ico{
  width:34px;
  height:34px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.03);
  display:grid;
  place-items:center;
  border-radius: var(--square);
  font-family:"Space Mono", monospace;
  font-weight:700;
  opacity:.9;
  transition: transform .2s var(--ease);
}

.faq-a{
  padding: 20px 20px 20px 20px;
  color: var(--muted);
  line-height:1.75;
  font-size:13px;
  border-top:1px solid rgba(255,255,255,.08);
}

.faq-item.is-open .faq-ico{
  transform: rotate(45deg);
}

@media (max-width: 980px){
  .faq-grid{ grid-template-columns: 1fr; }
}
footer{padding:44px 0 46px 0;text-align:center;color:var(--muted);font-size:13px}
.footer-inner{display:flex;flex-direction:column;align-items:center;gap:16px}
.social{display:flex;justify-content:center;gap:12px}
.social a{width:42px;height:42px;border-radius:0;background:var(--icon-bg);display:grid;place-items:center;border:1px solid rgba(0,0,0,.15);transition:.2s var(--ease)}
.social a:hover{filter:brightness(1.05)}
.social svg{width:18px;height:18px;fill:var(--icon-fg)}
.footnote{letter-spacing:.04em;text-transform:uppercase;font-size:12px;opacity:.9}
@media (max-width:980px){.hero-grid{grid-template-columns:1fr}.info-box{justify-self:start}.nav{display:none}.lb-body{grid-template-columns:1fr}.lb-side{border-left:none;border-top:1px solid rgba(255,255,255,.12)}.tile{grid-column:span 6}}
@media (max-width:620px){:root{--hero-h:74vh}.tile{grid-column:span 12}.progress{display:none}section{padding:52px 0}}
