/* ─────────────────────────────────────────────────────────────
   Typeface
   The brand's own fonts, taken from the live site's @font-face rules:
   TBC Contractica (text), TBC Contractica CAPS (display + UI) and
   BPG Mrgvlovani (Georgian accent). Paths are relative to this file, which
   sits at assets/css/, so they resolve wherever the theme is installed.
   woff2 first with the original ttf as the fallback.
   ───────────────────────────────────────────────────────────── */
@font-face{
  font-family:'TBC Contractica';
  src:url('../fonts/tbc-contractica-regular.woff2') format('woff2'),
      url('../fonts/tbc-contractica-regular.ttf') format('truetype');
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'TBC Contractica CAPS';
  src:url('../fonts/tbc-contractica-caps-regular.woff2') format('woff2'),
      url('../fonts/tbc-contractica-caps-regular.ttf') format('truetype');
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'TBC Contractica CAPS';
  src:url('../fonts/tbc-contractica-caps-medium.woff2') format('woff2'),
      url('../fonts/tbc-contractica-caps-medium.ttf') format('truetype');
  font-weight:500;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'TBC Contractica CAPS';
  src:url('../fonts/tbc-contractica-caps-bold.woff2') format('woff2'),
      url('../fonts/tbc-contractica-caps-bold.ttf') format('truetype');
  font-weight:700;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'BPG Mrgvlovani';
  src:url('../fonts/bpg-mrgvlovani.woff2') format('woff2'),
      url('../fonts/bpg-mrgvlovani.ttf') format('truetype');
  font-weight:400;font-style:normal;font-display:swap;
}

/* ─────────────────────────────────────────────────────────────
   Tokens
   ───────────────────────────────────────────────────────────── */
:root{
  --ink:#05121C;
  --paper:#F4F1EC;
  --paper-dim:rgba(244,241,236,.66);
  --paper-faint:rgba(244,241,236,.46);
  --leaf:#11AE4B;

  --font-display:'TBC Contractica CAPS','TBC Contractica',system-ui,sans-serif;
  --font-text:'TBC Contractica','TBC Contractica CAPS',system-ui,sans-serif;
  --font-geo:'BPG Mrgvlovani','TBC Contractica',system-ui,sans-serif;

  --gutter:clamp(20px, 4.2vw, 68px);
  --maxw:1620px;

  --header-h:108px;
  --header-h-sm:72px;

  --logo-h:34px;
  --logo-h-sm:28px;

  --e-expo:cubic-bezier(.16,1,.3,1);
  --e-smooth:cubic-bezier(.22,1,.36,1);
  --e-quint:cubic-bezier(.83,0,.17,1);
  --e-soft:cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after{box-sizing:border-box}

/* ─────────────────────────────────────────────────────────────
   Reset
   The static build leaned on Tailwind's CDN preflight for this. The CDN has
   no place in production, and measuring showed it was providing exactly one
   rule this design actually needed — figure margins — plus a few defaults
   already set further down. Those are restated here.
   ───────────────────────────────────────────────────────────── */
figure,
blockquote,
dl, dd,
h1, h2, h3, h4, h5, h6,
p, pre{margin:0}
ol[class], ul[class]{list-style:none;margin:0;padding:0}
hr{border:0;height:1px;background:currentColor;opacity:.12}
table{border-collapse:collapse}
input, select, textarea{font:inherit;color:inherit}


html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--ink);
  color:var(--paper);
  font-family:var(--font-text);
  font-weight:300;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
body.is-locked{overflow:hidden}

/* ── Lenis smooth scroll (only when site.js activates it) ──────── */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
.lenis.lenis-smooth iframe{pointer-events:none}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
img{display:block;max-width:100%}
::selection{background:var(--leaf);color:var(--ink)}
:focus-visible{outline:1px solid var(--leaf);outline-offset:5px;border-radius:1px}

.container{
  width:100%;max-width:var(--maxw);margin-inline:auto;
  padding-inline:var(--gutter);
}

/* ─────────────────────────────────────────────────────────────
   Type primitives
   ───────────────────────────────────────────────────────────── */
.display{
  font-family:var(--font-display);
  font-weight:500;letter-spacing:-.026em;line-height:1.02;
}
html[data-lang="ka"] .display{
  font-family:var(--font-display);letter-spacing:-.012em;line-height:1.08;
}

/* line mask + per-word lift */
.mask{display:block;overflow:hidden;padding-bottom:.16em;margin-bottom:-.16em}
.mask > span{display:block}
.mask .w{display:inline-block;will-change:transform}
.js .mask .w{transform:translate3d(0,115%,0)}
.js .fade-up{opacity:0;transform:translate3d(0,18px,0);will-change:transform,opacity}

/* ─────────────────────────────────────────────────────────────
   Veil
   ───────────────────────────────────────────────────────────── */
#veil{
  position:fixed;inset:0;z-index:200;background:var(--ink);
  display:grid;place-items:center;
  transition:opacity .75s var(--e-smooth), visibility .75s;
}
#veil.gone{opacity:0;visibility:hidden;pointer-events:none}
#veil img{height:44px;width:auto;opacity:.92;transition:transform .75s var(--e-smooth),opacity .5s var(--e-smooth)}
#veil.gone img{transform:translateY(-12px) scale(.94);opacity:0}

/* ─────────────────────────────────────────────────────────────
   Header
   ───────────────────────────────────────────────────────────── */
.hdr{
  position:fixed;top:0;left:0;right:0;z-index:100;
  transition:transform .5s var(--e-expo), background-color .5s var(--e-soft), backdrop-filter .5s var(--e-soft);
  will-change:transform;
}
.hdr::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to bottom, rgba(5,18,28,.58), rgba(5,18,28,0));
  transition:opacity .6s var(--e-soft);
}
.hdr.scrolled{
  background:rgba(5,18,28,.62);
  backdrop-filter:blur(16px) saturate(140%);
  -webkit-backdrop-filter:blur(16px) saturate(140%);
}
.hdr.scrolled::before{opacity:0}
.hdr.hidden{transform:translate3d(0,-102%,0)}

.hdr__row{
  height:var(--header-h);
  display:flex;align-items:center;justify-content:space-between;gap:28px;
  transition:height .45s var(--e-expo);
}
.hdr.scrolled .hdr__row{height:var(--header-h-sm)}

/* real brand logo */
.logo{display:block;flex:0 0 auto}
.logo img{
  height:var(--logo-h);width:auto;
  transition:height .45s var(--e-expo), opacity .5s var(--e-soft), transform .5s var(--e-expo);
  transform-origin:left center;
}
.hdr.scrolled .logo img{height:var(--logo-h-sm)}
.logo:hover img{opacity:.78;transform:scale(1.02)}

/* nav */
.nav{display:flex;align-items:center;gap:clamp(20px,2.4vw,44px)}
.navlink{
  position:relative;display:inline-block;overflow:hidden;line-height:1.35;
  font-size:11px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;
  color:var(--paper);
}
html[data-lang="ka"] .navlink{font-size:13px;letter-spacing:.04em;text-transform:none}
.navlink b{display:block;font-weight:inherit;transition:transform .62s var(--e-expo),opacity .62s var(--e-expo)}
.navlink b:last-child{position:absolute;inset:0;transform:translate3d(0,105%,0);opacity:0}
.navlink:hover b:first-child{transform:translate3d(0,-105%,0);opacity:0}
.navlink:hover b:last-child{transform:translate3d(0,0,0);opacity:1}

.hdr__right{display:flex;align-items:center;gap:clamp(14px,1.6vw,26px)}

.tel{
  font-size:11px;letter-spacing:.14em;color:var(--paper-dim);
  font-variant-numeric:tabular-nums;transition:color .5s var(--e-soft);
}
.tel:hover{color:var(--paper)}

/* language */
.lang{position:relative;display:flex;align-items:center;padding:3px;border-radius:999px;background:rgba(244,241,236,.07)}
.lang__pill{
  position:absolute;top:3px;left:3px;height:calc(100% - 6px);border-radius:999px;
  background:rgba(244,241,236,.14);pointer-events:none;
  transition:transform .68s var(--e-expo), width .68s var(--e-expo);
}
.lang button,
.lang a{
  position:relative;z-index:1;padding:6px 11px;border-radius:999px;
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--paper-faint);transition:color .5s var(--e-soft);
}
.lang button[data-set="ka"],
.lang a[data-set="ka"]{font-family:var(--font-geo);font-size:12px;letter-spacing:.02em;padding-block:4px}
.lang button[aria-pressed="true"],
.lang a[aria-pressed="true"]{color:var(--paper)}

/* primary action */
.cta{
  position:relative;display:inline-flex;align-items:center;gap:.7em;
  padding:13px 22px;border-radius:999px;
  background:var(--paper);color:var(--ink);
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;
  overflow:hidden;will-change:transform;
}
html[data-lang="ka"] .cta{font-size:13px;letter-spacing:.02em;text-transform:none}
.cta::before{
  content:"";position:absolute;inset:0;background:var(--leaf);
  transform:scale(1.04) translate3d(0,101%,0);
  transition:transform .72s var(--e-expo);
}
.cta:hover::before{transform:scale(1.04) translate3d(0,0,0)}
.cta > *{position:relative;z-index:1}
.cta__arrow{transition:transform .62s var(--e-expo)}
.cta:hover .cta__arrow{transform:translateX(5px)}

/* burger */
.burger{display:none;width:40px;height:40px;margin-right:-8px;position:relative}
.burger i{
  position:absolute;left:9px;width:22px;height:1px;background:var(--paper);
  transition:transform .62s var(--e-expo),opacity .3s var(--e-soft);
}
.burger i:nth-child(1){top:17px}
.burger i:nth-child(2){top:23px}
body.menu-open .burger i:nth-child(1){transform:translateY(3px) rotate(45deg)}
body.menu-open .burger i:nth-child(2){transform:translateY(-3px) rotate(-45deg)}

/* ─────────────────────────────────────────────────────────────
   Mobile sheet
   ───────────────────────────────────────────────────────────── */
.sheet{
  position:fixed;inset:0;z-index:90;background:var(--ink);
  clip-path:inset(0 0 100% 0);visibility:hidden;
  transition:clip-path .92s var(--e-quint);
  display:flex;flex-direction:column;justify-content:center;
}
body.menu-open .sheet{clip-path:inset(0 0 0 0);visibility:visible}
.sheet__list{display:flex;flex-direction:column;gap:clamp(8px,2.2vh,20px)}
.sheet__list a{
  font-family:var(--font-display);
  font-size:clamp(34px,10vw,58px);line-height:1.16;letter-spacing:-.02em;
  display:block;overflow:hidden;
}
.sheet__list a span{display:block;transform:translate3d(0,110%,0);transition:transform .92s var(--e-expo)}
body.menu-open .sheet__list a span{transform:translate3d(0,0,0)}
.sheet__foot{
  margin-top:clamp(36px,7vh,72px);display:flex;flex-direction:column;gap:10px;
  font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--paper-dim);
}

/* ─────────────────────────────────────────────────────────────
   Hero
   ───────────────────────────────────────────────────────────── */
.hero{position:relative;min-height:100svh;display:flex;isolation:isolate;overflow:clip}

.hero__media{
  position:absolute;inset:0;z-index:-2;will-change:transform;
  background:radial-gradient(120% 90% at 70% 15%, #0d2f45 0%, #071825 46%, #04101a 100%);
}
.hero__zoom{position:absolute;inset:0;will-change:transform}
.js .hero__zoom{transform:scale(1.13)}
.hero__media video{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:50% 45%;opacity:0;
}
.hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 42%}
.hero__grade{
  position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    linear-gradient(to top, rgba(4,16,25,.97) 0%, rgba(4,16,25,.84) 16%, rgba(4,16,25,.48) 38%, rgba(4,16,25,.07) 68%, rgba(4,16,25,.32) 100%),
    linear-gradient(to right, rgba(4,16,25,.88) 0%, rgba(4,16,25,.42) 46%, rgba(4,16,25,0) 82%);
}
.hero__grain{
  position:absolute;inset:-24%;z-index:-1;pointer-events:none;
  opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/></filter><rect width='220' height='220' filter='url(%23n)' opacity='.85'/></svg>");
  animation:grain 8s steps(6) infinite;
}
@keyframes grain{
  0%,100%{transform:translate3d(0,0,0)}
  17%{transform:translate3d(-1.4%,.8%,0)}
  33%{transform:translate3d(.8%,-1.4%,0)}
  50%{transform:translate3d(-.8%,1.4%,0)}
  67%{transform:translate3d(1.4%,.8%,0)}
  83%{transform:translate3d(.8%,-.8%,0)}
}

.hero__content{
  position:relative;display:flex;flex-direction:column;
  min-height:100svh;
  padding-top:calc(var(--header-h) + 24px);
  padding-bottom:clamp(44px,8.5vh,112px);
  will-change:transform;
}
.hero__lede{margin-top:auto;max-width:min(1240px,100%)}

h1.hero__title{
  margin:0;
  font-size:clamp(52px, min(10.4vw, 17vh), 168px);
}
h1.hero__title .ln2{padding-left:clamp(0px,8vw,182px)}

.hero__sub{
  margin:clamp(26px,3.8vh,46px) 0 0;
  max-width:46ch;
  font-size:clamp(14.5px,1.12vw,17px);line-height:1.62;
  color:var(--paper-dim);
}

.hero__acts{
  display:flex;align-items:center;gap:clamp(18px,2.2vw,34px);flex-wrap:wrap;
  margin-top:clamp(30px,4.4vh,52px);
}

.ghost{
  position:relative;display:inline-flex;align-items:baseline;gap:.6em;
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--paper-dim);padding-bottom:7px;
  transition:color .5s var(--e-soft);
}
html[data-lang="ka"] .ghost{font-size:13px;letter-spacing:.02em;text-transform:none}
.ghost::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;
  background:currentColor;transform:scaleX(0);transform-origin:left;
  transition:transform .72s var(--e-expo);
}
.ghost:hover{color:var(--paper)}
.ghost:hover::after{transform:scaleX(1)}
.ghost .n{font-variant-numeric:tabular-nums;color:var(--leaf)}
.sec--paper .ghost{color:rgba(5,18,28,.58)}
.sec--paper .ghost:hover{color:var(--ink)}

/* ─────────────────────────────────────────────────────────────
   Sections — shared
   ───────────────────────────────────────────────────────────── */
.sec{position:relative;padding:clamp(88px,15vh,190px) 0}
.sec--paper{background:var(--paper);color:var(--ink)}
.sec--ink{background:var(--ink);color:var(--paper)}

.sec__label{
  margin:0;font-size:10.5px;font-weight:400;
  letter-spacing:.22em;text-transform:uppercase;opacity:.44;
}
html[data-lang="ka"] .sec__label{font-size:12px;letter-spacing:.07em;text-transform:none}

/* scroll reveals */
.rv-mask{display:block;overflow:hidden;padding-bottom:.14em;margin-bottom:-.14em}
.js .rv{opacity:0;transform:translate3d(0,22px,0);will-change:transform,opacity}
.js .rv-mask > span{display:block;transform:translate3d(0,112%,0);will-change:transform}

/* ── 02 · statement ─────────────────────────────────────────── */
.stmt__h{
  margin:clamp(38px,6vh,74px) 0 0;
  max-width:19ch;
  font-size:clamp(30px, 4.6vw, 74px);
  line-height:1.16;letter-spacing:-.02em;
}
html[data-lang="ka"] .stmt__h{max-width:22ch;line-height:1.3}
.stmt__h .w{opacity:.17}   /* driven per-frame from scroll — no transition to fight it */
.stmt__foot{
  margin-top:clamp(46px,7vh,92px);
  display:flex;flex-wrap:wrap;gap:clamp(26px,5vw,90px);
  max-width:860px;
}
.stmt__foot p{
  margin:0;flex:1 1 260px;max-width:40ch;
  font-size:15px;line-height:1.66;opacity:.62;
}

/* ── 03 · venues ────────────────────────────────────────────── */
.vgrid{
  margin-top:clamp(36px,6vh,72px);
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  column-gap:clamp(16px,2.2vw,38px);row-gap:clamp(30px,4.4vw,72px);
  align-items:start;
}
/* middle column rides lower — the grid reads composed, not tabulated */
.vgrid > :nth-child(3n+2){padding-top:clamp(18px,3vw,58px)}

.vg{display:block}
.vg__f{position:relative;overflow:hidden;aspect-ratio:3/2;background:#0A1E2B}
.vg__f img{
  width:100%;height:100%;object-fit:cover;display:block;
  filter:saturate(.9) brightness(.9);
  transition:transform 1.3s var(--e-expo), filter 1.1s var(--e-soft);
}
.vg:hover .vg__f img{transform:scale(1.045);filter:saturate(1) brightness(1)}

.vg__n{
  display:block;margin-top:clamp(13px,1.2vw,19px);
  font-size:clamp(19px,1.72vw,28px);line-height:1.18;
  color:var(--paper);
  transition:transform .85s var(--e-expo);
  transform-origin:left center;
}
.vg:hover .vg__n{transform:translateX(6px)}

.vg__ka{
  display:block;margin-top:7px;
  font-family:var(--font-geo);
  font-size:12.5px;line-height:1.3;letter-spacing:.015em;
  color:var(--paper-faint);
  transition:color .55s var(--e-soft), transform .85s var(--e-expo);
  transform-origin:left center;
}
.vg:hover .vg__ka{color:var(--paper-dim);transform:translateX(6px)}
html[data-lang="ka"] .vg__ka{
  font-family:var(--font-text);font-size:10.5px;
  letter-spacing:.18em;text-transform:uppercase;
}

/* ── 04 · catering ──────────────────────────────────────────── */
.cat__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.86fr);gap:clamp(28px,5vw,80px);align-items:end}
.cat__h{
  margin:clamp(30px,4.6vh,54px) 0 0;
  font-size:clamp(42px,7.6vw,128px);line-height:.96;letter-spacing:-.03em;
}
.cat__aside{display:flex;flex-direction:column;gap:22px;padding-bottom:clamp(4px,1vh,14px)}
.cat__aside p{margin:0;max-width:38ch;font-size:15px;line-height:1.66;opacity:.62}
.cat__logo{height:34px;width:auto;align-self:flex-start;opacity:.9;filter:invert(1)}

.cat__grid{
  margin-top:clamp(48px,8vh,110px);
  display:grid;grid-template-columns:repeat(12,1fr);
  gap:clamp(14px,1.8vw,30px);
}
.shot{position:relative;display:block;overflow:hidden;background:#E6E1DA;will-change:transform}
.shot img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform 1.25s var(--e-expo), filter 1.25s var(--e-expo);
}
.shot:hover img{transform:scale(1.045)}
.shot figcaption{
  position:absolute;left:0;right:0;bottom:0;
  padding:16px clamp(14px,1.4vw,20px) 14px;
  background:linear-gradient(to top, rgba(4,16,25,.82), rgba(4,16,25,0));
  color:var(--paper);
  opacity:0;transform:translate3d(0,10px,0);
  transition:opacity .6s var(--e-soft), transform .7s var(--e-expo);
}
.shot:hover figcaption{opacity:1;transform:none}
.shot figcaption b{display:block;font-family:var(--font-geo);font-weight:400;font-size:14px;line-height:1.35}
.shot figcaption i{display:block;margin-top:3px;font-style:normal;font-size:10px;letter-spacing:.16em;text-transform:uppercase;opacity:.66}

.shot--a{grid-column:1 / span 5;aspect-ratio:4/5}
.shot--b{grid-column:6 / span 4;aspect-ratio:1/1;align-self:end}
.shot--c{grid-column:10 / span 3;aspect-ratio:3/4}
.shot--d{grid-column:1 / span 3;aspect-ratio:1/1;margin-top:clamp(14px,1.8vw,30px)}
.shot--e{grid-column:4 / span 5;aspect-ratio:5/4;margin-top:clamp(14px,1.8vw,30px)}
.shot--f{grid-column:9 / span 4;aspect-ratio:4/5;margin-top:clamp(14px,1.8vw,30px)}

/* ── catering catalogue (the full printed book) ─────────────── */
.cxwrap{
  margin-top:clamp(40px,7vh,88px);
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:clamp(34px,5vw,90px);row-gap:clamp(38px,6vh,72px);
  align-items:start;
}
.cxcat{break-inside:avoid}
.cxcat__h{
  display:flex;align-items:baseline;gap:12px;
  margin:0 0 14px;padding-bottom:13px;border-bottom:1px solid currentColor;
}
.sec--paper .cxcat__h{border-color:rgba(5,18,28,.18)}
.sec--ink .cxcat__h{border-color:rgba(244,241,236,.16)}
.cxcat__h b{font-family:var(--font-geo);font-weight:400;font-size:clamp(16px,1.5vw,21px);line-height:1.1;letter-spacing:.01em}
.cxcat__h i{font-style:normal;font-size:10px;letter-spacing:.18em;text-transform:uppercase;opacity:.46}
.cxcat__c{margin-left:auto;font-size:11px;letter-spacing:.08em;color:var(--leaf);font-variant-numeric:tabular-nums}
.cxlist{list-style:none;margin:0;padding:0}
.cx{
  display:grid;grid-template-columns:32px minmax(0,1fr);
  column-gap:14px;align-items:baseline;padding:10px 0;
}
.cx + .cx{border-top:1px solid rgba(5,18,28,.07)}
.sec--ink .cx + .cx{border-top-color:rgba(244,241,236,.07)}
.cx__n{font-size:11px;letter-spacing:.06em;color:var(--leaf);font-variant-numeric:tabular-nums;padding-top:1px}
.cx__ka{font-family:var(--font-geo);font-size:14px;line-height:1.32}
.cx__en{grid-column:2;display:block;margin-top:2px;font-size:9.5px;letter-spacing:.15em;text-transform:uppercase;opacity:.44;line-height:1.4}
html[data-lang="ka"] .cx__en{letter-spacing:.06em}
@media (max-width:760px){ .cxwrap{grid-template-columns:1fr;row-gap:clamp(32px,5vh,52px)} }

/* ── 05 · news ──────────────────────────────────────────────── */
.news__list{margin-top:clamp(34px,5.5vh,64px)}
.nw{
  position:relative;display:grid;
  grid-template-columns:132px minmax(0,1fr) 40px;
  gap:clamp(16px,3vw,48px);align-items:baseline;
  padding:clamp(20px,3vh,34px) 0;
}
.nw__d{font-size:11px;letter-spacing:.14em;color:var(--paper-faint);font-variant-numeric:tabular-nums}
.nw__t{
  font-family:var(--font-display);
  font-size:clamp(21px,2.5vw,40px);line-height:1.18;letter-spacing:-.018em;
  color:rgba(244,241,236,.82);
  transition:color .5s var(--e-soft), transform .8s var(--e-expo);
  transform-origin:left center;
}
.nw__a{justify-self:end;opacity:0;transform:translate3d(-8px,0,0);transition:opacity .5s var(--e-soft),transform .7s var(--e-expo)}
.nw::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:currentColor;opacity:.13;
}
.nw:first-child::before{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;
  background:currentColor;opacity:.13;
}
.nw:hover .nw__t{color:var(--paper);transform:translateX(clamp(3px,.6vw,12px))}
.nw:hover .nw__a{opacity:1;transform:none}

/* ── 06 · footer ────────────────────────────────────────────── */
.ft{background:var(--ink);color:var(--paper);padding:clamp(60px,9vh,110px) 0 clamp(32px,4vh,48px)}
.ft__top{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,1fr));gap:clamp(30px,5vw,70px)}
.ft__brand img{height:36px;width:auto}
.ft__brand p{margin:24px 0 0;max-width:30ch;font-size:14px;line-height:1.66;opacity:.52}
.ft__col h4{margin:0 0 18px;font-size:10.5px;font-weight:400;letter-spacing:.22em;text-transform:uppercase;opacity:.4}
html[data-lang="ka"] .ft__col h4{font-size:12px;letter-spacing:.06em;text-transform:none}
.ft__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.ft__col a,.ft__col span{font-size:13.5px;line-height:1.4;color:var(--paper-dim);transition:color .45s var(--e-soft)}
.ft__col a:hover{color:var(--paper)}
.ft__bot{
  margin-top:clamp(46px,7vh,86px);padding-top:22px;
  display:flex;flex-wrap:wrap;gap:16px 28px;justify-content:space-between;align-items:center;
  font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--paper-faint);
  border-top:1px solid rgba(244,241,236,.12);
}
html[data-lang="ka"] .ft__bot{font-size:12px;letter-spacing:.05em;text-transform:none}

/* ─────────────────────────────────────────────────────────────
   Responsive
   ───────────────────────────────────────────────────────────── */
@media (max-width:1180px){
  .nav,.tel{display:none}
  .burger{display:block}
  .cat__head{grid-template-columns:1fr;gap:clamp(30px,5vh,52px)}
  .cat__aside{padding-bottom:0}
  .ft__top{grid-template-columns:1fr 1fr;gap:clamp(34px,6vh,56px)}
  .ft__brand{grid-column:1 / -1}
}
@media (max-width:900px){
  .vgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vgrid > :nth-child(3n+2){padding-top:0}
  .vgrid > :nth-child(2n){padding-top:clamp(16px,4vw,42px)}
}
@media (max-width:760px){
  :root{--header-h:80px;--header-h-sm:64px;--logo-h:30px;--logo-h-sm:26px}
  .hdr .cta{display:none}
  h1.hero__title .ln2{padding-left:0}

  /* the source clip is 9:16 with burned-in captions low in frame —
     crop to the clean upper third rather than letting them through */
  .hero__media video{object-position:50% 15%;transform:scale(1.58);transform-origin:50% 15%}
  .hero__grade{background:
    linear-gradient(to top,
      rgba(4,16,25,1) 0%, rgba(4,16,25,1) 9%,
      rgba(4,16,25,.93) 24%, rgba(4,16,25,.64) 44%,
      rgba(4,16,25,.12) 76%, rgba(4,16,25,.38) 100%);}

  /* catering grid folds to two columns, keeping the offsets */
  .shot--a{grid-column:1 / span 7;aspect-ratio:4/5}
  .shot--b{grid-column:8 / span 5;aspect-ratio:1/1}
  .shot--c{grid-column:1 / span 5;aspect-ratio:3/4;margin-top:clamp(12px,3vw,24px)}
  .shot--d{grid-column:6 / span 7;aspect-ratio:5/4;margin-top:clamp(12px,3vw,24px)}
  .shot--e{grid-column:1 / span 7;aspect-ratio:5/4;margin-top:clamp(12px,3vw,24px)}
  .shot--f{grid-column:8 / span 5;aspect-ratio:4/5;margin-top:clamp(12px,3vw,24px)}

  .nw{grid-template-columns:86px minmax(0,1fr);gap:14px}
  .nw__a{display:none}
  .ft__top{grid-template-columns:1fr}
  .ft__bot{flex-direction:column;align-items:flex-start;gap:8px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .js .mask .w{transform:none}
  .js .fade-up{opacity:1;transform:none}
  .js .hero__zoom{transform:none}
  .hero__media video{opacity:1}
  .js .rv{opacity:1;transform:none}
  .js .rv-mask > span{transform:none}
  .stmt__h .w{opacity:1}
  .shot{transform:none!important}
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   Inner pages
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* â”€â”€ page banner â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.banner{
  position:relative;background:var(--ink);color:var(--paper);
  padding:calc(var(--header-h) + clamp(64px,12vh,148px)) 0 clamp(52px,9vh,118px);
  overflow:clip;isolation:isolate;
}
.banner__bg{position:absolute;inset:0;z-index:-2}
.banner__bg img{width:100%;height:100%;object-fit:cover;opacity:.5}
.banner__bg::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(to top, rgba(4,16,25,.97) 0%, rgba(4,16,25,.72) 34%, rgba(4,16,25,.34) 74%, rgba(4,16,25,.62) 100%),
    linear-gradient(to right, rgba(4,16,25,.86) 0%, rgba(4,16,25,.38) 52%, rgba(4,16,25,.12) 100%);
}
.banner__k{
  margin:0 0 clamp(20px,3vh,30px);
  font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--paper-faint);
}
html[data-lang="ka"] .banner__k{font-size:12px;letter-spacing:.07em;text-transform:none}
.banner__t{margin:0;font-size:clamp(42px, min(8.4vw, 15vh), 132px)}
.banner__sub{
  margin:clamp(22px,3.2vh,38px) 0 0;max-width:50ch;
  font-size:clamp(14.5px,1.1vw,17px);line-height:1.62;color:var(--paper-dim);
}
.js .banner__sub{opacity:0;transform:translate3d(0,18px,0);will-change:transform,opacity}

/* â”€â”€ shared: measured prose â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.prose{margin:0;max-width:62ch;font-size:clamp(14.5px,1.06vw,16.5px);line-height:1.74;opacity:.72}
.prose + .prose{margin-top:1.15em}

/* â”€â”€ about â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.facts{
  margin-top:clamp(42px,7vh,86px);
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  column-gap:clamp(16px,2.4vw,44px);row-gap:clamp(32px,5vh,56px);
}
.fact__n{
  display:block;
  font-family:var(--font-display);
  font-size:clamp(34px,4.2vw,66px);line-height:1;letter-spacing:-.03em;
  font-variant-numeric:tabular-nums;
}
.fact__l{
  display:block;margin-top:12px;max-width:22ch;
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;opacity:.5;line-height:1.55;
}
html[data-lang="ka"] .fact__l{font-size:12.5px;letter-spacing:.03em;text-transform:none}

.pillars{
  margin-top:clamp(52px,9vh,120px);
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(26px,4vw,72px);
  align-items:start;
}
.pillar h3{
  margin:0 0 18px;
  font-family:var(--font-display);font-weight:400;
  font-size:clamp(24px,2.5vw,38px);line-height:1.1;letter-spacing:-.022em;
}
.pillar p{margin:0;font-size:14.5px;line-height:1.72;opacity:.66}

.certs{margin-top:clamp(44px,7vh,92px);display:flex;flex-wrap:wrap;gap:12px}
.cert{
  padding:10px 16px;border-radius:999px;
  background:rgba(244,241,236,.07);
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-dim);
}
.sec--paper .cert{background:rgba(5,18,28,.06);color:rgba(5,18,28,.62)}
html[data-lang="ka"] .cert{font-size:12.5px;letter-spacing:.03em;text-transform:none}

/* â”€â”€ places: venue card meta â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.vg__meta{
  display:block;margin-top:11px;
  font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;
  color:rgba(244,241,236,.4);line-height:1.75;
}
html[data-lang="ka"] .vg__meta{font-size:12px;letter-spacing:.03em;text-transform:none}
.sec--paper .vg__n{color:var(--ink)}
.sec--paper .vg__ka{color:rgba(5,18,28,.42)}
.sec--paper .vg:hover .vg__ka{color:rgba(5,18,28,.68)}
.sec--paper .vg__meta{color:rgba(5,18,28,.44)}

/* â”€â”€ journal â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.posts{display:flex;flex-direction:column;gap:clamp(44px,7vh,96px);margin-top:clamp(36px,6vh,72px)}
.post{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  gap:clamp(22px,4vw,72px);align-items:center;
}
.post:nth-child(even) .post__f{order:2}
.post__f{position:relative;overflow:hidden;aspect-ratio:3/2;background:#0A1E2B}
.post__f img{
  width:100%;height:100%;object-fit:cover;display:block;
  filter:saturate(.92) brightness(.94);
  transition:transform 1.3s var(--e-expo), filter 1.1s var(--e-soft);
}
.post:hover .post__f img{transform:scale(1.04);filter:none}
.post__d{font-size:11px;letter-spacing:.16em;color:var(--paper-faint);font-variant-numeric:tabular-nums}
.sec--paper .post__d{color:rgba(5,18,28,.44)}
.post__t{
  display:block;margin:16px 0 0;
  font-family:var(--font-display);
  font-size:clamp(25px,3vw,48px);line-height:1.1;letter-spacing:-.024em;
  transition:transform .85s var(--e-expo);transform-origin:left center;
}
.post:hover .post__t{transform:translateX(6px)}
.post__x{margin:18px 0 0;max-width:46ch;font-size:14.5px;line-height:1.7;opacity:.62}

/* â”€â”€ contact â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.ct{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(34px,6vw,100px);align-items:start}
.ct__block + .ct__block{margin-top:clamp(30px,4.6vh,52px)}
.ct__k{margin:0 0 12px;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;opacity:.44}
html[data-lang="ka"] .ct__k{font-size:12px;letter-spacing:.06em;text-transform:none}
.ct__v{
  margin:0;font-family:var(--font-display);
  font-size:clamp(19px,1.9vw,28px);line-height:1.34;letter-spacing:-.018em;
}
.ct__v a{transition:opacity .45s var(--e-soft)}
.ct__v a:hover{opacity:.62}

.dir{display:flex;flex-direction:column}
.dir__r{
  display:grid;grid-template-columns:minmax(0,1fr) auto;
  gap:10px clamp(14px,2.4vw,40px);align-items:baseline;
  padding:clamp(15px,2.2vh,22px) 0;position:relative;
}
.dir__r::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;opacity:.12}
.dir__r:first-child::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:currentColor;opacity:.12}
.dir__n{
  font-family:var(--font-display);
  font-size:clamp(17px,1.55vw,24px);line-height:1.2;letter-spacing:-.018em;
}
.dir__c{display:flex;flex-direction:column;gap:5px;text-align:right;font-size:12.5px;line-height:1.4;opacity:.6}
.dir__c a{transition:opacity .45s var(--e-soft)}
.dir__c a:hover{opacity:1}

/* â”€â”€ inner-page responsive â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@media (max-width:1180px){
  .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pillars{grid-template-columns:1fr;gap:clamp(28px,5vh,48px)}
  .ct{grid-template-columns:1fr}
}
@media (max-width:760px){
  .post{grid-template-columns:1fr;gap:18px}
  .post:nth-child(even) .post__f{order:0}
  .facts{gap:26px 18px}
  .dir__r{grid-template-columns:1fr;gap:6px}
  .dir__c{text-align:left}
  .banner__bg img{opacity:.42}
}

@media (prefers-reduced-motion:reduce){
  .js .banner__sub{opacity:1;transform:none}
}


.vg__meta > span{display:block}

/* ── comments ────────────────────────────────────────────────── */
.cmts{list-style:none;margin:clamp(30px,5vh,56px) 0 0;padding:0}
.cmts ol{list-style:none;margin:0;padding:0 0 0 clamp(18px,3vw,46px)}
.cmt{position:relative;padding:clamp(20px,3vh,30px) 0}
.cmt::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;opacity:.12}
.cmt__meta{
  margin:0 0 10px;display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline;
  font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--paper-faint);
}
html[data-lang="ka"] .cmt__meta{font-size:12px;letter-spacing:.04em;text-transform:none}
.cmt__who{color:var(--paper)}
.cmt__body{max-width:62ch;font-size:14.5px;line-height:1.72;color:var(--paper-dim)}
.cmt__body p{margin:0}
.cmt__body p + p{margin-top:.9em}
.cmt__reply{
  display:inline-block;margin-top:12px;
  font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--paper-faint);
}
.cmt__reply a{transition:color .45s var(--e-soft)}
.cmt__reply a:hover{color:var(--paper)}

.cform{margin-top:clamp(34px,5vh,64px);max-width:640px}
.cform__row,.comment-form-author,.comment-form-email,.comment-form-url{margin:0 0 20px}
.cform label,.comment-form-author label,.comment-form-email label,.comment-form-url label{
  display:block;margin-bottom:8px;
  font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--paper-faint);
}
html[data-lang="ka"] .cform label{font-size:12px;letter-spacing:.04em;text-transform:none}
.cform input[type=text],.cform input[type=email],.cform input[type=url],.cform textarea{
  width:100%;padding:14px 16px;
  background:rgba(244,241,236,.06);border:0;border-radius:2px;
  color:var(--paper);font-family:var(--font-text);font-size:14.5px;line-height:1.6;
  transition:background-color .45s var(--e-soft);
}
.cform input:focus,.cform textarea:focus{background:rgba(244,241,236,.1);outline:none}
.cform textarea{resize:vertical;min-height:130px}
.cform .form-submit{margin:0}
.comment-form-cookies-consent{display:flex;gap:10px;align-items:flex-start;margin-bottom:20px}
.comment-form-cookies-consent input{width:auto;margin-top:3px}
.comment-form-cookies-consent label{letter-spacing:.02em;text-transform:none;font-size:12.5px}
.comment-reply-title{margin:0}
.comment-respond .cta{border:0;cursor:pointer}
