/* RESET */
*{ box-sizing:border-box; }
body{
  margin:0;
  font-family: 'Montserrat','Noto Sans Georgian', sans-serif;
  color:#111;
  background:#fff;
}

/* TOP STRIP */
.top-strip{
  width:100%;
  height:12px;
  overflow:hidden;
}

.top-strip img{
  width:100%;
  height:100%;
  display:block;
}

/* TOPBAR */
.topbar{
  position:relative;
  height:70px;
  background:#f5f5f5;
}

.topbar__right{
  position:absolute;
  top:23px;
  right:39px;
  display:flex;
  align-items:center;
  gap:20px;
}

.topbar__link{
  text-decoration:none;
  color:#111;
  font-size:16px;
  font-weight:500;
  display:flex;
  align-items:center;
  gap:8px;
  transition: text-decoration .2s ease;
}

.topbar__link:hover{
  text-decoration: underline;
}

/* ===== TOP STRIP + TOPBAR heights ===== */
:root{
  --topStripH: 19px;
  --topbarH: 70px;
}

/* TOP STRIP */
.top-strip{
  width:100%;
  height: var(--topStripH);
  overflow:hidden;
}
.top-strip img{
  width:100%;
  height:100%;
  display:block;
}

/* TOPBAR */
.topbar{
  position:relative;
  height: var(--topbarH);
  background:#fff;
}

/* ===== HERO ===== */
.hero{
  position: relative;
  width: 100%;
  height: calc(100dvh - (var(--topStripH) + var(--topbarH)));
  min-height: calc(100vh  - (var(--topStripH) + var(--topbarH)));
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f5f5f5;
  margin:0;
  overflow:hidden;
}

.hero__center{ text-align:center; }

.hero__logo{
  width: clamp(240px, 40vw, 492px);
  height: auto;
}

.hero__rightlabel{
  position:absolute;
  right: 32px;
  bottom: 18px;
  font-size: 16px;
  font-weight: 400;
  color:#333;
}

/* VISUAL */
/* ============================= */

.visual--pinned{
  position: relative;
  height: 120vh;
}

.visual__sticky{
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: hidden;
}

.visual__video{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  pointer-events: none;
}

/* WHITE FRAME that drops onto video */
/* ============================= */
.pageFrame{
  position: relative;
  z-index: 5;
  background: #fff;
  border-radius: 32px 32px 0 0;
  box-shadow: 0 -18px 80px rgba(0,0,0,.18);
  margin-top: -140px;
  padding-top: 60px;
}

/* Mobile overlap */
@media (max-width: 700px){
  .pageFrame{
    margin-top: -90px;
    border-radius: 24px 24px 0 0;
    padding-top: 40px;
  }
}

/* ABOUT */
.about{
  padding:61px 0 1px;
}

.about__inner{
  padding-left:32px;
  padding-right:32px;
}

.about__title{
  font-size:30px;
  font-weight:600;
  margin:0 0 31px;
}

.about__text{
  font-size:18px;
  font-weight:500;
}

.about__link{
  font-weight:500;
  text-decoration:underline;
  color:#111;
  transition: font-weight .2s ease;
}

.about__link:hover{
  font-weight:600;
}

/* ABOUT — video background restore */
.about--video{
  position: relative;
  overflow: hidden;
  padding: 61px 0 1px;   /* შენს padding-ს ვუტოვებ */
}

.about__bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit: cover;
  z-index:0;
  pointer-events:none;
  filter: contrast(1.02) saturate(.95);
}

.about--video::after{
  content:"";
  position:absolute;
  inset:0;
  background: #f5f5f5;
  z-index:1;
}

.about--video .about__inner{
  position: relative;
  z-index:2;
}

/* WORKS (AFTER ABOUT) */
.works{
  background:#f5f5f5;
  padding: 18px 0 88px;
}

.works__inner{
  padding-left:32px;
  padding-right:32px;
  max-width: 1400px;
  margin: 0 auto;
  position:relative;
}

/* LABEL */
.work__label{
  font-size:23px;
  font-weight:600;
  color:#111;
  margin: 0 13px 29px;
}

/* MEDIA BASE */
.work__media video,
.work__video{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.work__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* --- ROW LAYOUTS --- */
.works__row{
  display:grid;
  align-items:start;
}

/* Row 1 */
.works__row--1{
  grid-template-columns: 39.157% 47.849%;
  column-gap: 12.994%;
  margin-top: 22px;
}

/* Row 2 */
.works__row--2{
  grid-template-columns: 29.5% 29.5% 29.5%;
  column-gap: 5.75%;
  margin-top: 115px;
}

/* Row 3 */
.works__row--3{
  grid-template-columns: 60.492% 31.08%;
  column-gap: 8.428%;
  margin-top: 82px;
}

/* aspect ratios exactly from screenshot shapes */
/* Row 1 sizes */
.work__media--r1l{ width: 503px; height: 612px; margin-left: 4px; }
.work__media--r1r{ width: 616px; height: 520px; margin-left: 13px; }

/* Row 2 exact sizes (no HTML change needed) */
.works__row--2 .work:nth-child(1) .work__media{ width: 379px; height: 497px; margin-left: 6px; }
.works__row--2 .work:nth-child(2) .work__media{ width: 382px; height: 382px; margin-left: 7px; }
.works__row--2 .work:nth-child(3) .work__media{ width: 382px; height: 497px; margin-left: 10px; }

/* Row 3 exact sizes */
.work__media--wide{ width: 820px; height: 460px; }
.work__media--tall{ width: 420px; height: 620px; margin-left: 5px; }

/* See All bottom-right */
.works__seeall{
  position:absolute;
  right:32px;        
  bottom:-72px;      
  font-size:16px;
  font-weight:500;
  color:#111;
  text-decoration:none;
  transition: all .2s ease; /* smooth transition */
}

.works__seeall:hover{
  text-decoration: underline;
  font-weight:600;
}


/* SPONSORS */
.sponsors{
  background:#fff;
  padding:12px 0 1px;
}

.sponsors__inner{
  max-width:1400px;
  margin:0 auto;
  padding:0 10px;
}

.sponsors__marquee{
  overflow:hidden;
  padding:30px 0;
  cursor:grab;
  user-select:none;
  -webkit-user-select:none;
  -ms-user-select:none;
  scrollbar-width:none;
  position:relative;
}

.sponsors__marquee::-webkit-scrollbar{
  display:none;
}

.sponsors__marquee.is-dragging{
  cursor:grabbing;
}

.sponsors__row{
  display:flex;
  align-items:center;
  gap:0;
  width:max-content;
}

.sponsors__logo{
  display:block;
  height:121px;
  width:auto;
  flex:0 0 auto;
  pointer-events:none;
  -webkit-user-drag:none;
  user-drag:none;
}

@media (max-width:900px){
  .sponsors__logo{
    height:90px;
  }
}

/* reduced motion support */
@media (prefers-reduced-motion: reduce){
  .sponsors__track{ animation: none; }
}


/* CONTACT */
.contact{
  background:#f5f5f5;
  padding: 51px 0 23px;
}

.contact__inner{
  padding-left:32px;
  padding-right:32px;
  max-width: 1400px;
  margin: 0 auto;
}

.contact__title{
  margin: 0 0 22px;
  text-align:center;
  font-size:24px;
  font-weight:600;
  color:#000;
}

/* MAIN CARD */
.contact__card{
  background:#ffffff;
  border-radius:26px;
  padding: 45px 86px 56px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 140px;
}

/* LEFT */
.contact__left{
  position:relative;
}

.contact__headline{
  font-size:26px;
  font-weight:500;
  color:#3a3a3a;
  line-height:1.25;
  margin-top: 37px;      
  text-align:center; 
}

.contact__items{
  margin-top: 57px;
  display:flex;
  flex-direction:column;
  gap: 49px;            
}

.contact__item{
  display:flex;
  align-items:center;
  gap: 16px;
  font-size:16px;
  font-weight:500;
  color:#333;
}

.contact__icon{
  width:28px;
  height:28px;
  color:#333;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

/* socials bottom-left */
.contact__social{
  position:absolute;
  left:0;
  bottom:0;
  display:flex;
  gap: 18px;
  align-items:center;
}

.contact__soc{
  width:30px;
  height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#333;
  text-decoration:none;
}

/* RIGHT FORM */
.contact__form{
  padding-top: 0px;  
}

.field{
  display:block;
  margin-bottom: 26px;
}

.field__label{
  display:block;
  font-size:14px;
  font-weight:400;
  color:#6a6a6a;
  margin-bottom: 10px;
}

.field__label i{
  color:#d24b4b;
  font-style:normal;
}

/* inputs look lighter + softer */
.field__input{
  width:100%;
  height:44px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.04);
  background:#fbfbfb;
  padding: 0 14px;
  outline:none;
  font-family:'Montserrat', 'Noto Sans Georgian', sans-serif;
  font-size:13px;
  color:#111;
}

.field__input::placeholder{
  color: rgba(0,0,0,.35);
}

.field__textarea{
  width:100%;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.04);
  background:#F3F3F580;
  padding: 14px;
  outline:none;
  resize:none;
  font-family:'Montserrat','Noto Sans Georgian', sans-serif;
  font-size:13px;
  color:#111;
  min-height: 128px;
}

.field__textarea::placeholder{
  color: rgba(0,0,0,.35);
}

/* button position/size */
.contact__btn{
  display:block;
  margin: 70px auto 0;
  width: 220px;
  height: 42px;
  border:0;
  border-radius:8px;
  background:#3a3a3a;
  color:#fff;
  font-family:'Montserrat','Noto Sans Georgian', sans-serif;
  font-size:16px;
  font-weight:500;
  cursor:pointer;
  transition: background .25s ease; /* smooth effect */
}

.contact__btn:hover{
  background:#1e1e1e;
}

/* footer */
.contact__footer{
  margin-top: 18px;
  text-align:center;
  font-size:12px;
  color: #999999;
  font-weight:400;
}

/* responsive */
@media (max-width: 980px){
  .contact__card{
    grid-template-columns: 1fr;
    row-gap: 44px;
    padding: 14px 28px 40px;
    column-gap:0;
  }
  .contact__headline{
    margin-top: 0;
    text-align:left;
  }
  .contact__social{
    position:static;
    margin-top: 30px;
  }
  .contact__form{ padding-top: 0; }
}

/* icon unaffected */
.topbar__icon{
  pointer-events:none;
  flex:0 0 auto;
}

.about__link.topbar__slide{
  display: inline-flex;
  align-items: baseline;
  gap: 0;
  padding: 0;
}

.about__link .topbar__slidebox{
  height: 1em;
  line-height: 1em;
}

/* TOPBAR always above normal content */
.topbar{
  position: relative;
  z-index: 50;
}

/* Overlay default: hidden and doesn't block clicks */
.menuOverlay2{
  position: fixed;
  inset: 0;
  z-index: 9999;

  display: grid;
  grid-template-columns: 1fr 1fr;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* Open instantly (no transition) */
.menuOverlay2.is-open{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* LEFT */
.menuOverlay2__left{
  background: #222;
  color: #fff;
  padding: 34px 66px;

  display: grid;
  flex-direction: column;

  /* only left side scrolls */
  overflow-y: auto;
  overscroll-behavior: contain;

  /* optional: hide scrollbar */
  scrollbar-width: none;
}
.menuOverlay2__left::-webkit-scrollbar{ width:0; height:0; }

.menuOverlay2__brand{
  margin-bottom: 82px;
}

.menuOverlay2__logo{
  width: 170px;
  height: auto;
  display: block;
  margin-bottom: 8px;
}

.menuOverlay2__meta{
  font-size: 11px;
  letter-spacing: .5px;
  opacity: .7;
  line-height: 1.4;
}

/* NAV list */
.menuOverlay2__nav{
  display: flex;
  flex-direction: column;
  gap: 79px;
  padding-bottom: 43px;
  padding-top: 12px;
}

/* ITEMS */
.menuOverlay2__item{
  color: #fff;
  text-decoration: none;
  font-size: clamp(42px, 4.2vw, 72px);
  font-weight: 600;
  line-height: 1.05;
  display: block;
}

.menuOverlay2__item:hover{
  opacity: .75;
}

/* RIGHT */
.menuOverlay2__right{
  position: relative;
  background: #222;
  overflow: hidden;
}

.menuOverlay2__video{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* CLOSE */
.menuOverlay2__close{
  position: absolute;
  top: 22px;
  right: 26px;
  width: 56px;
  height: 56px;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 34px;
  line-height: 1;
  cursor: pointer;
  z-index: 10;
  opacity: .95;
}

/* MOBILE */
@media (max-width: 900px){
  .menuOverlay2{
    grid-template-columns: 1fr;
    grid-template-rows: 1fr 1fr;
  }

  .menuOverlay2__left{
    padding: 36px 28px;
  }

  .menuOverlay2__nav{
    gap: 56px;
  }
}

@media (max-width: 900px){

  .menuOverlay2__nav{
    margin-left: auto;    
    align-items: flex-end; 
    text-align: right; 
  }

}

/* ABOUT PAGE (PIXEL-LIKE)       */
/* ============================= */
.page--about{
  background:#fff;
  color:#111;
}

/* topbar layout for about */
.topbar--about{
  height: 64px;
}

.page--about .topbar__right{
  top: 18px;
  right: 40px;
  gap: 18px;
}

/* left logo */
.topbar__brand{
  position:absolute;
  left: 40px;
  top: 14px;
  text-decoration:none;
  color:#111;
  display:flex;
  flex-direction:column;
  gap: 2px;
}
.topbar__brandLogo{
  width: 92px;
  height: auto;
  display:block;
}
.topbar__brandSub{
  font-size: 8px;
  letter-spacing: .18em;
  text-transform: uppercase;
  opacity:.65;
  margin-left: 2px;
}



/* container like screenshot */
.about72{
  max-width: 1180px;
  margin: 0 auto;
  padding: 26px 40px 0;
}

/* Title */
.about72__titleBlock{
  text-align:center;
  padding: 72px 0 0;
}
.about72__title{
  margin:0;
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
  font-size: 34px;
  letter-spacing: .02em;
}
.about72__line{
  height: 1px;
  background: rgba(0,0,0,.55);
  margin: 18px auto 0;
  width: 100%;
}

/* Intro */
.about72__intro{
  display:grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 120px;
  padding: 28px 0 0;
}
.about72__p{
  margin:0;
  font-size: 12px;
  line-height: 1.55;
  color: rgba(0,0,0,.70);
  font-weight: 500;
}

/* Big image */
.about72__heroMedia{
  padding-top: 44px;
}
.about72__heroImg{
  width:100%;
  height: 290px;
  object-fit: cover;
  display:block;
  border-radius: 0;
}

/* Goal */
.about72__goal{
  display:grid;
  grid-template-columns: 240px 1fr;
  column-gap: 80px;
  padding: 40px 0 0;
  align-items:start;
}
.about72__goalLeft{
  font-size: 14px;
  font-weight: 500;
  color: rgba(0,0,0,.80);
  padding-top: 6px;
}
.about72__goalRight{
  position: relative;
}
.about72__goalRow{
  display:grid;
  grid-template-columns: 60px 1fr;
  column-gap: 85px;
  padding: 22px 0;
  border-top: 1px solid rgba(0,0,0,.30);
}
.about72__goalRow--bottom{
  border-bottom: 1px solid rgba(0,0,0,.30);
}
.about72__goalNo{
  font-size: 12px;
  font-weight: 600;
  color: rgba(0,0,0,.75);
}
.about72__goalTxt{
  font-size: 12px;
  line-height: 1.55;
  color: rgba(0,0,0,.65);
  font-weight: 500;
  max-width: 420px;
}

/* wide paragraph */
.about72__wideText{
  padding: 28px 0 0;
  font-size: 12px;
  line-height: 1.6;
  color: rgba(0,0,0,.70);
  font-weight: 500;
}
.about72__wideText--last{
  padding-top: 26px;
  padding-bottom: 26px;
}

/* Split */
.about72__split{
  display:grid;
  grid-template-columns: 420px 1fr;
  column-gap: 70px;
  padding: 38px 0 0;
  align-items:start;
}
.about72__splitImg{
  width:100%;
  height: 488px;
  object-fit: cover;
  display:block;
}

/* right text tight */
.about72__p--tight{
  max-width: 520px;
}

/* Stats */
.about72__stats{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px 44px;
  padding-top: 30px;
  align-items:start;
}
.about72__stat{
  display:flex;
  gap: 16px;
  align-items:flex-start;
}
.about72__stat--wide{
  grid-column: 1 / -1;
  max-width: 520px;
}
.about72__icon{
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #1f1f1f;
  display:flex;
  align-items:center;
  justify-content:center;
  flex: 0 0 auto;
}
.about72__statText{ padding-top: 2px; }
.about72__statNum{
  font-size: 26px;
  font-weight: 500;
  color: #3A3A3A;
}
.about72__statLbl{
  margin-top: 4px;
  font-size: 11px;
  line-height: 1.45;
  color: rgba(0,0,0,.55);
  font-weight: 500;
}

/* spacing to sponsors */
.page--about .sponsors{
  padding-top: 22px;
}
.page--about .sponsors__track{
  padding: 20px 0 26px;
}

/* responsive */
@media (max-width: 980px){
  .about72{ padding: 20px 18px 0; }
  .topbar__brand{ left: 18px; }
  .page--about .topbar__right{ right: 18px; }
  .about72__intro{ grid-template-columns: 1fr; row-gap: 14px; }
  .about72__goal{ grid-template-columns: 1fr; row-gap: 14px; }
  .about72__goalRow{ column-gap: 24px; }
  .about72__split{ grid-template-columns: 1fr; row-gap: 18px; }
  .about72__stats{ grid-template-columns: 1fr; }
  .about72__heroImg{ height: 220px; }
}

/* WORK HOVER – NAME → VIEW     */
/* ============================= */
.work{
  position: relative;
}

.work__label{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: #111;
  font-size: 23px;
  font-weight: 600;
  margin: 0 13px 29px;
}

.work__name{
  position: relative;
  display: inline-block;
}

.work__nameHover{
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  transition: opacity .25s ease;
}

.work__nameDefault{
  transition: opacity .25s ease;
}

/* როდესაც მაუსი work-ზეა */
.work:hover .work__nameDefault{
  opacity: 0;
}

.work:hover .work__nameHover{
  opacity: 1;
}

.work__name{
  position: relative;
  display: inline-block;
  white-space: nowrap;
}

.work__nameHover,
.work__nameDefault{
  white-space: nowrap;
}

.work{
  display:block;
  text-decoration:none;
  color:inherit;
  position:relative;
}

.work__name,
.work__nameDefault,
.work__nameHover{
  white-space: nowrap;
}

/* WORKS – MOBILE (PHOTO STYLE)  */
/* ============================= */
@media (max-width: 900px){

  .works{
    padding: 61px 0 0;
  }

  .works__inner{
    padding-left: 32px;
    padding-right: 32px;
  }

  .works__row,
  .works__row--1,
  .works__row--2,
  .works__row--3{
    display: block;
    margin-top: 0;
    column-gap: 0;
  }

  .work{
    display: block;
    margin: 0 0 46px;
  }

  .work__label{
    margin: 0 0 14px;
    font-size: 16px;
    font-weight: 600;
  }

  .work__media{
    width: min(100%);
    margin: 0 auto;
    height: auto;
  }

  .work__media--r1l,
  .work__media--r1r,
  .work__media--tall{
    width: min(100%) !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .work__media--sq{ aspect-ratio: 16 / 9; }
  .work__media--wide{ aspect-ratio: 16 / 9; }
  .work__media--tall{ aspect-ratio: 16 / 9; }

  .work__video{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .works__seeall{
    position: static;
    display: inline-flex;
    margin-left: auto;
    font-size: 13px;
  }

  .works__inner{
    display: flex;
    flex-direction: column;
  }
}

/* MOBILE: disable custom cursor */
/* ============================= */
@media (max-width: 900px){
  html, body { cursor: auto !important; }
  *, *::before, *::after { cursor: auto !important; }

  .custom-cursor,
  .hero-tip{
    display: none !important;
  }
}

/* CONTACT – MOBILE ORDER FIX    */
/* ============================= */
@media (max-width: 980px){

  .contact__card{
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 18px;
    padding: 18px 18px 22px;
  }

  /* key trick: left wrapper disappears */
  .contact__left{
    display: contents;
  }

  /* ORDER */
  .contact__headline{ 
    grid-row: 1;
    text-align: center;
    margin: 6px 0 6px;
    font-size: 22px;
    line-height: 1.25;
  }

  .contact__form{
    grid-row: 2;
  }

  .contact__items{
    grid-row: 3;
    margin-top: 8px;
    gap: 18px;
  }

  .contact__social{
    grid-row: 4;
    position: static;
    margin-top: 10px;
    justify-content: center;
  }

  /* button not too low */
  .contact__btn{
    margin: 18px auto 0;
    width: 100%;
    max-width: 320px;
  }
}

/* keep CLOSE, hide VIDEO only   */
/* ============================= */
@media (max-width: 900px){

  /* overlay becomes 1 column */
  .menuOverlay2{
    grid-template-columns: 1fr !important;
  }

  /* ✅ right stays (so close button is not removed) */
  .menuOverlay2__right{
    background:#222;
  }

  /* ✅ hide only video */
  .menuOverlay2__video{
    display:none !important;
  }

  /* left side fills screen */
  .menuOverlay2__left{
    width: 100%;
    min-height: 100dvh;
    padding: 28px 22px;
  }

  /* logo smaller on mobile */
  .menuOverlay2__logo{
    width: 140px;
  }

  /* menu text a bit smaller */
  .menuOverlay2__item{
    font-size: clamp(28px, 8vw, 44px);
    line-height: 1.08;
  }

  /* close stays visible top-right */
  .menuOverlay2__close{
    position: fixed;
    top: 18px;
    right: 18px;
    width: 48px;
    height: 48px;
    font-size: 30px;
    z-index: 10000;
  }
}

/* PROJECT VIEW */
/* ============================= */
/* VIEW PAGE */
/* ============================= */
.page--view{
  background:#fff;
  color:#111;
}

/* topbar for view: logo left */
.topbar--view{
  height: 70px;
}

.topbar__brandView{
  position:absolute;
  left: 40px;
  top: 18px;
  display:inline-flex;
  align-items:center;
  text-decoration:none;
}

.topbar__brandViewLogo{
  width: 116px;
  height: auto;
  display:block;
}

@media (max-width: 900px){
  .topbar__brandView{ left: 18px; }
  .topbar__brandViewLogo{ width: 78px; margin-top: 3px;}
}

/* main container like screenshot spacing */
.view72{
  max-width: 1269px;
  margin: 0 auto;
  padding: 32px 0 0;
}

@media (max-width: 980px){
  .view72{ padding: 22px 18px 0; }
}

/* title row */
.view72__head{
  display:grid;
  grid-template-columns: auto 1fr;
  align-items:center;
  gap: 26px;
  padding: 18px 0 18px;
}

.view72__title{
  font-size: 30px;
  font-weight: 600;
  letter-spacing: .02em;
  color:#111;
}

/* video block */
.view72__player{
  padding: 14px 0 0;
}

.view72__video{
  width: 100%;
  height: 711px;
  background: #d8d8d8;
  display:block;
  object-fit: cover;
}

/* mobile video height */
@media (max-width: 900px){
  .view72__video{ height: 260px; }
}

/* credits */
.view72__credits{
  padding: 60px 0 0;
}

.view72__creditsTitle{
  font-size: 30px;
  font-weight: 700;
  color:#111;
  margin-bottom: 30px;
}

.view72__creditsList{
  display:flex;
  flex-direction:column;
  gap: 10px;
  font-size: 24px;
  color: #000000;
  font-weight: 400;
}

.view72__creditsList b{
  color:#111;
  font-weight: 600;
}

/* gallery placeholders */
.view72__gallery{
  padding: 42px 0 24px;
}

.view72__big{
  height: 458px;
  border-radius: 10px;
  background: #d8d8d8;
}

.view72__two{
  margin-top: 38px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
}

.view72__sq{
  height: 482px;
  border-radius: 10px;
  background: #d8d8d8;
}

@media (max-width: 980px){
  .view72__two{
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .view72__sq{ height: 260px; }

  .view72__title,
  .view72__creditsTitle{
    font-size: 22px;
  }

  .view72__creditsList{
    font-size: 15px;
  }
}


/* PROJECTS PAGE */
/* ============================= */
/* ============================= */

.page--projects{
  background:#fff;
  color:#111;
}

.topbar--projects{
  height: 70px;
}

/* wrapper same “feel” */
.projects72__wrap{
  max-width: 1269px;
  margin: 0 auto;
  padding: 0 32px;
}

/* keep air while shrinking */
@media (max-width: 1100px){
  .projects72__wrap{ padding: 0 24px; }
}
@media (max-width: 980px){
  .projects72__wrap{ padding: 0 18px; }
}
@media (max-width: 620px){
  .projects72__wrap{ padding: 0 16px; }
}

/* HERO VIDEO STRIP */
.projects72__hero{
  padding-top: 48px;
}

.projects72__heroVid{
  width: 100%;
  height: 363px;
  display:block;
  object-fit: cover;
  border-radius: 0;
  background: #d8d8d8;
}

@media (max-width: 900px){
  .projects72__heroVid{ height: 180px; }
}

/* Title */
.projects72__title{
  padding: 87px 0 77px;
}

.projects72__h1{
  margin: 0;
  text-align:center;
  font-size: 30px;
  font-weight: 600;
  color:#111;
}

@media (max-width: 900px){
  .projects72__title{ padding: 48px 0 38px; }
  .projects72__h1{ font-size: 18px; }
}

/* GRID */
.projects72{
  padding: 10px 0 30px;
}

.projects72__grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 36px 42px;
}

@media (max-width: 980px){
  .projects72__grid{
    grid-template-columns: repeat(2, 1fr);
    gap: 28px 26px;
  }
}

@media (max-width: 620px){
  .projects72__grid{
    grid-template-columns: 1fr;
    gap: 22px;
  }
}

/* CARD */
.projectCard{
  position: relative;
  display:block;
  text-decoration:none;
  color:inherit;
}

.projectCard__media{
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow:hidden;
  background:#d8d8d8;
}

.projectCard__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display:block;
}

/* hover caption */
.projectCard__cap{
  position:absolute;
  left: 0;
  right: 0;
  bottom: 0;

  padding: 30px 22px;

  font-size: 14px;
  font-weight: 500;
  letter-spacing: .01em;

  color:#fff;
  background: rgb(0 0 0 / 47%);

  opacity: 0;
  transform: translateY(10px);
  transition: opacity .25s ease, transform .25s ease;
  pointer-events:none;
}

.projectCard:hover .projectCard__cap{
  opacity: 1;
  transform: translateY(0);
}




/* ============================= */
/* ABOUT PAGE  */
/* ============================= */
.page--about72{
  background:#fff;
  color:#111;
}

/* keep same topbar spacing vibe */
.topbar--about72{
  height: 70px;
}

/* container like your view72/projects wrap */
.about72{
  max-width: 1269px;
  margin: 0 auto;
  padding: 58px 32px 40px;
}

/* TITLE */
.about72__titleBlock{
  text-align:center;
  padding-top: 6px;
}

.about72__title{
  margin:0;
  font-family: 'Playfair Display','Noto Sans Georgian', serif;
  font-weight: 500;
  font-size: 48px;
  letter-spacing: .02em;
  color:#111;
}

.about72__rule{
  height: 1px;
  width: 100%;
  background: rgba(0,0,0,.45);
  margin: 22px 0 34px;
}

/* INTRO 2 COLS */
.about72__intro{
  display:grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 120px;
  row-gap: 0;
  padding: 0 0 75px;
}

.about72__p{
  margin:0;
  font-size: 20px;
  color: #000000;
  font-weight: 400;
}

/* HERO IMAGE */
.about72__heroMedia{
  padding: 10px 0 34px;
}

.about72__heroImg{
  width:100%;
  height: 310px;
  object-fit: cover;
  display:block;
}

/* GOAL */
.about72__goal{
  display:grid;
  grid-template-columns: 452px 1fr;
  column-gap: 90px;
  padding: 18px 0 8px;
  align-items:start;
}

.about72__goalLeft{
  font-size: 26px;
  font-weight: 500;
  color: #000000;
  padding-top: 6px;
}

.about72__goalRight{
  width: 100%;
}

.about72__goalRow{
  display:grid;
  grid-template-columns: 70px 1fr;
  column-gap: 80px;
  padding: 22px 0;
  border-top: 1px solid rgba(0,0,0,.35);
}

.about72__goalRow--bottom{
  border-bottom: 1px solid rgba(0,0,0,.35);
}

.about72__goalNo{
  font-size: 24px;
  font-weight: 500;
  color: #000000;
}

.about72__goalTxt{
  font-size: 20px;
  color: #000000;
  font-weight: 400;
  max-width: 520px;
}

/* WIDE PARAGRAPH */
.about72__wideText{
  padding: 65px 0 65px;
  font-size: 20px;
  color: #000000;
  font-weight: 400;
}

.about72__wideText--last{
  padding-top: 30px;
  padding-bottom: 34px;
}

/* SPLIT SECTION */
.about72__split{
  display:grid;
  grid-template-columns: 420px 1fr;
  column-gap: 80px;
  padding: 8px 0 30px;
  align-items:start;
}

.about72__splitImg{
  width:100%;
  height: 360px;
  object-fit: cover;
  display:block;
}

.about72__splitRight{
  padding-top: 8px;
}

.about72__p--tight{
  max-width: 560px;
}

/* STATS */
.about72__stats{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px 70px;
  padding-top: 28px;
  align-items:start;
}

.about72__stat{
  display:flex;
  gap: 18px;
  align-items:flex-start;
}

.about72__stat--wide{
  grid-column: 1 / -1;
  max-width: 560px;
}

.about72__icon{
  width: 90px;
  height: 90px;
  border-radius: 25px;
  background: #1f1f1f;
  display:flex;
  align-items:center;
  justify-content:center;
  flex: 0 0 auto;
}

.about72__statText{
  padding-top: 2px;
}

.about72__statNum{
  font-size: 20px;
  font-weight: 600;
  color: rgba(0,0,0,.78);
}

.about72__statLbl{
  margin-top: 5px;
  font-size: 16px;
  font-family: 'Playfair Display','Noto Sans Georgian', sans-serif;
  line-height: 1.45;
  color: #3A3A3A;
  max-width: 280px;
  font-weight: 400;
}

/* RESPONSIVE */
@media (max-width: 980px){
  .about72{
    padding: 40px 18px 0px;
  }

  .about72__title{
    font-size: 30px;
  }

  .about72__intro{
    grid-template-columns: 1fr;
    row-gap: 14px;
    column-gap: 0;
    padding-bottom: 22px;
  }

  .about72__heroImg{
    height: 220px;
  }

  .about72__goal{
    grid-template-columns: 1fr;
    row-gap: 14px;
    column-gap: 0;
  }

  .about72__goalRow{
    grid-template-columns: 70px 1fr;
    column-gap: 22px;
  }

  .about72__split{
    grid-template-columns: 1fr;
    row-gap: 18px;
    column-gap: 0;
  }

  .about72__splitImg{
    height: 260px;
  }

  .about72__stats{
    grid-template-columns: 1fr;
    gap: 18px;
  }
}






/* ============================= */
/* SHOOT IN GEORGIA */
/* ============================= */
.page--shoot{
  background:#fff;
  color:#111;
}

.topbar--shoot{
  height: 70px;
}

.shoot72{
  max-width: 1269px;
  margin: 0 auto;
  padding: 58px 32px 40px;
}

/* TITLE */
.shoot72__titleBlock{
  text-align:center;
  padding-top:6px;
}

.shoot72__title{
  margin:0;
  font-family: 'Playfair Display','Noto Sans Georgian', sans-serif;
  font-weight: 500;
  font-size: 48px;
}

.shoot72__rule{
  width: 100%;
  background: rgba(0,0,0,.38);
  margin: 24px 0 34px;
}

/* HERO */
.shoot72__hero{
  padding: 0 0 30px;
}
.shoot72__heroImg{
  width: 100%;
  height: 320px;
  object-fit: cover;
  display:block;
}

/* SECTION GRID (left title, right numbered list) */
.shoot72__sec{
  display:grid;
  grid-template-columns: 360px 1fr;
  column-gap: 90px;
  padding: 55px 0 52px;
  align-items:start;
}

.shoot72__secTight{
 /* padding-top: 16px; */
}

.shoot72__secSmallTop{
  padding-top: 22px;
}

/* left side */
.shoot72__leftTitle{
  font-family: 'Playfair Display','Noto Sans Georgian', sans-serif; 
  font-size: 26px;
  font-weight: 500;
  color: #000000;
}

.shoot72__leftGhost{
  font-family: 'Playfair Display','Noto Sans Georgian', sans-serif; 	
  margin-top: -3px;
  font-size: 26px;
  font-weight: 600;
  color: rgb(0 0 0 / 50%);
  filter: blur(1.95px);
}

/* right side list */
.shoot72__right{
  display:flex;
  flex-direction:column;
  gap: 18px;
  padding-top: 2px;
}

.shoot72__item{
  font-size: 20px;
  line-height: 1.65;
  color: #000000;
  font-weight: 500;
  max-width: 620px;
  text-align: right;       /* like screenshot */
  margin-left: auto;       /* keep to the right */
}

.shoot72__item b{
  font-weight: 600;
  color: #000000;
}

/* IMAGE STRIPS */
.shoot72__strip{
  margin: 22px 0 18px;
}
.shoot72__stripImg{
  width:100%;
  height: 113px;
  object-fit: cover;
  display:block;
  filter: contrast(1.05) saturate(.95);
}

/* responsive */
@media (max-width: 980px){
  .shoot72{
    padding: 40px 18px 18px;
  }

  .shoot72__title{
    font-size: 28px;
  }

  .shoot72__heroImg{
    height: 220px;
  }

  .shoot72__sec{
    grid-template-columns: 1fr;
    row-gap: 12px;
    column-gap: 0;
    padding: 22px 0 10px;
  }

  .shoot72__item{
    text-align: left;
    margin-left: 0;
    max-width: 100%;
  }

  .shoot72__stripImg{
    height: 120px;
  }
}

/* HERO SLIDER (auto 7 photos) */
.shoot72__heroSlider{
  position: relative;
  width: 100%;
}

/* ორივე img ერთ ადგილზე დგას */
.shoot72__heroSlider .shoot72__heroImg{
  position: absolute;
  inset: 0;
  width: 100%;
}

/* HERO SLIDER — only */
.shoot72__heroSlider{
  position: relative;
  width: 100%;
  height: 475px;
}
@media (max-width: 980px){
  .shoot72__heroSlider{ height: 280px; }
}

.shoot72__heroSlider .shoot72__heroImg{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display:block;

  opacity: 0;
  transition: opacity .9s ease;
  will-change: opacity;
}

.shoot72__heroSlider .shoot72__heroImg.is-on{
  opacity: 1;
}

.shoot72__heroImg.is-on{
  opacity: 1;
}







aqaneeee axalooo
/* ============================= */
/* STEP BY STEP PAGE             */
/* ============================= */
.page--step{
  background:#efefef;
  color:#111;
}

.topbar--step{
  height: 70px;
}

/* wrapper */
.step72{
  max-width: 1269px;
  margin: 0 auto;
  padding: 58px 32px 20px;
}

/* HEAD */
.step72__head{
  text-align:center;
  padding: 12px 0 46px;
}

.step72__title{
  margin: 0 0 18px;
  font-family: 'Playfair Display','Noto Sans Georgian', sans-serif;
  font-weight: 600;
  font-size: 40px;
  letter-spacing: .02em;
  color:#111;
}

.step72__sub{
  margin: 0 auto;
  font-size: 18px;
  font-family: 'Playfair Display', 'Noto Sans Georgian', sans-serif;
  text-align: left;
  line-height: 1.65;
  color: #363636;
  font-weight: 500;
}

/* ============================= */
/* SERVICES                       */
/* ============================= */
.services72{
  padding: 0 0 64px;
}

.services72__grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 34px 42px;
}

.serviceCard{
  background: #ffffff;
  border-radius: 12px;
  padding: 18px 18px 18px;
  box-shadow: 0 8px 22px rgba(0,0,0,.06);
  min-height: 168px;
}

/* SERVICE CARD HOVER (scale + background image) */
.serviceCard{
  position: relative;
  overflow: hidden;                 /* რომ bg არ გასცდეს ბორდერს */
  transform: translateZ(0);         /* smooth */
  transition: transform .25s ease, box-shadow .25s ease;
}

/* background image layer */
.serviceCard::before{
  content:"";
  position:absolute;
  inset:0;
  background: url("assets/propt.png") center/cover no-repeat;
  opacity: 0;                       /* default hidden */
  transform: scale(1.03);           /* ცოტა "depth" */
  transition: opacity .25s ease, transform .25s ease;
  z-index: 0;
}

/* optional: slight overlay so text stays readable */
.serviceCard::after{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(255,255,255,.35); /* შეგიძლია გააკეთო .0 თუ არ გინდა */
  opacity: 0;
  transition: opacity .25s ease;
  z-index: 1;
}

/* keep content above bg */
.serviceCard > *{
  position: relative;
  z-index: 2;
}

/* hover effect */
.serviceCard:hover{
  transform: scale(1.035);
  box-shadow: 0 14px 34px rgba(0,0,0,.12);
}

.serviceCard:hover::before{
  opacity: 1;
  transform: scale(1);              /* "ჩაჯდება" ადგილზე */
}

.serviceCard:hover::after{
  opacity: 1;
}

/* optional: make title/text a bit darker on hover (if needed) */
.serviceCard:hover .serviceCard__title{ color:#111; }
.serviceCard:hover .serviceCard__text{ color:#2f2f2f; }

/* mobile: disable hover zoom (optional, to avoid weird tap zoom) */
@media (hover: none){
  .serviceCard:hover{ transform:none; }
  .serviceCard:hover::before,
  .serviceCard:hover::after{ opacity:0; }
}

/* reduced motion */
@media (prefers-reduced-motion: reduce){
  .serviceCard,
  .serviceCard::before,
  .serviceCard::after{ transition: none; }
}


.serviceCard__no{
  font-size: 15px;
  font-weight: 600;
  color: #d96b63;
  margin-bottom: 10px;
}

.serviceCard__title{
  font-size: 20px;
  font-weight: 700;
  color:#111;
  margin-bottom: 10px;
}

.serviceCard__text{
  font-size: 16px;
  color: #4e4e4e;
  font-weight: 500;
}

/* ============================= */
/* OUR PROCESS                    */
/* ============================= */
.process72{
  padding: 10px 0 38px;
  text-align:center;
}

.process72__title{
  margin: 0;
  font-family: 'Playfair Display','Noto Sans Georgian', sans-serif;
  font-weight: 500;
  font-size: 48px;
  color:#111;
}

.process72__subtitle{
  margin-top: 10px;
  font-size: 20px;
  font-weight: 600;
  color: #64607D;
  font-family: 'Playfair Display','Noto Sans Georgian', sans-serif;
}

.process72__row{
  position: relative;
  margin-top: 28px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px 60px;
  align-items:start;
  padding: 26px 0 8px;
}

/* PROCESS CARD */
.processCard{
  background: transparent; /* desktop looks like “free” items */
  text-align:center;
}

.processCard__imgWrap{
  width: 150px;
  height: 110px;
  border-radius: 18px;
  background: #f6f6f6;
  box-shadow: 0 10px 26px rgba(0,0,0,.10);
  margin: 0 auto 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  position: relative;
}

.processCard__imgWrap--final{
  width: 150px;
  height: 150px;
  border-radius: 18px;
  background: #3c3f45;
  box-shadow: 0 12px 28px rgba(0,0,0,.16);
}

.processCard__img{
  width: 86%;
  height: 86%;
  object-fit: contain;
  display:block;
}

.processCard__badge{
  position:absolute;
  left: -14px;
  top: 50%;
  transform: translateY(-50%);
  background:#f6f6f6;
  color:#111;
  font-size: 11px;
  font-weight: 500;
  padding: 8px 10px;
  border-radius: 10px;
  box-shadow: 0 8px 18px rgba(0,0,0,.12);
}

.processCard__name{
  font-size: 23px;
  font-weight: 600;
  color:#111;
  margin-top: 6px;
}

.processCard__small{
  margin-top: 10px;
  font-size: 18px;
  color: #000000;
  font-weight: 500;
}

/* steps hidden on desktop (only for mobile like scr2) */
.processCard__steps{
  display:none;
}

/* ============================= */
/* MOBILE                         */
/* ============================= */
@media (max-width: 980px){

  .step72{
    padding: 46px 18px 10px;
  }

  .step72__title{
    font-size: 28px;
  }

  .step72__head{
    padding-bottom: 26px;
  }

  /* SERVICES become horizontal scroll (scr2) */
  .services72__grid{
    display:flex;
    gap: 18px;
    overflow-x: auto;
    padding: 0 2px 8px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .services72__grid::-webkit-scrollbar{ height: 0; }
  .services72__grid{ scrollbar-width: none; }

  .serviceCard{
    min-width: 265px;
    scroll-snap-align: start;
  }

  /* PROCESS becomes stacked cards like scr2 */
  .process72__row{
    grid-template-columns: 1fr;
    gap: 22px;
    padding: 12px 0 0;
    margin-top: 18px;
  }

  .process72__dots{
    display:none;
  }

  .processCard{
    background:#ffffff;
    border-radius: 18px;
    box-shadow: 0 10px 26px rgba(0,0,0,.08);
    padding: 18px 18px 16px;
    text-align:left;
  }

  .processCard__imgWrap,
  .processCard__imgWrap--final{
    margin: 0 auto 14px;
  }

  .processCard__name{
    text-align:left;
    font-size: 14px;
    margin: 6px 0 6px;
  }

  .processCard__small{
    display:none; /* mobile screenshot shows steps instead */
  }

  .processCard__steps{
    display:block;
    list-style:none;
    padding: 6px 0 0;
    margin: 0;
    display:flex;
    flex-direction:column;
    gap: 10px;
  }

  .processCard__steps li{
    font-size: 12px;
    line-height: 1.5;
    color: rgba(0,0,0,.55);
    font-weight: 500;
  }

  .processCard__stepNo{
    color:#d96b63;
    font-weight: 700;
    margin-right: 6px;
  }
}








/* ============================= */
/* OUR PROCESS — CLEAN (no imgs) */
/* ============================= */
.process72--clean{
  padding: 10px 0 230px;
  text-align:center;
}

.process72--clean .process72__row{
  position: relative;
  margin-top: 28px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px 60px;
  align-items:start;
  padding: 26px 0 8px;
}

/* keep desktop minimal like screenshot */
.processCard--clean{
  background: transparent;
  text-align:center;
}

.processCard--clean .processCard__steps{ display:none; }

/* icon base */
.processIcon{
  width: 160px;
  height: 120px;
  margin: 0 auto 18px;
  position: relative;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* ============================= */
/* ICON 1: chat + paper + bar    */
/* ============================= */
.processIcon--chat .processIcon__paper{
  position:absolute;
  left: 10px;
  top: 2px;
  width: 108px;
  height: 78px;
  border-radius: 18px;
  background: #f7f7f7;
  box-shadow: 0 12px 26px rgba(0,0,0,.10);
}
.processIcon--chat .processIcon__paper::before,
.processIcon--chat .processIcon__paper::after{
  content:"";
  position:absolute;
  left: 18px;
  right: 18px;
  height: 8px;
  border-radius: 999px;
  background: rgba(0,0,0,.10);
}
.processIcon--chat .processIcon__paper::before{ top: 22px; }
.processIcon--chat .processIcon__paper::after { top: 40px; opacity:.7; }

.processIcon--chat .processIcon__bar{
  position:absolute;
  left: 0;
  bottom: 4px;
  width: 128px;
  height: 42px;
  border-radius: 12px;
  background: #2f3237;
  box-shadow: 0 14px 28px rgba(46,50,55,.35);
}
.processIcon--chat .processIcon__bar::after{
  content:"";
  position:absolute;
  left: 46px;
  right: 18px;
  top: 19px;
  height: 6px;
  border-radius: 999px;
  background: rgba(255,255,255,.65);
}

.processIcon--chat .processIcon__bubble{
  position:absolute;
  left: 14px;
  bottom: 14px;
  width: 26px;
  height: 26px;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 10px 20px rgba(0,0,0,.12);
}
.processIcon--chat .processIcon__bubble::before{
  content:"";
  position:absolute;
  left: 7px;
  top: 8px;
  width: 12px;
  height: 8px;
  border-radius: 6px;
  border: 2px solid rgba(0,0,0,.45);
  border-bottom-color: transparent;
}
.processIcon--chat .processIcon__bubble::after{
  content:"";
  position:absolute;
  left: 10px;
  top: 16px;
  width: 6px;
  height: 6px;
  background: rgba(0,0,0,.45);
  border-radius: 50%;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  transform: rotate(10deg);
  opacity:.35;
}

/* ============================= */
/* ICON 2: film frame + cam      */
/* ============================= */
.processIcon--film .processIcon__plate{
  position:absolute;
  width: 120px;
  height: 90px;
  border-radius: 18px;
  background: #f7f7f7;
  box-shadow: 0 12px 26px rgba(0,0,0,.10);
}

.processIcon--film .processIcon__frame{
  position:absolute;
  width: 64px;
  height: 54px;
  border-radius: 10px;
  border: 6px solid #2f3237;
  box-sizing: border-box;
}
.processIcon--film .processIcon__frame::before,
.processIcon--film .processIcon__frame::after{
  content:"";
  position:absolute;
  top: 6px;
  bottom: 6px;
  width: 10px;
  background: #2f3237;
}
.processIcon--film .processIcon__frame::before{ left: -16px; border-radius: 6px; }
.processIcon--film .processIcon__frame::after { right: -16px; border-radius: 6px; }

.processIcon--film .processIcon__cam{
  position:absolute;
  right: 12px;
  top: 6px;
  width: 36px;
  height: 36px;
  border-radius: 12px;
  background: #2f3237;
  box-shadow: 0 12px 24px rgba(46,50,55,.35);
}
.processIcon--film .processIcon__cam::before{
  content:"";
  position:absolute;
  inset: 9px;
  border-radius: 10px;
  background: #ffffff;
  opacity:.16;
}

/* ============================= */
/* ICON 3: final tile + play     */
/* ============================= */
.processIcon--final .processIcon__tile{
  position:absolute;
  width: 120px;
  height: 120px;
  border-radius: 18px;
  background: #3c3f45;
  box-shadow: 0 12px 28px rgba(0,0,0,.18);
}

.processIcon--final .processIcon__play{
  position:absolute;
  width: 54px;
  height: 54px;
  border-radius: 16px;
  background: rgba(255,255,255,.08);
}
.processIcon--final .processIcon__play::before{
  content:"";
  position:absolute;
  left: 22px;
  top: 16px;
  width: 0;
  height: 0;
  border-left: 16px solid rgba(255,255,255,.85);
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}

.processIcon--final .processIcon__badge{
  position:absolute;
  left: -12px;
  top: 58%;
  transform: translateY(-50%);
  background:#f7f7f7;
  color:#111;
  font-size: 11px;
  font-weight: 500;
  padding: 8px 10px;
  border-radius: 10px;
  box-shadow: 0 8px 18px rgba(0,0,0,.12);
}

/* text (same vibe as screenshot) */
.processCard--clean .processCard__name{
  font-size: 26px;
  font-weight: 500;
  color:#111;
  margin-top: 6px;
  font-family: 'Montserrat','Noto Sans Georgian', sans-serif;
}

.processCard--clean .processCard__small{
  margin-top: 18px;
  font-size: 18px;
  line-height: 1.3;
  color: rgba(0,0,0,.75);
  font-weight: 500;
  font-family: 'Playfair Display', 'Noto Sans Georgian';
}

/* ============================= */
/* MOBILE (scr2 style)           */
/* ============================= */
@media (max-width: 980px){

  .process72--clean .process72__row{
    grid-template-columns: 1fr;
    gap: 22px;
    padding: 12px 0 0;
    margin-top: 18px;
  }

  .process72--clean .process72__dots{ display:none; }

  .processCard--clean{
    background:#ffffff;
    border-radius: 18px;
    box-shadow: 0 10px 26px rgba(0,0,0,.08);
    padding: 18px 18px 16px;
    text-align:left;
  }

  .processIcon{
    margin: 0 auto 14px;
  }

  .processCard--clean .processCard__name{
    font-size: 16px;
    font-weight: 600;
    margin: 6px 0 6px;
  }

  .processCard--clean .processCard__small{ display:none; }

  .processCard--clean .processCard__steps{
    display:block;
    list-style:none;
    padding: 6px 0 0;
    margin: 0;
    display:flex;
    flex-direction:column;
    gap: 10px;
  }

  .processCard--clean .processCard__steps li{
    font-size: 12px;
    line-height: 1.5;
    color: rgba(0,0,0,.55);
    font-weight: 500;
  }

  .processCard--clean .processCard__stepNo{
    color:#d96b63;
    font-weight: 700;
    margin-right: 6px;
  }
}

/* =============================
   FULLSCREEN BACKGROUND VIDEO
============================= */
.bgVideo{
  position: fixed;
  inset: 0;
  z-index: -1;          /* ყველა შიგთავსის უკან */
  overflow: hidden;
  background:#000;
}
.bgVideo__media{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
}

/* =============================
   BIG VISUAL -> EMPTY BLOCK
   (center opacity 0)
============================= */
.visual--empty{
  position: relative;
}

/* sticky wrapper შენს სტილებს არ ვეხები */
.visual--empty .visual__sticky{
  position: sticky;
  top: 0;
  height: 100vh;        /* სრული ეკრანი */
}

/* ეს არის “ცარიელი ბლოკი” შუაში, რომელიც არ ჩანს */
.visual__emptyBlock{
  width: min(820px, 92vw);
  height: min(520px, 70vh);
  margin: 0 auto;

  opacity: 0;           /* <- მთავარი მოთხოვნა */
  pointer-events: none; /* რომ არ დაბლოკოს */
}

/* WORKS – MOBILE FIX (stable sizes + correct crop) */
@media (max-width: 900px){

  /* card spacing */
  .work{ margin: 0 0 46px; }

  /* label ok */
  .work__label{
    margin: 0 0 14px;
    font-size: 16px;
    font-weight: 600;
  }

  /* ✅ make media use aspect-ratio properly */
  .work__media{
    width: 100% !important;
    margin: 0 auto !important;
    height: auto !important;     /* keep auto, but... */
    aspect-ratio: 4 / 4;         /* ✅ phone-friendly portrait */
    overflow: hidden;
    border-radius: 0;
  }

  /* if you prefer 16:9, change above to 16/9 */

  /* ✅ force inner video/img to fill the ratio box */
  .work__media video,
  .work__media img,
  .work__video{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display:block;
  }

  /* remove desktop fixed sizes */
  .work__media--r1l,
  .work__media--r1r,
  .work__media--wide,
  .work__media--tall,
  .works__row--2 .work:nth-child(1) .work__media,
  .works__row--2 .work:nth-child(2) .work__media,
  .works__row--2 .work:nth-child(3) .work__media{
    width: 100% !important;
    height: auto !important;
    margin-left: 0 !important;
  }
}

/* ============================= */
/* SPONSORS */
/* ============================= */
.sponsors{
  background:#fff;
  padding: 12px 0 1px;
}
.sponsors__inner{
  padding-left:10px;
  padding-right:10px;
  max-width: 1400px;
  margin: 0 auto;
}
.sponsors__marquee{
  overflow: hidden;
  padding: 30px 0;
  user-select: none;
}
.sponsors__track{
  display:flex;
  align-items:center;
  gap: 21px;
  width: max-content;

  user-select: none;
  pointer-events: none;

  animation: sponsorsMarquee var(--marqueeDur, 28s) linear infinite;
  will-change: transform;
}
@keyframes sponsorsMarquee{
  from { transform: translateX(0); }
  to   { transform: translateX(calc(-1 * var(--marqueeHalf, 0px))); }
}
.sponsors__logo{
  height: 121px;
  width: auto;
  display:block;
}
@media (prefers-reduced-motion: reduce){
  .sponsors__track{ animation:none; }
}

/* ============================= */
/* CONTACT */
/* ============================= */
.contact{
  background:#fff;
  padding: 51px 0 23px;
}
.contact__inner{
  padding-left:32px;
  padding-right:32px;
  max-width: 1400px;
  margin: 0 auto;
}
.contact__title{
  margin: 0 0 22px;
  text-align:center;
  font-size:23px;
  font-weight:700;
  color:#000;
}
.contact__card{
  background:#FFFFFF;
  border-radius:26px;
  padding: 45px 86px 56px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 140px;

  position: relative; /* ✅ success popup lives inside */
}

/* LEFT */
.contact__left{ position:relative; }
.contact__headline{
  font-size:26px;
  font-weight:500;
  color:#3a3a3a;
  line-height:1.25;
  margin-top: 37px;
  text-align:center;
}
.contact__items{
  margin-top: 57px;
  display:flex;
  flex-direction:column;
  gap: 49px;
}
.contact__item{
  display:flex;
  align-items:center;
  gap: 16px;
  font-size:16px;
  font-weight:500;
  color:#333;
}
.contact__icon{
  width:28px;
  height:28px;
  color:#333;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

/* socials bottom-left */
.contact__social{
  position:absolute;
  left:0;
  bottom:0;
  display:flex;
  gap: 18px;
  align-items:center;
}
.contact__soc{
  width:30px;
  height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#333;
  text-decoration:none;
}

/* RIGHT FORM */
.contact__form{ padding-top: 0; }

.field{ display:block; margin-bottom: 26px; }
.field__label{
  display:block;
  font-size:16px;
  font-weight:400;
  color:#6a6a6a;
  margin-bottom: 10px;
}
.field__label i{
  color:#d24b4b;
  font-style:normal;
}
.field__input{
  width:100%;
  height:44px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.04);
  background:#F3F3F580;
  padding: 0 14px;
  outline:none;
  font-family:'Montserrat','Noto Sans Georgian', sans-serif;
  font-size:13px;
  color:#111;
}
.field__input::placeholder{ color: rgba(0,0,0,.35); }

.field__textarea{
  width:100%;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.04);
  background:#fbfbfb;
  padding: 14px;
  outline:none;
  resize:none;
  font-family:'Montserrat','Noto Sans Georgian', sans-serif;
  font-size:13px;
  color:#111;
  min-height: 128px;
}
.field__textarea::placeholder{ color: rgba(0,0,0,.35); }

.contact__btn{
  display:block;
  margin: 70px auto 0;
  width: 220px;
  height: 42px;
  border:0;
  border-radius:8px;
  background:#3a3a3a;
  color:#fff;
  font-family:'Montserrat','Noto Sans Georgian', sans-serif;
  font-size:16px;
  font-weight:500;
  cursor:pointer;
  transition: background .25s ease;
}
.contact__btn:hover{ background:#1e1e1e; }

.contact__footer{
  margin-top: 18px;
  text-align:center;
  font-size:14px;
  color: #999999;
  font-weight:400;
}

/* ============================= */
/* SUCCESS POPUP — INSIDE CONTACT CARD */
/* ============================= */
.successPop{
  position: absolute;
  inset: 0;          /* ✅ only inside contact__card */
  z-index: 30;
  display: none;
}
.successPop.is-open{ display:block; }

.successPop__backdrop{
  position:absolute;
  inset:0;
  background: rgba(255,255,255,.55);
  backdrop-filter: blur(2px);
  border-radius: 26px; /* match contact card */
}

.successPop__card{
  position:absolute;
  left:50%;
  top:50%;
  transform: translate(-50%, -50%);

  width: min(520px, calc(100% - 40px));
  background:#fff;
  border-radius:10px;
  box-shadow: 0 18px 60px rgb(0 0 0 / 10%);

  padding: 26px 26px 22px;
  text-align:center;
}

.successPop__icon{
  width: 30px;
  height: 30px;
  object-fit: contain;
  display:block;
  margin: 0 auto 10px;
}

.successPop__title{
  font-size:15px;
  font-weight:600;
  color:#111;
  margin-bottom:6px;
}

.successPop__text{
  font-size:12px;
  font-weight:500;
  color: rgba(0,0,0,.55);
}

/* ============================= */
/* RESPONSIVE */
/* ============================= */
@media (max-width: 980px){
  .contact__card{
    grid-template-columns: 1fr;
    row-gap: 44px;
    padding: 14px 28px 40px;
    column-gap:0;
  }

  .contact__headline{
    margin-top: 0;
    text-align:left;
  }

  .contact__social{
    position:static;
    margin-top: 30px;
  }

  .contact__btn{
    margin: 18px auto 0;
    width: 100%;
    max-width: 320px;
  }

  /* keep popup radius same even on mobile */
  .successPop__backdrop{ border-radius: 26px; }
}


/* ============================= */
/* CUSTOM VIDEO PLAYER (no blur) */
/* ============================= */
.vPlayer{
  position: relative;
}

.vPlayer__video{
  width: 100%;
  display:block;
}

/* overlay */
.vPlayer__ui{
  position:absolute;
  inset:0;
  pointer-events:none; /* only buttons clickable */
}

/* shared button */
.vBtn{
  pointer-events:auto;
  border:0;
  background: transparent;  /* ✅ no bg */
  padding:0;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

/* default icon size (sound + settings) */
.vBtn img{
  width: 20px;   /* ✅ 20x20 */
  height: 20px;
  display:block;
}

/* center play button */
.vBtn--play{
  position:absolute;
  left:50%;
  top:50%;
  transform: translate(-50%, -50%);
  width: 61px;   /* ✅ 61x40 */
  height: 40px;
}
.vBtn--play img{
  width: 61px;   /* ✅ exact */
  height: 40px;
}

/* right buttons */
.vRight{
  position:absolute;
  right: 18px;
  bottom: 14px;
  display:flex;
  gap: 14px;
  align-items:center;
  pointer-events:auto;
}

/* remove circles/backgrounds */
.vRight .vBtn{
  width: auto;
  height: auto;
}

/* volume panel */
.vVol{ position: relative; }
.vVol__panel{
  position:absolute;
  right: 0;
  bottom: 30px;
  width: 160px;
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(0,0,0,.30); /* ✅ no blur, simple bg */
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.vVol.is-open .vVol__panel{
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.vVol__range{ width: 100%; }

/* settings menu */
.vSet{ position: relative; }
.vSet__menu{
  position:absolute;
  right: 0;
  bottom: 30px;
  min-width: 160px;
  padding: 10px;
  border-radius: 10px;
  background: rgba(0,0,0,.30); /* ✅ no blur */
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.vSet.is-open .vSet__menu{
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.vSet__ttl{
  font-size: 12px;
  font-weight: 600;
  color:#fff;
  opacity: .9;
  margin: 2px 4px 8px;
}

.vSet__item{
  width: 100%;
  text-align:left;
  border: 0;
  background: transparent;
  color:#fff;
  padding: 8px 10px;
  border-radius: 8px;
  cursor:pointer;
  font-size: 13px;
  font-weight: 500;
}
.vSet__item:hover{ background: rgba(255,255,255,.14); }
.vSet__item.is-active{ background: rgba(255,255,255,.22); }

/* =========================================
   PROCESS INFO HOVER
========================================= */

@media (min-width:981px){

  .processCard--hoverInfo{
    position:relative;
    overflow:visible;
  }

  .processInfoCard{
    position:absolute;
    top: calc(100% + 22px);
    left:50%;
    transform:translateX(-50%) translateY(15px);

    opacity:0;
    visibility:hidden;
    pointer-events:none;

    transition: all .28s ease;

    background:url("assets/propt.png") center/cover no-repeat;
    border-radius:28px;
    box-shadow:0 18px 42px rgba(0,0,0,.10);
  }

  /* hover */
  .processCard--hoverInfo:hover .processInfoCard{
    opacity:1;
    visibility:visible;
    transform:translateX(-50%) translateY(0);
  }

  /* card sizes */
  .processInfoCard--one{
    width:259px;
    min-height:216px;
    padding:31px 24px 24px;
  }

  .processInfoCard--two{
    width:261px;
    min-height:256px;
    padding:29px 23px 24px;
  }

  .processInfoCard--three{
    width:239px;
    min-height:177px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
  }

  .processInfoCard__row{
    display:grid;
    grid-template-columns:32px 1fr;
    gap:0;
    margin-bottom:16px;
    text-align:left;
  }

  .processInfoCard__row:last-child{
    margin-bottom:0;
  }

  .processInfoCard__no{
    font-size:14px;
    font-weight:600;
    color:#f07f73;
  }

  .processInfoCard__row span:last-child{
    font-size:15px;
    line-height:1.25;
    color:#5a5a5a;
  }

  .processInfoCard__single{
    width:165px;
    font-size:15px;
    line-height:1.25;
    color:#666;
    text-align:left;
  }
}

/* =========================================
   STEP PROCESS — FRAME IMAGE VERSION
   ჩასვი style.css-ის ბოლოში
========================================= */

.process72--clean{
  padding: 10px 0 230px;
  text-align: center;
}

.process72--clean .process72__row{
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px 60px;
  align-items: start;
  margin-top: 30px;
  padding: 10px 0 8px;
}

.process72__dots{
  position:absolute;
  left:0;
  right:0;
  top:80px;
  width:100%;
  height:200px;
  z-index:1; 
  pointer-events:none;
}

.process72__dots path{
  stroke: rgba(0,0,0,.35);
  stroke-width:2;
  stroke-linecap:round;
  stroke-dasharray:2 10;
  fill:none;
}

.processCard--clean{
  position: relative;
  z-index: 2;
  background: transparent;
  text-align: center;
  overflow: visible;
}

.processVisual{
  position: relative;
  width: 100%;
  height: 205px;
  margin: 0 auto 22px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.processVisual__img{
  display: block;
  width: auto;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
}

.processVisual--final{
  height: 205px;
}

.processVisual__badge{
  position: absolute;
  left: 68px;
  top: 118px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 96px;
  height: 38px;
  padding: 0 14px;
  background: #f5f5f3;
  color: #3d3d3d;
  border-radius: 10px;
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}

.processCard--clean .processCard__name{
  font-size: 26px;
  font-weight: 500;
  color: #111;
  margin-top: 0;
  font-family: 'Montserrat','Noto Sans Georgian', sans-serif;
}

.processCard--clean .processCard__small{
  margin-top: 26px;
  font-size: 18px;
  line-height: 1.3;
  color: #1d1d1d;
  font-weight: 400;
  font-family: 'Playfair Display','Noto Sans Georgian', serif;
}

.processCard--clean .processCard__steps{
  display: none;
}

/* hover cards */
@media (min-width:981px){

  .processCard--hoverInfo{
    position: relative;
    overflow: visible;
  }

  .processInfoCard{
    position: absolute;
    top: calc(100% + 24px);
    left: 50%;
    transform: translateX(-50%) translateY(14px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .28s ease, transform .28s ease, visibility .28s ease;
    background: url("assets/propt.png") center/cover no-repeat;
    border-radius: 28px;
    box-shadow: 0 18px 42px rgba(0,0,0,.10);
    z-index: 10;
  }

  .processCard--hoverInfo:hover .processInfoCard{
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
  }

  .processInfoCard--one{
    width: 259px;
    min-height: 216px;
    padding: 31px 24px 24px;
  }

  .processInfoCard--two{
    width: 261px;
    min-height: 256px;
    padding: 29px 23px 24px;
  }

  .processInfoCard--three{
    width: 239px;
    min-height: 177px;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .processInfoCard__row{
    display: grid;
    grid-template-columns: 32px 1fr;
    gap: 0;
    margin-bottom: 16px;
    text-align: left;
  }

  .processInfoCard__row:last-child{
    margin-bottom: 0;
  }

  .processInfoCard__no{
    font-size: 14px;
    font-weight: 600;
    color: #f07f73;
    line-height: 1.2;
  }

  .processInfoCard__row span:last-child{
    font-size: 15px;
    line-height: 1.25;
    color: #5a5a5a;
    font-weight: 500;
  }

  .processInfoCard__single{
    width: 165px;
    font-size: 15px;
    line-height: 1.25;
    color: #666;
    text-align: left;
    font-weight: 500;
  }
}

/* mobile */
@media (max-width:980px){

  .process72--clean{
    padding-bottom: 40px;
  }

  .process72--clean .process72__row{
    grid-template-columns: 1fr;
    gap: 22px;
    padding: 12px 0 0;
    margin-top: 18px;
  }

  .process72__dots{
    display: none;
  }

  .processCard--clean{
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 10px 26px rgba(0,0,0,.08);
    padding: 18px 18px 16px;
    text-align: left;
  }

  .processVisual{
    height: auto;
    margin: 0 auto 14px;
  }

  .processVisual__img{
    width: 100%;
    max-width: 240px;
    height: auto;
  }

  .processVisual__badge{
    left: 16px;
    top: auto;
    bottom: 18px;
    min-width: 86px;
    height: 34px;
    font-size: 12px;
  }

  .processCard--clean .processCard__name{
    font-size: 16px;
    font-weight: 600;
    margin: 6px 0 6px;
    text-align: left;
  }

  .processCard--clean .processCard__small{
    display: none;
  }

  .processInfoCard{
    position: static;
    transform: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    width: 100%;
    margin-top: 14px;
    box-shadow: none;
    background: transparent;
    padding: 0;
    min-height: 0;
  }

  .processInfoCard__row{
    display: block;
    margin-bottom: 10px;
  }

  .processInfoCard__no{
    color: #d96b63;
    font-weight: 700;
    margin-right: 6px;
  }

  .processInfoCard__row span:last-child,
  .processInfoCard__single{
    font-size: 12px;
    line-height: 1.5;
    color: rgba(0,0,0,.55);
  }

  .processInfoCard__single{
    width: auto;
  }
}


/* PROCESS DOT CURVE */
.process72--clean .process72__row{
  position: relative;
  overflow: visible;
}

.process72__dots{
  position: absolute;
  left: 50%;
  top: -8px;
  transform: translateX(-50%);
  width: 1180px;
  height: 260px;
  display: block;
  pointer-events: none;
  z-index: 1;
  overflow: visible;
}

.process72__dots path{
  fill: none;
  stroke: #b9b9b9;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-dasharray: 1 14;
}

.processCard--clean{
  position: relative;
  z-index: 2;
  overflow: visible;
}


