.krep-projects-gallery-page { --krep-gallery-header-height:180px; padding-top:var(--krep-gallery-header-height); }
.krep-projects-gallery { position:relative; min-height:max(560px, calc(100svh - var(--krep-gallery-header-height))); display:grid; align-items:end; overflow:hidden; color:#fff; background:#253229; isolation:isolate; }
.krep-projects-gallery__media,.krep-projects-gallery__overlay { position:absolute; inset:0; z-index:-2; }
.krep-projects-gallery__image { width:100%; height:100%; object-fit:cover; object-position:center; transition:opacity .45s ease, transform .7s ease; }
.krep-projects-gallery__image.is-changing { opacity:0; transform:scale(1.025); }
.krep-projects-gallery__overlay { z-index:-1; background:linear-gradient(90deg,rgba(9,18,11,.76) 0%,rgba(9,18,11,.34) 54%,rgba(9,18,11,.12) 100%),linear-gradient(0deg,rgba(9,18,11,.72) 0%,transparent 58%); }
.krep-projects-gallery__content { padding-top:100px; padding-bottom:124px; }
.krep-projects-gallery__eyebrow { margin:0 0 20px; color:rgba(255,255,255,.82); font-size:13px; font-weight:600; line-height:1.35; letter-spacing:.13em; text-transform:uppercase; }
.krep-projects-gallery__title { max-width:850px; margin:0; color:#fff; font-size:clamp(40px,5vw,76px); font-weight:500; line-height:1.02; text-transform:none; }
.krep-projects-gallery__open { margin-top:30px; padding:0 0 4px; border:0; border-bottom:1px solid currentColor; background:transparent; color:#fff; font:inherit; font-size:16px; cursor:pointer; transition:opacity .2s ease; }
.krep-projects-gallery__open:hover,.krep-projects-gallery__open:focus-visible { opacity:.72; }
.krep-projects-gallery__controls { position:absolute; right:0; bottom:42px; left:0; display:flex; align-items:center; justify-content:space-between; }
.krep-projects-gallery__counter { font-size:15px; font-variant-numeric:tabular-nums; }
.krep-projects-gallery__arrows { display:flex; gap:10px; }
.krep-projects-gallery__arrow { display:grid; width:54px; height:54px; place-items:center; border:1px solid rgba(255,255,255,.8); background:rgba(17,30,18,.14); color:#fff; font-size:24px; line-height:1; cursor:pointer; transition:background-color .2s ease,color .2s ease; }
.krep-projects-gallery__arrow:hover,.krep-projects-gallery__arrow:focus-visible { background:#fff; color:#1d2a20; }
.krep-projects-gallery-empty { padding:100px 0; }
.krep-projects-gallery-empty h1 { margin-top:0; }
@media (max-width:991px) { .krep-projects-gallery-page { --krep-gallery-header-height:94px; } .krep-projects-gallery { min-height:max(620px, calc(100svh - var(--krep-gallery-header-height))); } }
@media (max-width:767px) { .krep-projects-gallery__content { padding-top:56px; padding-bottom:148px; } .krep-projects-gallery__title { max-width:560px; font-size:clamp(36px,10vw,52px); } .krep-projects-gallery__controls { bottom:25px; } .krep-projects-gallery__arrow { width:48px; height:48px; } .krep-projects-gallery__overlay { background:linear-gradient(0deg,rgba(9,18,11,.84) 0%,rgba(9,18,11,.2) 75%); } }
@media (max-width:480px) { .krep-projects-gallery-page { --krep-gallery-header-height:88px; } .krep-projects-gallery__content { padding-top:42px; padding-bottom:142px; } .krep-projects-gallery__eyebrow { margin-bottom:14px; font-size:11px; } .krep-projects-gallery__title { font-size:clamp(32px,10vw,40px); line-height:1.06; } .krep-projects-gallery__open { margin-top:22px; font-size:15px; } .krep-projects-gallery__controls { bottom:18px; } .krep-projects-gallery__counter { font-size:14px; } .krep-projects-gallery__arrows { gap:8px; } .krep-projects-gallery__arrow { width:44px; height:44px; font-size:21px; } }
@media (max-height:620px) and (max-width:991px) { .krep-projects-gallery { min-height:560px; } .krep-projects-gallery__content { padding-top:36px; padding-bottom:124px; } }
@media (prefers-reduced-motion:reduce) { .krep-projects-gallery__image { transition:none; } }
