
.cabins-gallery-page{background:#f3f5f2}
.cg-hero{
  position:relative;overflow:hidden;min-height:430px;display:flex;align-items:center;
  background:
    linear-gradient(110deg,rgba(7,23,14,.93),rgba(10,31,19,.73) 52%,rgba(10,31,19,.30)),
    url('/images/v/img_0667-492.jpg') center 46%/cover no-repeat;
}
.cg-hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.16));
}
.cg-hero-inner{position:relative;z-index:1}
.cg-kicker{
  margin:0 0 12px!important;color:#a9e0b6!important;
  font:800 12px/1.2 Arial,sans-serif!important;letter-spacing:.18em;text-transform:uppercase!important;
}
.cg-hero h1{
  margin:0!important;color:#fff!important;
  font:400 clamp(46px,7vw,78px)/1.03 Georgia,"Times New Roman",serif!important;
}
.cg-lead{
  max-width:670px;margin:16px 0 22px!important;color:rgba(255,255,255,.86)!important;
  font-size:18px!important;line-height:1.7!important;
}
.cg-hero-link{
  display:inline-flex;padding:11px 15px;border-radius:999px;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);
  color:#fff!important;text-decoration:none!important;font-weight:800;
}
.cg-zone{padding:48px 0 64px}
.cg-shell{max-width:1180px}
.cg-intro{
  display:grid;grid-template-columns:.85fr 1.15fr;gap:36px;align-items:end;
  margin-bottom:24px;
}
.cg-overline{
  margin:0 0 7px!important;color:#55755d!important;font:800 12px/1.2 Arial,sans-serif!important;
  letter-spacing:.16em;text-transform:uppercase;
}
.cg-intro h2{
  margin:0!important;color:#1f3727!important;
  font:400 38px/1.1 Georgia,"Times New Roman",serif!important;
}
.cg-intro>p{
  max-width:580px;margin:0!important;color:#667169!important;line-height:1.65!important;
}
.cg-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-auto-flow:dense;
  gap:10px;
}
.cg-item{
  margin:0;min-width:0;overflow:hidden;border-radius:14px;background:#dfe5df;
  aspect-ratio:1/1;box-shadow:0 8px 24px rgba(28,49,33,.06);
}
.cg-item-1{grid-column:span 2;grid-row:span 2}
.cg-item-4{grid-column:span 2}
.cg-item-8{grid-row:span 2}
.cg-item-11{grid-column:span 2}
.cg-item-15{grid-column:span 2}
.cg-open{
  display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in;
}
.cg-open img{
  display:block;width:100%;height:100%;object-fit:cover;
  transition:transform .35s ease,filter .35s ease;
}
@media(hover:hover) and (pointer:fine){
  .cg-open:hover img{transform:scale(1.035);filter:brightness(1.035)}
}
.cg-open:focus-visible{
  outline:3px solid #4d8b61;outline-offset:-3px;
}

.cg-lightbox[hidden]{display:none!important}
.cg-lightbox{position:fixed;inset:0;z-index:9999}
.cg-lightbox-backdrop{position:absolute;inset:0;background:rgba(4,8,5,.88);backdrop-filter:blur(5px)}
.cg-lightbox-dialog{
  position:absolute;inset:24px;display:grid;grid-template-columns:60px minmax(0,1fr) 60px;
  align-items:center;gap:10px;
}
.cg-lightbox-figure{
  margin:0;min-width:0;max-height:calc(100vh - 48px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.cg-lightbox-figure img{
  display:block;max-width:100%;max-height:calc(100vh - 92px);object-fit:contain;border-radius:10px;
  box-shadow:0 20px 60px rgba(0,0,0,.35);
}
.cg-lightbox-figure figcaption{margin-top:9px;color:rgba(255,255,255,.75);font:700 13px/1 Arial,sans-serif}
.cg-prev,.cg-next,.cg-close{
  border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.10);color:#fff;cursor:pointer;
}
.cg-prev,.cg-next{
  width:52px;height:52px;border-radius:50%;font-size:38px;line-height:1;
}
.cg-close{
  position:absolute;right:0;top:0;width:44px;height:44px;border-radius:50%;font-size:28px;z-index:2;
}
.cg-no-scroll{overflow:hidden}

@media(max-width:900px){
  .cg-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cg-intro{grid-template-columns:1fr;gap:10px}
}
@media(max-width:620px){
  .cg-hero{min-height:360px;padding:68px 0 40px}
  .cg-hero h1{font-size:44px!important}
  .cg-lead{font-size:16px!important}
  .cg-zone{padding:34px 0 46px}
  .cg-shell{padding-left:14px!important;padding-right:14px!important}
  .cg-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .cg-item-1{grid-column:span 2;grid-row:span 1;aspect-ratio:16/10}
  .cg-item-4,.cg-item-11,.cg-item-15{grid-column:span 2;aspect-ratio:16/9}
  .cg-item-8{grid-row:span 1}
  .cg-lightbox-dialog{inset:12px;grid-template-columns:44px minmax(0,1fr) 44px}
  .cg-prev,.cg-next{width:40px;height:40px;font-size:30px}
  .cg-close{right:2px;top:2px}
}
