:root{
    --zp-teal:#008C96;
    --zp-teal-dark:#00747C;
    --zp-taupe:#9D978B;
    --zp-taupe-dark:#8F897D;
    --zp-taupe-light:#B4AEA3;
    --zp-offwhite:#F5F3EE;
    --zp-soft:#ECE8E1;
    --zp-text:#3E3A34;
    --zp-text-soft:#6B655D;
    --zp-border:rgba(62,58,52,.14);
}

.zahov-projects,
.zahov-projects *{
    box-sizing:border-box;
}

.zahov-projects{
    width:100%;
    color:var(--zp-text);
    font-family:Inter,"Helvetica Neue",Arial,sans-serif;
}

.zahov-projects__filters{
    display:flex;
    flex-wrap:wrap;
    gap:22px;
    margin:0 0 34px;
    padding-bottom:12px;
    border-bottom:1px solid var(--zp-border);
}

.zahov-projects__filter{
    appearance:none;
    min-height:34px;
    padding:0 0 8px;
    border:0;
    border-bottom:2px solid transparent;
    border-radius:0;
    background:transparent;
    color:var(--zp-text);
    font:inherit;
    font-size:10px;
    font-weight:760;
    letter-spacing:.055em;
    text-transform:uppercase;
    cursor:pointer;
    transition:color .18s ease,border-color .18s ease,transform .18s ease;
}

.zahov-projects__filter:hover{
    color:var(--zp-teal-dark);
    border-color:rgba(0,140,150,.45);
}

.zahov-projects__filter.is-active{
    background:transparent;
    color:var(--zp-teal-dark);
    border-color:var(--zp-teal);
}

.zahov-projects__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
}

.zahov-project-card{
    min-width:0;
}

.zahov-project-card[hidden]{
    display:none !important;
}

.zahov-project-card__open{
    display:block;
    width:100%;
    padding:0;
    border:0;
    background:transparent;
    text-align:left;
    cursor:pointer;
    color:inherit;
}

.zahov-project-card__media{
    position:relative;
    display:block;
    width:100%;
    aspect-ratio:4/3;
    overflow:hidden;
    border-radius:2px;
    background:var(--zp-taupe-light);
}

.zahov-project-card__media img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .55s cubic-bezier(.2,.75,.25,1),filter .35s ease;
}

.zahov-project-card__placeholder{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    color:rgba(255,255,255,.75);
    font-size:20px;
    font-weight:800;
    letter-spacing:.18em;
}

.zahov-project-card__overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(157,151,139,.05) 5%,rgba(143,137,125,.88) 100%);
    opacity:.22;
    transition:opacity .38s ease;
}

.zahov-project-card__info{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    z-index:2;
    display:block;
    padding:26px;
    color:#fff;
    transform:translateY(42px);
    transition:transform .42s cubic-bezier(.2,.75,.25,1);
}

.zahov-project-card__category{
    display:block;
    margin-bottom:7px;
    color:rgba(255,255,255,.76);
    font-size:8px;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.zahov-project-card__title{
    display:block;
    font-size:22px;
    line-height:1.05;
    font-weight:780;
    letter-spacing:-.035em;
}

.zahov-project-card__location{
    display:block;
    margin-top:7px;
    color:rgba(255,255,255,.80);
    font-size:10px;
}

.zahov-project-card__description{
    display:block;
    max-width:94%;
    margin-top:14px;
    color:rgba(255,255,255,.90);
    font-size:12px;
    line-height:1.5;
    opacity:0;
    transition:opacity .25s ease;
}

.zahov-project-card__hint{
    display:block;
    margin-top:15px;
    padding-top:12px;
    border-top:1px solid rgba(255,255,255,.28);
    color:#fff;
    font-size:9px;
    font-weight:760;
    letter-spacing:.05em;
    opacity:0;
    transition:opacity .25s ease;
}

.zahov-project-card__open:hover .zahov-project-card__media img,
.zahov-project-card__open:focus-visible .zahov-project-card__media img{
    transform:scale(1.024);
    filter:saturate(.92);
}

.zahov-project-card__open:hover .zahov-project-card__overlay,
.zahov-project-card__open:focus-visible .zahov-project-card__overlay{
    opacity:1;
}

.zahov-project-card__open:hover .zahov-project-card__info,
.zahov-project-card__open:focus-visible .zahov-project-card__info{
    transform:translateY(0);
}

.zahov-project-card__open:hover .zahov-project-card__description,
.zahov-project-card__open:hover .zahov-project-card__hint,
.zahov-project-card__open:focus-visible .zahov-project-card__description,
.zahov-project-card__open:focus-visible .zahov-project-card__hint{
    opacity:1;
}

.zahov-project-card__open:focus-visible{
    outline:3px solid rgba(0,140,150,.35);
    outline-offset:3px;
}

.zahov-projects-empty{
    padding:30px;
    background:var(--zp-offwhite);
    border:1px solid var(--zp-border);
    color:var(--zp-text-soft);
}

html.zahov-lightbox-open,
body.zahov-lightbox-open{
    overflow:hidden !important;
}

.zahov-projects-lightbox[hidden]{
    display:none !important;
}

.zahov-projects-lightbox{
    position:fixed;
    inset:0;
    z-index:999999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
}

.zahov-projects-lightbox__backdrop{
    position:absolute;
    inset:0;
    background:rgba(143,137,125,.88);
    -webkit-backdrop-filter:blur(15px) saturate(105%);
    backdrop-filter:blur(15px) saturate(105%);
}

.zahov-projects-lightbox__dialog{
    position:relative;
    z-index:1;
    width:min(1380px,96vw);
    height:min(850px,91vh);
    display:grid;
    grid-template-columns:minmax(0,1.4fr) minmax(320px,.6fr);
    background:var(--zp-offwhite);
    border:1px solid rgba(255,255,255,.34);
    border-radius:2px;
    overflow:hidden;
    box-shadow:0 28px 90px rgba(62,58,52,.22);
}

.zahov-projects-lightbox__close{
    position:absolute;
    top:14px;
    right:14px;
    z-index:5;
    width:42px;
    height:42px;
    border:1px solid rgba(255,255,255,.38);
    border-radius:2px;
    background:rgba(157,151,139,.70);
    color:#fff;
    font-size:28px;
    line-height:1;
    cursor:pointer;
    -webkit-backdrop-filter:blur(8px);
    backdrop-filter:blur(8px);
}

.zahov-projects-lightbox__visual{
    position:relative;
    min-width:0;
    background:var(--zp-soft);
    overflow:hidden;
}

.zahov-projects-lightbox__image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
}

.zahov-projects-lightbox__nav{
    position:absolute;
    top:50%;
    z-index:3;
    transform:translateY(-50%);
    width:46px;
    height:62px;
    border:1px solid rgba(255,255,255,.30);
    border-radius:2px;
    background:rgba(157,151,139,.65);
    color:#fff;
    font-size:35px;
    cursor:pointer;
    -webkit-backdrop-filter:blur(8px);
    backdrop-filter:blur(8px);
}

.zahov-projects-lightbox__nav--prev{left:14px}
.zahov-projects-lightbox__nav--next{right:14px}

.zahov-projects-lightbox__counter{
    position:absolute;
    left:16px;
    bottom:15px;
    z-index:3;
    min-width:54px;
    padding:8px 10px;
    border-radius:2px;
    background:rgba(157,151,139,.70);
    color:#fff;
    font-size:10px;
    text-align:center;
    -webkit-backdrop-filter:blur(8px);
    backdrop-filter:blur(8px);
}

.zahov-projects-lightbox__panel{
    overflow:auto;
    padding:clamp(34px,4vw,58px) clamp(26px,3vw,42px);
    background:var(--zp-offwhite);
}

.zahov-projects-lightbox__categories{
    display:block;
    margin-bottom:10px;
    color:var(--zp-teal);
    font-size:9px;
    font-weight:820;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.zahov-projects-lightbox__panel h3{
    margin:0;
    color:var(--zp-text);
    font-size:clamp(30px,3vw,45px);
    line-height:1.03;
    letter-spacing:-.045em;
}

.zahov-projects-lightbox__location{
    margin-top:10px;
    color:var(--zp-text-soft);
    font-size:11px;
}

.zahov-projects-lightbox__lead{
    margin:25px 0 0;
    padding-top:20px;
    border-top:1px solid var(--zp-border);
    color:var(--zp-text);
    font-size:14px;
    line-height:1.6;
}

.zahov-projects-lightbox__owner{
    margin-top:24px;
    padding:18px;
    border-left:3px solid var(--zp-teal);
    background:var(--zp-soft);
    color:var(--zp-text-soft);
    font-size:13px;
    line-height:1.65;
    white-space:pre-line;
}

.zahov-projects-lightbox__content{
    margin-top:24px;
    color:var(--zp-text-soft);
    font-size:13px;
    line-height:1.65;
}

.zahov-projects-lightbox__content > :first-child{margin-top:0}
.zahov-projects-lightbox__content > :last-child{margin-bottom:0}

@media(max-width:1024px){
    .zahov-projects__grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:18px;
    }

    .zahov-projects-lightbox__dialog{
        grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);
    }
}

@media(max-width:767px){
    .zahov-projects__filters{
        gap:18px;
        margin-bottom:22px;
        padding-bottom:9px;
        overflow-x:auto;
        flex-wrap:nowrap;
        scrollbar-width:none;
    }

    .zahov-projects__filters::-webkit-scrollbar{display:none}

    .zahov-projects__filter{
        flex:0 0 auto;
        min-height:32px;
    }

    .zahov-projects__grid{
        grid-template-columns:1fr;
        gap:14px;
    }

    .zahov-project-card__info{
        transform:translateY(0);
        padding:21px;
    }

    .zahov-project-card__overlay{
        opacity:.82;
    }

    .zahov-project-card__description,
    .zahov-project-card__hint{
        opacity:1;
    }

    .zahov-project-card__description{
        font-size:11px;
        margin-top:10px;
    }

    .zahov-project-card__hint{
        margin-top:11px;
        padding-top:9px;
    }

    .zahov-projects-lightbox{
        padding:0;
    }

    .zahov-projects-lightbox__dialog{
        width:100vw;
        height:100dvh;
        grid-template-columns:1fr;
        grid-template-rows:minmax(52dvh,1fr) auto;
        border:0;
    }

    .zahov-projects-lightbox__visual{
        min-height:52dvh;
    }

    .zahov-projects-lightbox__panel{
        max-height:48dvh;
        padding:24px 20px 34px;
    }

    .zahov-projects-lightbox__panel h3{
        font-size:31px;
    }

    .zahov-projects-lightbox__nav{
        width:40px;
        height:54px;
    }

    .zahov-projects-lightbox__nav--prev{left:8px}
    .zahov-projects-lightbox__nav--next{right:8px}

    .zahov-projects-lightbox__close{
        top:9px;
        right:9px;
    }
}

@media(prefers-reduced-motion:reduce){
    .zahov-projects *,
    .zahov-projects *::before,
    .zahov-projects *::after{
        scroll-behavior:auto !important;
        transition:none !important;
        animation:none !important;
    }
}

/* v1.3.0 lazy gallery state */
.zahov-projects-lightbox__loading{
    position:absolute;
    inset:0;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--zp-soft);
    color:var(--zp-text-soft);
    font-size:11px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.zahov-projects-lightbox__loading[hidden]{display:none}

/* v1.6.5 — robust card wrapping inside Elementor/narrow containers. */
.zahov-projects{container-type:inline-size}.zahov-project-card__open,.zahov-project-card__info,.zahov-project-card__title,.zahov-project-card__category,.zahov-project-card__location,.zahov-project-card__description{min-width:0;max-width:100%;white-space:normal!important;overflow-wrap:anywhere;word-break:normal}.zahov-project-card__title{font-size:clamp(18px,4.8cqw,22px)!important;text-wrap:balance}.zahov-project-card__category{line-height:1.25}.zahov-project-card__info{overflow:hidden}.zahov-projects-lightbox__panel,.zahov-projects-lightbox__panel h3,.zahov-projects-lightbox__lead,.zahov-projects-lightbox__owner,.zahov-projects-lightbox__content{min-width:0;max-width:100%;overflow-wrap:anywhere}
@container (max-width:760px){.zahov-projects__grid{grid-template-columns:1fr;gap:14px}.zahov-project-card__info{transform:translateY(0);padding:clamp(17px,4cqw,22px)}.zahov-project-card__overlay{opacity:.82}.zahov-project-card__description,.zahov-project-card__hint{opacity:1}.zahov-project-card__title{font-size:clamp(19px,5.6cqw,26px)!important;line-height:1.08}.zahov-project-card__description{font-size:11px;margin-top:10px}.zahov-project-card__hint{margin-top:11px;padding-top:9px}}
@container (max-width:420px){.zahov-project-card__media{aspect-ratio:1.18/1}.zahov-project-card__category{font-size:7.5px}.zahov-project-card__location{font-size:9.5px}}


/* ==========================================================================
   v1.8.0 — PROJECTS AS REAL PAGES
   Strict architectural rhythm: 3 desktop / 2 tablet / 1 phone.
   ========================================================================== */

.zahov-projects{
    container-type:inline-size;
    width:min(1240px,calc(100vw - 48px))!important;
    max-width:none!important;
    position:relative!important;
    left:50%!important;
    transform:translateX(-50%)!important;
}

.zahov-projects__grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:18px!important;
    align-items:stretch!important;
}

.zahov-project-card__open{
    text-decoration:none!important;
    border-radius:0!important;
}

.zahov-project-card__media{
    aspect-ratio:4/3!important;
    border-radius:0!important;
}

.zahov-project-card__info{
    padding:22px!important;
}

.zahov-project-card__title{
    font-size:clamp(19px,2vw,28px)!important;
    line-height:1.04!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:auto!important;
}

/* ---------------- Single project ---------------- */
.zahov-project-single,
.zahov-project-single *{box-sizing:border-box}

.zahov-project-single{
    --zp-teal:#008C96;
    --zp-teal-dark:#00747C;
    --zp-offwhite:#F5F3EE;
    --zp-soft:#ECE8E1;
    --zp-text:#3E3A34;
    --zp-text-soft:#6B655D;
    --zp-border:rgba(62,58,52,.14);
    width:100%;
    color:var(--zp-text);
    font-family:Inter,"Helvetica Neue",Arial,sans-serif;
}

.zahov-project-single__inner{
    width:min(1240px,calc(100vw - 48px));
    margin:0 auto;
    padding:26px 0 78px;
}

.zahov-project-single__back{
    display:inline-flex;
    margin-bottom:18px;
    color:var(--zp-text-soft);
    font-size:10px;
    font-weight:760;
    letter-spacing:.05em;
    text-decoration:none;
    text-transform:uppercase;
}

.zahov-project-single__back:hover{color:var(--zp-teal-dark)}

.zahov-project-single__hero-media{
    position:relative;
    width:100%;
    aspect-ratio:16/8.2;
    overflow:hidden;
    background:#c8c3ba;
}
.zahov-project-single__hero-media>img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
}
.zahov-project-single__placeholder{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:32px;
    font-weight:800;
    letter-spacing:.18em;
}
.zahov-project-single__hero-shade{
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(20,25,27,.03) 28%,rgba(20,25,27,.76) 100%);
}
.zahov-project-single__hero-copy{
    position:absolute;
    left:clamp(22px,4vw,54px);
    right:clamp(22px,4vw,54px);
    bottom:clamp(24px,4vw,50px);
    z-index:2;
    max-width:860px;
    color:#fff;
}
.zahov-project-single__hero-copy>span,
.zahov-project-single__eyebrow{
    display:block;
    margin-bottom:10px;
    color:var(--zp-teal);
    font-size:9px;
    font-weight:820;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.zahov-project-single__hero-copy>span{color:rgba(255,255,255,.78)}
.zahov-project-single__hero-copy h1{
    margin:0;
    color:#fff;
    font-size:clamp(36px,5.3vw,72px);
    line-height:.98;
    letter-spacing:-.045em;
    text-wrap:balance;
}
.zahov-project-single__hero-copy p{
    margin:12px 0 0;
    color:rgba(255,255,255,.84);
    font-size:13px;
}

.zahov-project-single__intro{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
    gap:64px;
    padding:58px 0 62px;
    border-bottom:1px solid var(--zp-border);
}
.zahov-project-single__intro-main,
.zahov-project-single__facts{min-width:0}
.zahov-project-single__intro h2,
.zahov-project-single__section-head h2,
.zahov-project-single__cta h2{
    margin:0;
    font-size:clamp(32px,4vw,54px);
    line-height:1.02;
    letter-spacing:-.045em;
    text-wrap:balance;
}
.zahov-project-single__lead{
    max-width:760px;
    margin:22px 0 0;
    font-size:17px;
    line-height:1.65;
}
.zahov-project-single__description{
    max-width:760px;
    margin-top:24px;
    color:var(--zp-text-soft);
    font-size:14px;
    line-height:1.75;
}
.zahov-project-single__description>:first-child{margin-top:0}
.zahov-project-single__description>:last-child{margin-bottom:0}

.zahov-project-single__facts{
    border-top:1px solid var(--zp-border);
}
.zahov-project-single__facts>div{
    padding:18px 0;
    border-bottom:1px solid var(--zp-border);
}
.zahov-project-single__facts small{
    display:block;
    margin-bottom:6px;
    color:var(--zp-text-soft);
    font-size:9px;
    font-weight:800;
    letter-spacing:.10em;
    text-transform:uppercase;
}
.zahov-project-single__facts strong{
    display:block;
    font-size:15px;
    line-height:1.4;
}
.zahov-project-single__scope p{
    margin:0;
    color:var(--zp-text);
    font-size:13.5px;
    line-height:1.65;
}

.zahov-project-single__gallery-section{padding:58px 0 62px}
.zahov-project-single__section-head{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(300px,.5fr);
    gap:42px;
    align-items:end;
    margin-bottom:26px;
}
.zahov-project-single__section-head p{
    margin:0;
    color:var(--zp-text-soft);
    font-size:13px;
    line-height:1.65;
}
.zahov-project-single__gallery{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.zahov-project-single__gallery-card{
    position:relative;
    display:block;
    width:100%;
    padding:0;
    border:0;
    border-radius:0;
    aspect-ratio:4/3;
    overflow:hidden;
    background:#c8c3ba;
    cursor:pointer;
}
.zahov-project-single__gallery-media,
.zahov-project-single__gallery-media img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}
.zahov-project-single__gallery-media img{
    object-fit:cover;
    transition:transform .4s ease;
}
.zahov-project-single__gallery-shade{
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,transparent 52%,rgba(19,29,32,.58));
    opacity:.7;
    transition:opacity .25s ease;
}
.zahov-project-single__gallery-ref{
    position:absolute;
    left:14px;
    bottom:12px;
    color:#fff;
    font-size:9px;
    font-weight:780;
    letter-spacing:.08em;
}
.zahov-project-single__gallery-card:hover .zahov-project-single__gallery-media img,
.zahov-project-single__gallery-card:focus-visible .zahov-project-single__gallery-media img{transform:scale(1.025)}
.zahov-project-single__gallery-card:hover .zahov-project-single__gallery-shade,
.zahov-project-single__gallery-card:focus-visible .zahov-project-single__gallery-shade{opacity:1}

.zahov-project-single__quote{
    max-width:880px;
    margin:0 0 62px;
    padding:32px 0 32px 26px;
    border-left:2px solid var(--zp-teal);
}
.zahov-project-single__quote blockquote{
    margin:0;
    color:var(--zp-text-soft);
    font-size:clamp(18px,2.1vw,27px);
    line-height:1.55;
}

.zahov-project-single__cta{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:42px;
    align-items:end;
    padding:38px 40px;
    background:#2a7287;
    color:#fff;
}
.zahov-project-single__cta h2{color:#fff}
.zahov-project-single__cta p{
    max-width:720px;
    margin:14px 0 0;
    color:rgba(255,255,255,.76);
    font-size:13px;
    line-height:1.65;
}
.zahov-project-single__cta a{
    display:inline-flex;
    align-items:center;
    min-height:46px;
    padding:0 18px;
    border:1px solid rgba(255,255,255,.25);
    color:#fff;
    font-size:10px;
    font-weight:800;
    letter-spacing:.05em;
    text-decoration:none;
    text-transform:uppercase;
}
.zahov-project-single__cta a:hover{background:var(--zp-teal);border-color:var(--zp-teal)}

html.zahov-project-single-open,
body.zahov-project-single-open{overflow:hidden!important}
.zahov-project-single-lightbox[hidden]{display:none!important}
.zahov-project-single-lightbox{
    position:fixed;
    inset:0;
    z-index:999999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:28px;
}
.zahov-project-single-lightbox__backdrop{
    position:absolute;
    inset:0;
    background:rgba(15,18,19,.88);
}
.zahov-project-single-lightbox__dialog{
    position:relative;
    z-index:2;
    width:min(1180px,94vw);
    height:min(820px,90dvh);
}
.zahov-project-single-lightbox__stage{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
}
.zahov-project-single-lightbox__stage img{
    max-width:100%;
    max-height:100%;
    width:auto;
    height:auto;
    object-fit:contain;
}
.zahov-project-single-lightbox__close,
.zahov-project-single-lightbox__nav{
    position:absolute;
    z-index:3;
    border:1px solid rgba(255,255,255,.24)!important;
    background:rgba(24,31,33,.78)!important;
    color:#fff!important;
    cursor:pointer;
}
.zahov-project-single-lightbox__close{
    top:0;
    right:0;
    width:44px;
    height:44px;
    font-size:25px;
}
.zahov-project-single-lightbox__nav{
    top:50%;
    width:44px;
    height:62px;
    transform:translateY(-50%);
    font-size:30px;
}
.zahov-project-single-lightbox__nav--prev{left:0}
.zahov-project-single-lightbox__nav--next{right:0}
.zahov-project-single-lightbox__meta{
    position:absolute;
    left:14px;
    bottom:12px;
    z-index:3;
    display:flex;
    gap:14px;
    align-items:center;
    padding:8px 10px;
    background:rgba(24,31,33,.78);
    color:#fff;
    font-size:10px;
}

@container (max-width:900px){
    .zahov-projects{width:min(100%,calc(100vw - 32px))!important}
    .zahov-projects__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
}

@media(max-width:900px){
    .zahov-project-single__inner{width:min(100%,calc(100vw - 32px))}
    .zahov-project-single__intro{grid-template-columns:1fr;gap:34px}
    .zahov-project-single__section-head{grid-template-columns:1fr;gap:14px;align-items:start}
    .zahov-project-single__gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
    .zahov-project-single__cta{grid-template-columns:1fr;align-items:start}
    .zahov-project-single__cta a{justify-self:start}
}

@container (max-width:620px){
    .zahov-projects{width:calc(100vw - 28px)!important}
    .zahov-projects__grid{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
    .zahov-project-card__media{aspect-ratio:4/3!important}
}

@media(max-width:620px){
    .zahov-project-single__inner{width:calc(100vw - 28px);padding-top:16px;padding-bottom:48px}
    .zahov-project-single__back{margin-bottom:12px}
    .zahov-project-single__hero-media{aspect-ratio:4/5}
    .zahov-project-single__hero-copy{left:18px;right:18px;bottom:20px}
    .zahov-project-single__hero-copy h1{font-size:clamp(34px,11vw,48px)}
    .zahov-project-single__intro{padding:36px 0 40px;gap:28px}
    .zahov-project-single__lead{font-size:15px}
    .zahov-project-single__gallery-section{padding:38px 0 42px}
    .zahov-project-single__gallery{grid-template-columns:minmax(0,1fr);gap:12px}
    .zahov-project-single__gallery-card{aspect-ratio:4/3}
    .zahov-project-single__quote{margin-bottom:42px;padding-left:18px}
    .zahov-project-single__cta{padding:26px 22px;gap:24px}
    .zahov-project-single-lightbox{padding:0}
    .zahov-project-single-lightbox__dialog{width:100vw;height:100dvh}
    .zahov-project-single-lightbox__close{top:10px;right:10px}
    .zahov-project-single-lightbox__nav--prev{left:8px}
    .zahov-project-single-lightbox__nav--next{right:8px}
}


/* ==========================================================================
   v1.8.1 — PROJECTS POLISH
   12 initial projects, strict 3 / 2 / 1, complete 6/12 single galleries.
   ========================================================================== */

.zahov-projects{
    width:min(1240px,calc(100vw - 48px))!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
}

.zahov-projects__grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:18px!important;
    align-items:stretch!important;
}

.zahov-project-card,
.zahov-project-card__open,
.zahov-project-card__media{
    min-width:0!important;
}

.zahov-project-card__media{
    aspect-ratio:4/3!important;
    border-radius:0!important;
}

.zahov-project-card__title{
    display:block!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    text-wrap:balance;
}

.zahov-projects__more-wrap{
    display:flex;
    justify-content:center;
    padding:32px 0 8px;
}

.zahov-projects__more{
    min-width:160px;
    min-height:44px;
    padding:0 18px;
    border:1px solid rgba(62,58,52,.28);
    border-radius:0;
    background:transparent;
    color:var(--zp-text);
    font:inherit;
    font-size:10px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
    cursor:pointer;
}

.zahov-projects__more[hidden]{
    display:none!important;
}

.zahov-projects__more:hover,
.zahov-projects__more:focus-visible{
    background:var(--zp-teal)!important;
    border-color:var(--zp-teal)!important;
    color:#fff!important;
}

.zahov-project-single__gallery{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:18px!important;
}

.zahov-project-single__gallery-card{
    aspect-ratio:4/3!important;
    border-radius:0!important;
}

/* Raw owner/social text stays editable in admin but is no longer part
   of the public premium project-page hierarchy. */
.zahov-project-single__cta{
    margin-top:8px;
}

@media(max-width:900px){
    .zahov-projects{
        width:min(100%,calc(100vw - 32px))!important;
    }
    .zahov-projects__grid,
    .zahov-project-single__gallery{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:14px!important;
    }
}

@media(max-width:620px){
    .zahov-projects{
        width:calc(100vw - 28px)!important;
    }
    .zahov-projects__grid,
    .zahov-project-single__gallery{
        grid-template-columns:minmax(0,1fr)!important;
        gap:12px!important;
    }
}


/* ==========================================================================
   v1.8.2 — CANONICAL PROJECT ARCHIVE
   /проекти/ is now the native Zahov Project archive.
   ========================================================================== */

.zahov-projects-archive{
    background:#f4f2ed;
    color:#262823;
    min-height:60vh;
    padding:48px 0 82px;
}

.zahov-projects-archive__inner{
    width:min(1240px,calc(100vw - 48px));
    margin:0 auto;
}

.zahov-projects-archive__hero{
    padding:16px 0 42px;
    border-bottom:1px solid rgba(62,58,52,.16);
    margin-bottom:28px;
}

.zahov-projects-archive__eyebrow{
    display:block;
    margin-bottom:16px;
    font-size:10px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:.12em;
    color:var(--zp-teal,#1296a3);
}

.zahov-projects-archive__hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(320px,.58fr);
    gap:48px;
    align-items:end;
}

.zahov-projects-archive__hero h1{
    margin:0;
    font-size:clamp(48px,7vw,92px);
    line-height:.9;
    letter-spacing:-.055em;
    font-weight:650;
}

.zahov-projects-archive__hero p{
    margin:0;
    max-width:520px;
    font-size:15px;
    line-height:1.7;
    color:#66685f;
}

.zahov-projects-archive .zahov-projects{
    width:100%!important;
    max-width:none!important;
}

@media(max-width:900px){
    .zahov-projects-archive__inner{
        width:min(100%,calc(100vw - 32px));
    }
    .zahov-projects-archive__hero-grid{
        grid-template-columns:1fr;
        gap:18px;
        align-items:start;
    }
    .zahov-projects-archive__hero{
        padding-top:8px;
        margin-bottom:22px;
    }
}

@media(max-width:620px){
    .zahov-projects-archive{
        padding:28px 0 56px;
    }
    .zahov-projects-archive__inner{
        width:calc(100vw - 28px);
    }
    .zahov-projects-archive__hero{
        padding-bottom:26px;
    }
    .zahov-projects-archive__hero h1{
        font-size:clamp(44px,16vw,66px);
    }
    .zahov-projects-archive__hero p{
        font-size:14px;
        line-height:1.6;
    }
}


/* ==========================================================================
   v1.8.3 — INFINITE PROJECT SCROLL
   Auto-loads projects in 12-card batches. No visible "Load more" button.
   ========================================================================== */

.zahov-projects__infinite-sentinel{
    width:100%;
    min-height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:14px 0 4px;
}

.zahov-projects__infinite-sentinel[hidden]{
    display:none!important;
}

.zahov-projects__infinite-loader{
    width:22px;
    height:22px;
    border-radius:50%;
    border:2px solid rgba(18,150,163,.18);
    border-top-color:var(--zp-teal,#1296a3);
    opacity:.28;
    transform:scale(.82);
    transition:opacity .22s ease,transform .22s ease;
}

.zahov-projects__infinite-sentinel.is-loading .zahov-projects__infinite-loader{
    opacity:.9;
    transform:scale(1);
    animation:zahov-projects-spin .72s linear infinite;
}

@keyframes zahov-projects-spin{
    to{transform:rotate(360deg)}
}

/* Every newly revealed card enters with a restrained architectural motion. */
.zahov-project-card{
    opacity:0;
    transform:translate3d(0,18px,0) scale(.988);
    transition:
        opacity .52s cubic-bezier(.22,.61,.36,1),
        transform .58s cubic-bezier(.22,.61,.36,1);
    transition-delay:var(--zahov-reveal-delay,0ms);
    will-change:opacity,transform;
}

.zahov-project-card.zahov-project-card--reveal{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
}

.zahov-project-card[hidden]{
    display:none!important;
}

@media (prefers-reduced-motion:reduce){
    .zahov-project-card,
    .zahov-project-card.zahov-project-card--reveal{
        opacity:1!important;
        transform:none!important;
        transition:none!important;
    }

    .zahov-projects__infinite-sentinel.is-loading .zahov-projects__infinite-loader{
        animation:none!important;
    }
}

/* v4.0.0 — Zahov editorial project presentation */
.zahov-projects{
    --zp-teal:#2a7287;
    --zp-teal-dark:#225e70;
    --zp-taupe:#d9d9d3;
    --zp-taupe-dark:#b8b9b3;
    --zp-taupe-light:#e7e7e2;
    --zp-offwhite:#fefefc;
    --zp-soft:#f5f4f0;
    --zp-text:#1b1c1a;
    --zp-text-soft:#686a65;
    --zp-border:rgba(27,28,26,.13);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
.zahov-projects__filters{gap:26px;margin-bottom:38px;padding-bottom:10px}
.zahov-projects__filter{font-size:9.5px;letter-spacing:.07em;font-weight:700}
.zahov-projects__grid{gap:34px 18px}
.zahov-project-card__media{border-radius:0;background:#e6e6e1}
.zahov-project-card__overlay{background:linear-gradient(180deg,rgba(12,14,13,.02) 35%,rgba(12,14,13,.68) 100%);opacity:.72}
.zahov-project-card__info{padding:22px;transform:none}
.zahov-project-card__category{font-size:8.5px;font-weight:700;letter-spacing:.11em}
.zahov-project-card__title{font-size:clamp(18px,1.7vw,23px);font-weight:560;letter-spacing:-.025em}
.zahov-project-card__location{font-size:10px}
.zahov-project-card__description,.zahov-project-card__hint{display:none}
.zahov-project-card__open:hover .zahov-project-card__overlay,.zahov-project-card__open:focus-visible .zahov-project-card__overlay{opacity:.82}
.zahov-project-card__open:hover .zahov-project-card__media img,.zahov-project-card__open:focus-visible .zahov-project-card__media img{transform:scale(1.016);filter:none}
.zahov-projects-lightbox__backdrop{background:rgba(18,19,18,.78)}
.zahov-projects-lightbox__dialog{background:#fefefc;border-radius:0}

/* v4.0.0 — single project refinement */
.zahov-project-single{
    --zp-teal:#2a7287;
    --zp-teal-dark:#225e70;
    --zp-offwhite:#fefefc;
    --zp-soft:#f5f4f0;
    --zp-text:#1b1c1a;
    --zp-text-soft:#686a65;
    --zp-border:rgba(27,28,26,.13);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
.zahov-project-single__inner{width:min(1320px,calc(100vw - 72px));padding-top:30px}
.zahov-project-single__hero-media{aspect-ratio:16/8.8;background:#e5e5e0}
.zahov-project-single__hero-shade{background:linear-gradient(180deg,rgba(12,14,13,.02) 30%,rgba(12,14,13,.72) 100%)}
.zahov-project-single__hero-copy h1{font-size:clamp(42px,4.6vw,64px);font-weight:480;line-height:1.04;letter-spacing:-.038em}
.zahov-project-single__hero-copy p{font-size:12px}
.zahov-project-single__intro{grid-template-columns:minmax(0,1.18fr) minmax(290px,.62fr);gap:84px;padding:68px 0 72px}
.zahov-project-single__intro h2,.zahov-project-single__section-head h2,.zahov-project-single__cta h2{font-size:clamp(30px,3.25vw,44px);font-weight:480;line-height:1.1;letter-spacing:-.03em}
.zahov-project-single__lead{font-size:16.5px;line-height:1.72}
.zahov-project-single__gallery-section{padding:72px 0}
.zahov-project-single__section-head{gap:70px;margin-bottom:34px}
.zahov-project-single__gallery{gap:9px}
.zahov-project-single__gallery-card{aspect-ratio:4/3}
.zahov-project-single__cta{padding:44px 46px;background:#2a7287}
@media(max-width:780px){
    .zahov-project-single__inner{width:calc(100vw - 32px)}
    .zahov-project-single__intro{grid-template-columns:1fr;gap:36px;padding:46px 0 50px}
    .zahov-project-single__section-head{grid-template-columns:1fr;gap:16px}
    .zahov-project-single__gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
}
@media(max-width:480px){
    .zahov-project-single__inner{width:calc(100vw - 24px)}
    .zahov-project-single__hero-media{aspect-ratio:4/5}
    .zahov-project-single__hero-copy h1{font-size:clamp(34px,10.5vw,45px)}
    .zahov-project-single__gallery{grid-template-columns:1fr}
}
