/* ВІКНОДІМ 1.6.1 design: inherited typography, green palette, ODR spacing and cards. */
.okp-portfolio,.okp-main{--okp-work-heading:28px;--okp-blue:#4b9e23;--okp-blue-dark:#171d19;--okp-yellow:#72d432;--okp-ink:#182019;--okp-muted:#6f7972;--okp-soft:#f4f7f4;--okp-white:#fff;--okp-line:#dfe6e1;--g:#72d432;--gd:#4b9e23;--ink:#182019;--text:#465149;--muted:#6f7972;--line:#dfe6e1;--soft:#f4f7f4;--dark:#171d19;--rl:32px;color:var(--okp-ink);font-family:inherit;line-height:1.55;background:#fff}
.okp-main *,.okp-portfolio *{box-sizing:border-box}.okp-portfolio.odr,.okp-main.odr{position:relative;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);overflow:hidden}
body.post-type-archive-okp_work #content.site-content,body.single-okp_work #content.site-content,body.tax-okp_category #content.site-content{width:100%;max-width:none;padding-top:0}
body.post-type-archive-okp_work #primary.okp-main,body.single-okp_work #primary.okp-main,body.tax-okp_category #primary.okp-main{float:none;width:100%;margin:0}
body.post-type-archive-okp_work #secondary,body.single-okp_work #secondary,body.tax-okp_category #secondary{display:none}
:where(.okp-main,.okp-portfolio) .odr-c{width:min(1220px,calc(100% - 40px));margin-inline:auto}
:where(.okp-main,.okp-portfolio) .odr-eye{display:inline-flex;align-items:center;gap:9px;margin-bottom:17px;color:var(--gd);font-size:13px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
:where(.okp-main,.okp-portfolio) .odr-eye:before{width:28px;height:3px;border-radius:20px;background:var(--g);content:""}
:where(.okp-main,.okp-portfolio) h1,:where(.okp-main,.okp-portfolio) h2,:where(.okp-main,.okp-portfolio) h3{font-family:inherit;text-transform:none}
.okp-hero{position:relative;overflow:hidden;padding:62px 0 36px;background:radial-gradient(circle at 8% 10%,rgba(114,212,50,.18),transparent 32%),linear-gradient(#f7faf6,#fff)}
.okp-hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr);align-items:center}.okp-hero .odr-copy{padding:36px 0}
.okp-hero h1,.okp-hero h2{max-width:1000px;margin:0;font-size:clamp(38px,5vw,68px);line-height:1.04;letter-spacing:-.045em;color:var(--okp-ink)}
.okp-hero__lead{max-width:820px;margin:24px 0 0;color:#000;font-size:clamp(17px,2vw,21px)}
.okp-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
:where(.okp-main,.okp-portfolio) .odr-btn,.okp-btn{display:inline-flex;min-height:54px;padding:14px 23px;gap:9px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:13px;color:#14210e!important;background:var(--okp-yellow);font:inherit;font-size:16px;font-weight:850;line-height:1.2;text-decoration:none!important;cursor:pointer;transition:.2s ease}
:where(.okp-main,.okp-portfolio) .odr-btn:hover,.okp-btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(114,212,50,.25)}
:where(.okp-main,.okp-portfolio) .odr-btn.arrow:after{content:"→";font-size:20px}
:where(.okp-main,.okp-portfolio) .odr-btn.out,.okp-btn--ghost{color:var(--okp-ink)!important;border-color:rgba(23,32,25,.22);background:#fff}
:where(.okp-main,.okp-portfolio) .odr-btn.white{background:#fff;color:var(--okp-ink)!important}
.okp-openings,.okp-details,.okp-related{padding:76px 0 88px}.okp-section-head{max-width:820px;margin-bottom:34px}.okp-section-head h2,.okp-gallery h2,.okp-related h2{margin:0 0 28px;color:var(--okp-ink);font-size:clamp(31px,4vw,48px);line-height:1.12;letter-spacing:-.035em}
.okp-filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:20px}.okp-filter{padding:10px 17px;border:1px solid var(--okp-line);border-radius:999px;color:#344054;background:#fff;font:inherit;font-weight:700;cursor:pointer}.okp-filter:hover,.okp-filter.is-active{border-color:var(--okp-blue);color:#fff;background:var(--okp-blue)}
.okp-grid{display:grid;grid-template-columns:repeat(var(--okp-columns,3),minmax(0,1fr));gap:22px}
.okp-card{min-width:0;border:1px solid var(--okp-line);border-radius:8px;background:#fff;overflow:hidden;box-shadow:0 7px 24px rgba(30,45,80,.07);transition:.22s ease}.okp-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px rgba(30,45,80,.14)}.okp-card[hidden],.okp-empty[hidden]{display:none!important}
.okp-card__link{display:flex;height:100%;flex-direction:column;color:inherit!important;text-decoration:none!important}.okp-card__media{position:relative;display:grid;aspect-ratio:16/9;place-items:center;overflow:hidden;background:var(--okp-soft)}.okp-card__media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .35s}.okp-card:hover img{transform:none}
.okp-card__body{display:flex;flex:1;flex-direction:column;padding:22px}.okp-card__body h2,.okp-card__body h3{margin:0;color:var(--okp-ink);font-size:var(--okp-work-heading);line-height:1.22;letter-spacing:normal}.okp-card__body>p{margin:15px 0;color:#000;font-size:15px}.okp-card__body .okp-eyebrow{font-size:11px;line-height:1.5}
.okp-more{display:inline-flex;gap:8px;margin-top:auto;padding-top:8px;color:var(--okp-blue)!important;font-size:15px;font-weight:850}.okp-more:after{content:"→"}.okp-empty{padding:25px;background:var(--okp-soft);text-align:center}
.okp-card .okp-card__body h2,.okp-card .okp-card__body h3{font-size:var(--okp-work-heading);line-height:1.22;letter-spacing:normal}.okp-card .okp-card__media img{display:block;object-fit:cover;object-position:center;width:100%;height:100%;max-height:none;margin:0;padding:0;border:0}
.okp-single-hero{padding:68px 0;color:#fff;background:radial-gradient(circle at 8% 10%,rgba(114,212,50,.16),transparent 32%),#171d19}.okp-single-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.85fr);gap:60px;align-items:center}.okp-back{display:inline-block;margin-bottom:25px;color:#fff!important;font-weight:700;text-decoration:none!important}.okp-single-hero .okp-kicker{color:#fff3ca}.okp-single-hero h1{margin:0;color:#fff;font-size:clamp(32px,4.4vw,58px);line-height:1.09;letter-spacing:-.04em;overflow-wrap:break-word}.okp-single-hero__lead{max-width:680px;font-size:19px;color:#eef1ff;margin:24px 0 0}
.okp-single-hero__media{aspect-ratio:4/3;border:0;border-radius:22px;overflow:hidden;background:#243121}.okp-single-hero__media>a{display:block;width:100%;height:100%}.okp-single .okp-single-hero__media img{display:block;width:100%;height:100%;max-height:none;margin:0;padding:0;border:0;object-fit:cover;object-position:center}.okp-placeholder{display:flex;min-height:200px;align-items:center;justify-content:center;color:var(--okp-blue);font-weight:800}
.okp-single .okp-single-hero h1{color:#fff}.okp-main .okp-contact h2,.okp-portfolio .okp-contact h2{color:#fff}
.okp-details__intro{max-width:900px}.okp-richtext{font-size:18px;color:#000}.okp-richtext p{margin:0 0 18px}.okp-specs{margin-top:32px}.okp-specs>div{display:grid;grid-template-columns:1fr 2fr;gap:20px;padding:12px 0;border-bottom:1px solid var(--okp-line)}.okp-specs dt{font-weight:800}.okp-specs dd{margin:0}
.okp-gallery{padding:75px 0;background:var(--okp-soft)}.okp-gallery__grid{--okp-photo-height:260px;--okp-photo-max-height:360px;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:16px;margin-top:28px}.okp-single .okp-gallery__grid figure{flex:var(--okp-photo-ratio,1) 1 calc(var(--okp-photo-ratio,1) * var(--okp-photo-height));min-width:0;max-width:min(100%,calc(var(--okp-photo-ratio,1) * var(--okp-photo-max-height)));overflow:hidden;margin:0;padding:0;border:0;border-radius:6px;background:transparent}.okp-gallery__grid a{display:block;width:100%;height:auto;margin:0;padding:0;border:0}.okp-single .okp-gallery__grid img{display:block;width:100%;height:auto;max-height:none;margin:0;padding:0;border:0}.okp-photo{cursor:zoom-in}
.okp-related{background:var(--okp-soft)}.okp-video-section{padding:64px 0}.okp-video-embed{max-width:960px;aspect-ratio:16/9}.okp-video-embed iframe{width:100%;height:100%;border:0}
.okp-contact{padding:90px 0;background:radial-gradient(circle at 10% 20%,rgba(114,212,50,.22),transparent 32%),var(--dark)}.okp-contact .odr-contact-card{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:60px;align-items:center;padding:clamp(28px,6vw,68px);border:1px solid rgba(255,255,255,.12);border-radius:32px;background:rgba(255,255,255,.055);color:rgba(255,255,255,.72)}.okp-contact h2{margin:0;color:#fff;font-size:clamp(30px,3.5vw,48px);line-height:1.13;letter-spacing:-.025em}.okp-contact p{margin:18px 0 0;font-size:18px}.okp-contact .odr-contact-actions{display:grid;gap:12px}.okp-contact .odr-btn{width:100%;min-height:58px}.okp-contact .odr-eye{color:var(--okp-yellow)}
.okp-form{margin-top:8px;padding:22px;border:1px solid rgba(255,255,255,.12);border-radius:16px;color:#fff;background:rgba(0,0,0,.14)}.okp-form p{margin:0 0 14px;font-size:14px}.okp-form label{display:block;color:#fff}.okp-form input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=hidden]),.okp-form textarea,.okp-form select{width:100%;min-height:50px;padding:12px 14px;border:1px solid rgba(255,255,255,.22);border-radius:12px;color:#fff;background:rgba(255,255,255,.07);font:inherit}.okp-form input::placeholder,.okp-form textarea::placeholder{color:rgba(255,255,255,.65)}.okp-form textarea{min-height:112px}.okp-form input[type=submit]{width:100%;padding:14px 23px;border:0;border-radius:13px;color:#14210e;background:var(--okp-yellow);font:inherit;font-weight:850;cursor:pointer}.okp-form input:focus,.okp-form textarea:focus{outline:2px solid var(--okp-yellow)}
.okp-lightbox{position:fixed;inset:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:50px 60px;border:0;color:white;background:rgba(10,14,11,.97);z-index:2147483000}.okp-lightbox::backdrop{background:rgba(0,0,0,.8)}.okp-lightbox[open]{display:grid;place-items:center}.okp-lightbox figure{width:100%;height:100%;min-height:0;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.okp-lightbox img{display:block;max-width:100%;max-height:calc(100dvh - 150px);width:auto;height:auto;object-fit:contain}.okp-lightbox figcaption{margin-top:14px;text-align:center;font-size:14px}.okp-lightbox button{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;min-width:44px;min-height:44px;font-size:34px;line-height:1}.okp-lightbox__close{right:12px;top:10px}.okp-lightbox__prev{left:8px;top:45%}.okp-lightbox__next{right:8px;top:45%}body.okp-lightbox-open{overflow:hidden}
.okp-portfolio :focus-visible,.okp-main :focus-visible{outline:3px solid var(--okp-blue);outline-offset:4px}.okp-lightbox button:focus-visible{outline-color:var(--okp-yellow)}
@media(max-width:980px){.okp-portfolio,.okp-main{--okp-work-heading:26px}.okp-single-hero__grid{grid-template-columns:1fr}.okp-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.okp-single-hero__media{max-width:760px}.okp-gallery__grid{--okp-photo-height:230px;--okp-photo-max-height:340px}.okp-contact .odr-contact-card{grid-template-columns:1fr;gap:30px}}
@media(max-width:640px){.okp-portfolio,.okp-main{--okp-work-heading:24px}:where(.okp-main,.okp-portfolio) .odr-c{width:calc(100% - 28px)}.okp-hero{padding:30px 0}.okp-hero h1,.okp-hero h2{font-size:38px}.okp-hero .odr-copy{padding:20px 0}.okp-actions{flex-direction:column}.okp-btn{width:100%}.okp-grid{grid-template-columns:1fr!important}.okp-openings,.okp-details,.okp-related{padding:48px 0 56px}.okp-filter{font-size:14px}.okp-single-hero{padding:40px 0}.okp-single-hero__grid{gap:30px}.okp-single-hero h1{font-size:34px}.okp-gallery__grid{--okp-photo-height:200px;--okp-photo-max-height:320px;gap:12px}.okp-gallery{padding:50px 0}.okp-contact{padding:55px 0}.okp-contact .odr-contact-card{padding:24px}.okp-specs>div{grid-template-columns:1fr;gap:4px}.okp-lightbox{padding:56px 44px}.okp-lightbox figcaption{font-size:12px}}
@media(prefers-reduced-motion:reduce){.okp-card,.okp-btn,.okp-card__media img{transition:none!important}}

/* Scoped to portfolio projects; stronger than the site-wide .odr h2 rules. */
.okp-single.okp-main h2{font-size:var(--okp-work-heading);line-height:1.22}

/* All portfolio cards share the same centred, edge-to-edge landscape photo. */
.okp-card .okp-card__media img{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:50% 50%;margin:0;padding:0;border:0}

.okp-portfolio .okp-archive-link{display:flex;justify-content:center;margin-top:32px}
