/**
 * Nazar Furyk — стилі сайту (відновлено на основі шаблону Cargo «Softsect»)
 */

body {
	background-color: #fff;
	color: #000;
}

a:active {
	opacity: 0.7;
}

.page a.active {
	opacity: .4;
}

i,
em {
	font-style: italic;
}

b,
strong {
	font-weight: bolder;
}

sub,
sup {
	position: relative;
	vertical-align: baseline;
}

sub {
	top: 0.3em;
}

sup {
	top: -0.4em;
}

s {
	text-decoration: line-through;
}

img {
	border: 0;
	padding: 0;
}

ul,
ol {
	margin: 0;
	padding: 0 0 0 1em;
}

blockquote {
	margin: 0;
	padding: 0 0 0 2em;
}

hr {
	background: rgba(127, 127, 127, 0.2);
	border: 0;
	height: 1px;
	display: block;
}

.content img {
	float: none;
	margin-bottom: .5em;
}

/**
 * Текст
 */

[data-predefined-style="true"] bodycopy {
	font-size: 1.4rem;
	font-weight: 300;
	color: rgba(0, 0, 0, 0.75);
	font-family: -apple-system, "system-ui", "Helvetica Neue", Arial, sans-serif;
	font-style: normal;
	line-height: 1.3;
}

[data-predefined-style="true"] bodycopy a {
	color: rgba(0, 0, 0, 0.75);
	border-bottom: 1px solid rgba(0, 0, 0, 0.75);
	text-decoration: none;
}

bodycopy a.image-link,
bodycopy a.icon-link,
bodycopy a.image-link:hover,
bodycopy a.icon-link:hover {
	border-bottom: 0;
	padding-bottom: 0;
}

[data-predefined-style="true"] h1 {
	font-family: -apple-system, "system-ui", "Helvetica Neue", Arial, sans-serif;
	font-style: normal;
	font-weight: 400;
	padding: 0;
	margin: 0;
	font-size: 2.8rem;
	line-height: 1.3;
	color: rgba(0, 0, 0, 0.85);
}

[data-predefined-style="true"] h1 a {
	color: rgba(0, 0, 0, 0.85);
}

[data-predefined-style="true"] h2 {
	font-family: -apple-system, "system-ui", "Helvetica Neue", Arial, sans-serif;
	font-style: normal;
	font-weight: 400;
	padding: 0;
	margin: 0;
	color: rgba(0, 0, 0, 0.85);
	font-size: 2.4rem;
	line-height: 1.3;
}

[data-predefined-style="true"] h2 a {
	color: rgba(0, 0, 0, 0.85);
}

[data-predefined-style="true"] small {
	display: inline-block;
	font-size: 1.1rem;
	line-height: 1.3;
	font-family: -apple-system, "system-ui", "Helvetica Neue", Arial, sans-serif;
	font-style: normal;
	font-weight: 300;
	color: rgba(0, 0, 0, 0.35);
}

[data-predefined-style="true"] small a {
	color: rgb(0, 0, 0);
	border-bottom-width: 0em;
}

/* Телефон: текст більший, щоб читався */
[data-predefined-style="true"] body.mobile small {
	font-size: 1.65rem;
}

[data-predefined-style="true"] body.mobile bodycopy {
	font-size: 1.8rem;
}

/**
 * Розкладка за замовчуванням (сторінки з власними налаштуваннями їх перекривають)
 */

[data-css-preset] .page {
	background-color: initial /*!page_bgcolor*/;
}

.mobile .page,
[data-css-preset].mobile .page {
	position: relative;
	max-width: 100%;
	width: 100%;
	background-color: transparent /*!page_bgcolor*/;
}

[data-css-preset] body {
	background-color: rgb(255, 255, 255) /*!body_bgcolor*/;
}

[data-css-preset] text-limit {
	display: inline-block /*!text_width*/;
	max-width: 66rem /*!text_width*/;
}

/**
 * Мобільне меню (червоний хрест) — приховано
 */

#site_menu_button,
#site_menu_wrapper {
	display: none !important;
}

/**
 * Збільшення фото
 */

.content img.image-zoom:active {
	opacity: .7;
}

[data-css-preset] .quick-view {
	padding: 2.5rem /*!quick_view_padding*/;
	height: 100% /*!quick_view_height*/;
	width: 100% /*!quick_view_width*/;
}

body.mobile .quick-view {
	width: 100%;
	height: 100%;
	margin: 0;
}

[data-css-preset] .quick-view-background {
	background: rgba(0, 0, 0, 0.9) /*!quick_view_bgcolor*/;
}

.quick-view-navigation .left-arrow { left: 10px; }
.quick-view-navigation .right-arrow { right: 10px; }
.quick-view-navigation .left-arrow,
.quick-view-navigation .right-arrow,
.quick-view-navigation .close-button,
.image-gallery-navigation .left-arrow,
.image-gallery-navigation .right-arrow {
	height: 36px;
	width: 36px;
}
.quick-view-navigation .close-button { top: 10px; right: 10px; }
.quick-view-navigation .inner-color,
.image-gallery-navigation .inner-color {
	stroke: #fff;
	stroke-width: 1.5px;
}
.quick-view-navigation .outer-color,
.image-gallery-navigation .outer-color {
	stroke: #000;
	stroke-width: 2.5px;
	opacity: 0.6;
}

/* CV: щоб ліва колонка була «липкою» */
.main_container {
	overflow: clip !important;
}
/* Press: сітка карток з more / less */
.np { font-family: -apple-system, "Helvetica Neue", Arial, sans-serif; font-weight: 300; font-size: 1.1rem; line-height: 1.35; color: #000; text-align: left; }
.np a { color: #000 !important; -webkit-text-fill-color: #000; border-bottom: 0 !important; text-decoration: none; }
.np a:hover { opacity: .5; }
.np-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px 8px; align-items: start; }
.np-ph { position: relative; aspect-ratio: 3 / 2; background: #f3f3f3; overflow: hidden; }
.np-sc { display: flex; height: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.np-sc::-webkit-scrollbar { display: none; }
.np-sc img { flex: 0 0 100%; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; scroll-snap-align: start; display: block; }
.np-n { position: absolute; right: 6px; bottom: 5px; color: #fff; font-size: .8em; text-shadow: 0 0 3px rgba(0,0,0,.6); pointer-events: none; }
.np-cap { display: grid; grid-template-columns: 2.7em minmax(0, 1fr) 1.1em; gap: 4px; margin-top: 4px; }
.np-y, .np-m, .np-inf { color: #808080; }
.np-t, .np-m { display: block; }
.np-go { text-align: right; }
.np-more summary { list-style: none; cursor: pointer; color: #b4b4b4; display: inline-block; margin-top: 2px; }
.np-more summary::-webkit-details-marker { display: none; }
.np-more summary::after { content: "more"; }
.np-more summary:hover { color: #000; }
.np-more[open] { position: relative; padding-bottom: 1.8em; }
.np-more[open] summary { position: absolute; left: 0; bottom: 0; }
.np-more[open] summary::after { content: "less"; }
.np-ex { margin-top: 8px; }
.np-ex p { margin: 0; }
.np-ex p + p { margin-top: 1.35em; }
.np-ex p a { text-decoration: underline; text-decoration-color: #c8c8c8; text-underline-offset: 2px; }
.np-inf, .np-lk { margin-top: 8px; }
.np-inf a { color: #808080 !important; -webkit-text-fill-color: #808080; }
.np-lk a { display: block; color: rgba(0, 35, 255, .61) !important; -webkit-text-fill-color: rgba(0, 35, 255, .61); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 700px) {
  .np { font-size: 1.65rem; }
  .np-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
}
/* Press v2: менший шрифт, перегляд фото, фото на всю картку, без гортання в картці */
.np { font-size: 1rem !important; }
.np-sc img { cursor: zoom-in; }
#nflb { position: fixed; inset: 0; background: rgba(255,255,255,.97); z-index: 99999; display: none; align-items: center; justify-content: center; }
#nflb img { max-width: 88vw; max-height: 84vh; object-fit: contain; box-shadow: 0 2px 18px rgba(0,0,0,.08); }
#nflb .nflb-b { position: absolute; font: 300 44px/1 -apple-system, 'Helvetica Neue', Arial, sans-serif; padding: 20px; cursor: pointer; user-select: none; color: #000; }
#nflb .nflb-x { top: 0; right: 8px; }
#nflb .nflb-p { left: 8px; top: 50%; transform: translateY(-50%); }
#nflb .nflb-n { right: 8px; top: 50%; transform: translateY(-50%); }
#nflb .nflb-c { position: absolute; bottom: 22px; left: 16px; right: 16px; text-align: center; font: 300 15px/1.4 -apple-system, 'Helvetica Neue', Arial, sans-serif; color: #666; }
@media (max-width: 700px) { .np { font-size: 1.5rem !important; } #nflb img { max-width: 96vw; } #nflb .nflb-p, #nflb .nflb-n { top: auto; bottom: 6px; transform: none; } }
.np-ph { position: relative !important; height: 0 !important; padding-bottom: 66.6667% !important; aspect-ratio: auto !important; }
.np-sc { position: absolute !important; top: 0; left: 0; right: 0; bottom: 0; height: auto !important; }
.np-sc img { height: 100% !important; min-height: 100% !important; }
.np-sc { overflow: hidden !important; scroll-snap-type: none !important; touch-action: pan-y; overscroll-behavior: auto; }
/* Press: одне ціле фото в картці, решта серії — у лайтбоксі */
.np-sc { display: block !important; overflow: hidden !important; }
.np-sc img { position: absolute !important; top: 0; left: 0; width: 100% !important; height: 100% !important; }
.np-sc img ~ img { display: none !important; }
/* Верхня панель: Prints, Postcards, CV/Bio, Press */
.nfn { display: flex; justify-content: space-between; align-items: baseline; padding-bottom: 12px; border-bottom: 1px solid #000; margin-bottom: 26px; font-family: -apple-system, "Helvetica Neue", Arial, sans-serif; font-weight: 300; font-size: 30px !important; line-height: 1 !important; color: #000; text-align: left; }
.nfn nav { display: flex; gap: 42px; }
.nfn a, .nfn a:visited, .nfn a:active { color: #000 !important; -webkit-text-fill-color: #000 !important; border-bottom: none !important; text-decoration: none !important; white-space: nowrap; font-size: inherit !important; }
.nfn a:hover { color: #808080 !important; -webkit-text-fill-color: #808080 !important; }
.nfn .nfn-on { color: #a0a0a0; -webkit-text-fill-color: #a0a0a0; white-space: nowrap; }
@media (max-width: 700px) { .nfn { font-size: 17px !important; margin-bottom: 18px; } .nfn nav { gap: 16px; } }
/* Однакові поля на всіх сторінках — панель зверху завжди на тому ж місці */
.page.container_width { width: 100% !important; max-width: 100% !important; }
bodycopy.content_padding { padding: 16px !important; }
@media (max-width: 700px) { bodycopy.content_padding { padding: 10px !important; } }
/* Меню: «CV» замість «CV/Bio» на всіх сторінках */
.nfn nav a[href="CV-Bio"] { font-size: 0 !important; }
.nfn nav a[href="CV-Bio"]::after { content: "CV"; font-size: 30px; }
@media (max-width: 700px) { .nfn nav a[href="CV-Bio"]::after { font-size: 17px; } }
/* Проєкти: фото + плівка + текст ліворуч (Landmark та інші) */
.nfl { display: flex; flex-direction: column; height: calc(100vh - 103px); font-family: -apple-system, "Helvetica Neue", Arial, sans-serif; font-weight: 300; font-size: 14.5px; line-height: 1.35; color: #000; text-align: left; }
.nfl a { color: #000 !important; -webkit-text-fill-color: #000 !important; border-bottom: none !important; text-decoration: none !important; }
.nfl .nfl-g { color: #a0a0a0; -webkit-text-fill-color: #a0a0a0; }
.nfl-ln { display: flex; justify-content: space-between; align-items: baseline; font-size: 30px; line-height: 1; }
.nfl-nv { display: flex; gap: 18px; align-items: baseline; font-variant-numeric: tabular-nums; }
.nfl-arr { color: #a0a0a0; cursor: pointer; user-select: none; -webkit-user-select: none; } .nfl-arr:hover { color: #000; }
.nfl-mid { flex: 1; min-height: 0; padding: 16px 0; display: grid; grid-template-columns: 1fr auto 1fr; gap: 0 46px; }
.nfl-t { min-height: 0; overflow-y: auto; display: flex; flex-direction: column; justify-content: space-between; gap: 26px; scrollbar-width: none; }
.nfl-t::-webkit-scrollbar { display: none; }
.nfl-lead { font-size: 17.5px; line-height: 1.35; }
.nfl-lead p { margin: 0; } .nfl-lead p + p, .nfl-more p { margin: 1.35em 0 0; }
.nfl-more summary { list-style: none; cursor: pointer; color: #a0a0a0; display: inline-block; margin-top: 9px; }
.nfl-more summary::-webkit-details-marker { display: none; }
.nfl-more summary::after { content: "more"; } .nfl-more[open] summary::after { content: "less"; }
.nfl-more summary:hover { color: #000; }
.nfl-more[open] { position: relative; padding-bottom: 2.2em; } .nfl-more[open] summary { position: absolute; left: 0; bottom: 0; }
.nfl-side { color: #808080; } .nfl-side p { margin: 0; } .nfl-side p + p { margin-top: 9px; }
.nfl-ph { min-height: 0; display: flex; align-items: center; justify-content: center; }
.nfl-ph img { display: block; height: 100% !important; width: auto !important; max-width: none !important; cursor: e-resize; }
.nfl-film { display: flex; gap: 7px; border-top: 1px solid #000; padding-top: 12px; overflow-x: auto; scrollbar-width: none; }
.nfl-film::-webkit-scrollbar { display: none; }
.nfl-film img { display: block; height: 80px !important; width: auto !important; max-width: none !important; cursor: pointer; opacity: .35; transition: opacity .15s; }
.nfl-film img:hover, .nfl-film img.cur { opacity: 1; }
@media (max-width: 700px) {
  .nfl { height: auto; }
  .nfl-ln { font-size: 17px; } .nfl-nv { gap: 12px; }
  .nfl-mid { display: contents; }
  .nfl-ln { order: 1; } .nfl-ph { order: 2; padding: 12px 0; } .nfl-film { order: 3; } .nfl-t { order: 4; overflow: visible; margin-top: 20px; }
  .nfl-ph img { width: 100% !important; height: auto !important; cursor: default; }
  .nfl-film img { height: 60px !important; }
  .nfl-lead { font-size: 15px; }
}@media (min-width: 701px) { .nfcv [grid-col] { max-height: calc(100vh - 110px) !important; overflow-y: auto !important; align-self: flex-start !important; } }
/* Головна: на комп’ютері одне речення, на телефоні список */
.nf-home { display: flex; flex-direction: column; min-height: calc(100vh - 48px); font-family: -apple-system, "Helvetica Neue", Arial, sans-serif; font-weight: 300; font-size: 14.5px; line-height: 1.15; color: #000; text-align: left; }
.nf-home a, .nf-home a:hover, .nf-home a:active, .nf-home a:visited { color: #000 !important; -webkit-text-fill-color: #000 !important; border-bottom: none !important; text-decoration: none !important; opacity: 1 !important; background: none !important; }
.nf-v4 { --nfb: clamp(34px, 5.6vw, 120px); --nfs: 30px; font-variant-numeric: tabular-nums; }
.nf-v4 .nf-big { margin: 0 !important; padding: 0 !important; font-size: var(--nfb) !important; line-height: 1.1 !important; letter-spacing: -.03em; font-weight: 300; }
.nf-v4 .nf-y { color: #b4b4b4; -webkit-text-fill-color: #b4b4b4; white-space: nowrap; }
.nf-home.nf-v4 a:hover { color: #b4b4b4 !important; -webkit-text-fill-color: #b4b4b4 !important; }
.nf-v4 .nf-foot { display: flex; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 8px !important; border-top: 1px solid #000; font-size: var(--nfs); line-height: 1.25; letter-spacing: 0; }
.nf-v4 .nf-links { display: flex; justify-content: space-between; gap: 0; width: 100%; }
.nf-home.nf-v4 .nf-foot a { color: #000 !important; -webkit-text-fill-color: #000 !important; transition: color .15s, -webkit-text-fill-color .15s; }
.nf-home.nf-v4 .nf-foot a:hover { color: #b4b4b4 !important; -webkit-text-fill-color: #b4b4b4 !important; }
.nf-links a[href="CV-Bio"] { font-size: 0 !important; }
.nf-links a[href="CV-Bio"]::after { content: "CV"; font-size: var(--nfs); }
@media (max-width: 700px) {
  .nf-home.nf-v4 { min-height: calc(100vh - 57px); }
  .nf-v4 { --nfb: min(32px, 8.4vw); --nfs: 19px; }
  .nf-v4 .nf-big { letter-spacing: -.02em !important; line-height: 1.15 !important; }
  .nf-v4 .nf-n { display: block; margin-bottom: .5em; }
  .nf-v4 .nf-d, .nf-v4 .nf-c { display: none; }
  .nf-v4 .nf-s { display: block; white-space: nowrap; }
}
