/*
 * FVS Kristal – editorial dizajn po uzoru na avagyanphoto.com.
 * Crno-belo, serif naslovi (Gilda Display) + sans tekst i UI (Inter Tight), 8px mreža razmaka,
 * tipografska skala i breakpointi kao na referenci.
 */

/* ==========================================================================
   Tokeni
   ========================================================================== */
:root {
	--black: #000;
	--black-900: #2c2c2c;
	--gray: #c8c8c8;
	--gray-light: #dedede;
	--white: #fff;
	--error: #c60000;

	--serif: 'Gilda Display', 'Times New Roman', serif;
	--sans: 'Inter Tight', 'Helvetica Neue', Arial, sans-serif;

	--sp: 8px;
	--ease: cubic-bezier(.25, .46, .45, .94);
	--ease-out: cubic-bezier(.22, .61, .36, 1);
	--tr: .3s;
	--lh-m: 1.2;
	--lh-l: 1.5;

	/* 1536–1919 (podrazumevano) */
	--h1-large: 96px; --h1: 88px; --h2: 80px; --h3: 64px; --h4: 56px; --h5: 48px; --h6: 40px;
	--p1: 32px; --p2: 24px; --p3: 24px; --p4: 20px; --p5: 16px; --p6: 16px;
	--pad: 32px; --gutter: 24px; --section: 120px; --header-h: 80px;
	--header-pad: 24px; --logo: 26px;
}
@media (min-width: 2560px) {
	:root { --h1-large: 160px; --h1: 138px; --h2: 128px; --h3: 104px; --h4: 88px; --h5: 72px; --h6: 64px; --p1: 48px; --p2: 48px; --p3: 40px; --p4: 32px; --p5: 24px; --p6: 20px; --section: 200px; --header-h: 104px; --header-pad: 32px; --logo: 40px; }
}
@media (min-width: 1920px) and (max-width: 2559px) {
	:root { --h1-large: 120px; --h1: 104px; --h2: 96px; --h3: 80px; --h4: 64px; --h5: 56px; --h6: 48px; --p1: 40px; --p2: 32px; --p3: 28px; --p4: 24px; --p5: 20px; --p6: 16px; --section: 160px; --header-h: 96px; --header-pad: 32px; --logo: 32px; }
}
@media (max-width: 1535px) {
	:root { --h1-large: 88px; --h1: 72px; --h2: 64px; --h3: 56px; --h4: 48px; --h5: 40px; --h6: 32px; --p1: 28px; --p2: 20px; --p3: 20px; --p4: 16px; --p5: 16px; --p6: 14px; --pad: 24px; --gutter: 20px; --section: 104px; --header-h: 76px; --logo: 24px; }
}
@media (max-width: 1365px) {
	:root { --section: 96px; --header-h: 60px; --header-pad: 16px; --logo: 22px; }
}
@media (max-width: 1279px) {
	:root { --h1-large: 64px; --h1: 56px; --h2: 48px; --h3: 40px; --h4: 32px; --h5: 32px; --h6: 24px; --p1: 20px; --p2: 18px; --p3: 16px; --p4: 14px; --p5: 14px; --p6: 14px; --pad: 16px; --gutter: 8px; --section: 80px; --header-h: 56px; --logo: 20px; }
}
@media (max-width: 1023px) {
	:root { --h1-large: 56px; --p2: 16px; --section: 72px; --header-h: 53px; --logo: 18px; }
}
@media (max-width: 767px) {
	:root { --h1-large: 48px; --h1: 40px; --h2: 32px; --h3: 32px; --h4: 32px; --h5: 24px; --h6: 16px; --p1: 16px; --p2: 16px; --p3: 16px; --p4: 14px; --p5: 14px; --p6: 14px; --pad: 12px; --gutter: 8px; --section: 64px; --header-h: 45px; --header-pad: 12px; --logo: 18px; }
}

/* ==========================================================================
   Osnova
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scrollbar-width: none; scroll-behavior: smooth; }
html::-webkit-scrollbar { display: none; }
html.fk-no-scroll, html.fk-menu-open, html.fk-preloading { overflow: hidden; }
body {
	min-height: 100vh;
	overflow-x: hidden;
	font-family: var(--sans);
	font-size: var(--p5);
	font-weight: 400;
	line-height: var(--lh-l);
	color: var(--black);
	background: var(--white);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-tap-highlight-color: transparent;
}
img, video, svg, iframe { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; background: none; border: 0; border-radius: 0; }
button { cursor: pointer; }
ul, ol { list-style: none; }
h1, h2, h3, h4, h5, h6 { font-weight: 400; line-height: var(--lh-m); }
:focus-visible { outline: 1px solid currentColor; outline-offset: 3px; }
::selection { background: var(--black); color: var(--white); }

.fk-main { position: relative; display: flex; flex-direction: column; min-height: 100vh; }
.fk-offset-first .fk-main { padding-top: var(--header-h); }
.fk-container { width: 100%; padding-left: var(--pad); padding-right: var(--pad); }
.fk-section { padding-top: calc(var(--section) / 2); padding-bottom: calc(var(--section) / 2); }

.fk-skip { position: fixed; top: 8px; left: 8px; z-index: 1000; padding: 8px 16px; background: var(--black); color: var(--white); transform: translateY(-200%); }
.fk-skip:focus { transform: none; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.fk-placeholder { padding: 40px; border: 1px dashed var(--gray); color: var(--black-900); text-align: center; font-size: 14px; }

/* ==========================================================================
   Tipografija
   ========================================================================== */
.fk-upper { text-transform: uppercase; }
.fk-wordmark { font-family: var(--sans); font-weight: 500; text-transform: uppercase; letter-spacing: .2em; line-height: 1; white-space: nowrap; }
.fk-page-title, .fk-section-title, .fk-intro__title, .fk-about__title, .fk-cta__title, .fk-hero__title, .fk-story__title, .fk-testimonial__quote, .fk-acc__title, .fk-story__next-link, .fk-map__address, .fk-prose h1, .fk-prose h2 {
	font-family: var(--serif);
	font-weight: 400;
	letter-spacing: -.01em;
}
.fk-page-title { font-size: var(--h2); line-height: 1.08; margin-bottom: calc(var(--sp) * 5); }
.fk-section-title { font-size: var(--h3); line-height: 1.08; margin-bottom: calc(var(--sp) * 4); }
.fk-caps-title { font-family: var(--sans); font-size: var(--h6); line-height: var(--lh-m); text-transform: uppercase; letter-spacing: -.01em; }
.fk-label { margin-bottom: calc(var(--sp) * 1.5); font-size: var(--p6); text-transform: uppercase; letter-spacing: .04em; line-height: 1.4; }
.fk-label a { text-decoration: underline; text-underline-offset: 3px; }
.fk-text { font-size: var(--p6); line-height: var(--lh-l); color: var(--black-900); }
.fk-text > * + * { margin-top: 1.1em; }
.fk-text a { text-decoration: underline; text-underline-offset: 3px; }

.fk-underline {
	display: inline-block;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: .22em;
	transition: opacity var(--tr) ease-out;
}
.fk-underline.fk-upper { font-size: var(--p6); letter-spacing: .02em; }
@media (hover: hover) {
	.fk-underline:hover { opacity: .55; }
}

/* Tekst koji se "menja" na hover (izlazi nagore, kopija ulazi odozdo). */
.fk-swap { display: inline-flex; width: fit-content; text-align: left; }
.fk-swap__in { position: relative; display: inline-grid; overflow: hidden; vertical-align: top; padding-top: .2em; margin-top: -.2em; }
.fk-swap__a, .fk-swap__b { grid-area: 1 / 1; transition: transform var(--tr) ease-out; will-change: transform; }
.fk-swap__b { transform: translateY(125%); }
@media (hover: hover) {
	.fk-swap:hover .fk-swap__a { transform: translateY(-125%); }
	.fk-swap:hover .fk-swap__b { transform: translateY(0); }
}

.fk-img img { width: 100%; height: auto; }

/* ==========================================================================
   Preloader (početna, prva poseta u sesiji)
   ========================================================================== */
.fk-preloader {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: calc(var(--sp) * 5) var(--pad);
	background: var(--black);
	color: var(--white);
	pointer-events: none;
	transition: transform .8s ease-in;
}
html:not(.fk-preloading) .fk-preloader { transform: translate3d(0, -100%, 0); }
.fk-preloader__word { display: flex; justify-content: space-between; gap: 1vw; }
.fk-preloader__char, .fk-preloader__space { flex: 1 1 0; }
.fk-preloader__char {
	position: relative;
	display: block;
	overflow: hidden;
	font-family: var(--sans);
	font-weight: 500;
	font-size: min(13vw, 30vh);
	line-height: .82;
	text-align: center;
	text-transform: uppercase;
}
.fk-preloader__char span { display: block; padding-top: .3em; animation: fk-pre-out 1s ease-in-out forwards; animation-delay: calc(.3s + var(--i) * .1s); }
.fk-preloader__char span + span { position: absolute; inset: 0; transform: translateY(110%); animation-name: fk-pre-in; }
.fk-preloader__count { align-self: center; font-size: var(--h6); font-variant-numeric: tabular-nums; }
@keyframes fk-pre-out { to { transform: translateY(-110%); } }
@keyframes fk-pre-in { to { transform: translateY(0); } }
@media (max-width: 767px) {
	.fk-preloader { justify-content: center; gap: 24px; }
	.fk-preloader__word { gap: 4px; }
}

/* ==========================================================================
   Header
   ========================================================================== */
.fk-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 60;
	padding: var(--header-pad) var(--pad);
	color: var(--white);
	mix-blend-mode: difference;
	isolation: isolate;
	transition: transform var(--tr) var(--ease);
	will-change: transform;
}
.fk-header.is-hidden, .fk-menu-open .fk-header { transform: translateY(-100%); }
.fk-header__inner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: calc(var(--sp) * 3); }
.fk-header__toggle { font-size: var(--p5); text-transform: uppercase; line-height: 1.2; }
.fk-header__logo { font-size: var(--logo); }
.fk-header__end { display: flex; justify-content: flex-end; }
.fk-header__ig { font-size: var(--p5); line-height: 1.2; transition: opacity var(--tr); }
.fk-header__ig-icon { display: none; width: 18px; }
@media (hover: hover) {
	.fk-header__ig:hover { opacity: .6; }
}
@media (max-width: 767px) {
	.fk-header__ig-text { display: none; }
	.fk-header__ig-icon { display: block; }
}

/* ==========================================================================
   Meni preko celog ekrana
   ========================================================================== */
.fk-menu { position: fixed; inset: 0; z-index: 100; pointer-events: none; visibility: hidden; }
.fk-menu.is-open { pointer-events: auto; visibility: visible; }
.fk-menu__panel {
	position: absolute;
	inset: 0;
	display: grid;
	grid-template-rows: auto 1fr auto;
	gap: calc(var(--sp) * 3);
	height: 100dvh;
	overflow-y: auto;
	scrollbar-width: none;
	padding: var(--header-pad) var(--pad) calc(var(--sp) * 3);
	background: var(--black);
	color: var(--white);
}
/* Bez GSAP-a (ili uz smanjeno kretanje) panel se samo pojavi. */
.fk-menu:not(.is-gsap) .fk-menu__panel { opacity: 0; transition: opacity .35s var(--ease); }
.fk-menu.is-open:not(.is-gsap) .fk-menu__panel { opacity: 1; }

.fk-menu__top { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: calc(var(--sp) * 3); }
.fk-menu__close { justify-self: start; font-size: var(--p5); text-transform: uppercase; line-height: 1.2; }
.fk-menu__logo { font-size: var(--logo); }
.fk-menu__ig { justify-self: end; font-size: var(--p5); line-height: 1.2; transition: opacity var(--tr); }
.fk-menu__ig-icon { display: none; width: 18px; }

.fk-menu__body { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--gutter); align-items: center; min-height: 0; }
.fk-menu__nav { grid-column: 1 / span 7; display: flex; flex-direction: column; gap: calc(var(--sp) * 6); }
.fk-menu__list { display: flex; flex-direction: column; }
.fk-menu__link { display: block; width: fit-content; transition: opacity .4s var(--ease-out); }
.fk-menu__mask { display: block; overflow: hidden; padding-bottom: .08em; }
.fk-menu__line { display: flex; align-items: flex-start; gap: calc(var(--sp) * 2); transition: transform .5s var(--ease-out); }
.fk-menu__num { padding-top: .9em; font-family: var(--sans); font-size: var(--p6); color: #8c8c8c; font-variant-numeric: tabular-nums; }
.fk-menu__label { font-family: var(--serif); font-size: calc(var(--h1) * 1.05); line-height: 1.04; letter-spacing: -.015em; }
.fk-menu__item.is-current .fk-menu__label { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .1em; }
@media (hover: hover) {
	.fk-menu__list:hover .fk-menu__link { opacity: .28; }
	.fk-menu__list .fk-menu__link:hover { opacity: 1; }
	.fk-menu__link:hover .fk-menu__line { transform: translateX(calc(var(--sp) * 3)); }
	.fk-menu__ig:hover { opacity: .6; }
}

.fk-menu__caption { margin-bottom: calc(var(--sp) * 1.5); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: #8c8c8c; }
.fk-menu__weddings ul { display: flex; flex-wrap: wrap; gap: calc(var(--sp) * 1) calc(var(--sp) * 3); max-width: 760px; font-size: var(--p5); }
.fk-menu__weddings a { position: relative; transition: opacity var(--tr); }
.fk-menu__weddings a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -2px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: 100% 50%; transition: transform .45s var(--ease-out); }
.fk-menu__weddings .is-current a { opacity: .5; }
@media (hover: hover) {
	.fk-menu__weddings a:hover::after { transform: scaleX(1); transform-origin: 0 50%; }
}

.fk-menu__preview { grid-column: 9 / -1; position: relative; justify-self: end; width: 100%; max-width: 440px; height: min(62vh, 620px); overflow: hidden; background: #111; }
.fk-menu__shot { position: absolute; inset: 0; clip-path: inset(100% 0% 0% 0%); }
.fk-menu__shot.is-active { clip-path: inset(0% 0% 0% 0%); }
.fk-menu__shot img { width: 100%; height: 100%; object-fit: cover; }

.fk-menu__bottom { display: flex; justify-content: space-between; align-items: flex-end; gap: calc(var(--sp) * 3); padding-top: calc(var(--sp) * 2); border-top: 1px solid #2c2c2c; font-size: var(--p6); }
.fk-menu__contact { display: flex; flex-wrap: wrap; gap: 4px calc(var(--sp) * 3); }
.fk-menu__social { display: flex; gap: calc(var(--sp) * 3); text-transform: uppercase; }

@media (max-width: 1279px) {
	.fk-menu__label { font-size: var(--h2); }
}
@media (max-width: 1023px) {
	.fk-menu__nav { grid-column: 1 / -1; }
	.fk-menu__preview { display: none; }
}
@media (max-width: 767px) {
	.fk-menu__ig-text { display: none; }
	.fk-menu__ig-icon { display: block; }
	.fk-menu__body { align-items: start; }
	.fk-menu__nav { gap: calc(var(--sp) * 4); padding-top: calc(var(--sp) * 2); }
	.fk-menu__label { font-size: 40px; }
	.fk-menu__num { padding-top: .6em; }
	.fk-menu__weddings ul { display: grid; grid-template-columns: 1fr 1fr; }
	.fk-menu__bottom { flex-direction: column; align-items: flex-start; }
	.fk-menu__contact { flex-direction: column; }
}

/* Harmonika */
.fk-collapse { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .4s ease-out; }
.fk-collapse.is-open { grid-template-rows: 1fr; }
.fk-collapse__inner { overflow: hidden; min-height: 0; }

/* ==========================================================================
   Portfolio mreža (kao početna avagyanphoto.com)
   ========================================================================== */
.fk-grid { padding-top: calc(var(--sp) * 3); padding-bottom: calc(var(--section) / 2); }
.fk-hero + .fk-grid, .fk-grid:first-child { padding-top: calc(var(--sp) * 3); }
.fk-grid__head { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: var(--gutter); margin-bottom: calc(var(--sp) * 5); }
.fk-grid__head .fk-page-title { margin-bottom: 0; }
.fk-grid__intro { max-width: 46ch; justify-self: end; font-size: var(--p6); color: var(--black-900); }
.fk-grid__list { display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(var(--sp) * 4) calc(var(--sp) * 3); }
.fk-grid__card { position: relative; display: block; overflow: hidden; }
.fk-grid__media { display: block; overflow: hidden; isolation: isolate; background: var(--gray-light); }
.fk-grid__media img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; transform: scale(1.05); transition: transform 1.2s var(--ease-out); }
.fk-grid__shade { position: absolute; inset: 0; z-index: 1; pointer-events: none; opacity: 0; background: linear-gradient(0deg, rgba(0, 0, 0, .7) 0%, transparent 50%), rgba(0, 0, 0, .2); transition: opacity .6s var(--ease-out); }
.fk-grid__info {
	position: absolute;
	inset: auto 0 0 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: calc(var(--sp) * 1.5);
	padding: calc(var(--sp) * 5);
	color: var(--white);
	text-align: center;
	pointer-events: none;
}
.fk-grid__mask { display: block; overflow: hidden; }
.fk-grid__title { display: block; font-family: var(--serif); font-size: var(--p2); line-height: 1.25; text-transform: uppercase; letter-spacing: .03em; transform: translateY(105%); transition: transform .6s var(--ease-out); }
.fk-grid__location { font-size: var(--p5); opacity: 0; transition: opacity .6s var(--ease-out); }
@media (hover: hover) {
	.fk-grid__card:hover .fk-grid__media img { transform: scale(1); }
	.fk-grid__card:hover .fk-grid__shade { opacity: 1; }
	.fk-grid__card:hover .fk-grid__title { transform: translateY(0); }
	.fk-grid__card:hover .fk-grid__location { opacity: 1; transition-delay: .1s; }
}
.fk-grid__card:focus-visible { outline-offset: -4px; }
.fk-grid__card:focus-visible .fk-grid__shade { opacity: 1; }
.fk-grid__card:focus-visible .fk-grid__title { transform: none; }
.fk-grid__card:focus-visible .fk-grid__location { opacity: 1; }
/* Na ekranima osetljivim na dodir naziv je uvek vidljiv. */
@media (hover: none) {
	.fk-grid__shade { opacity: .8; background: linear-gradient(0deg, rgba(0, 0, 0, .6) 0%, transparent 40%); }
	.fk-grid__title { transform: none; }
	.fk-grid__info { padding: calc(var(--sp) * 1.5); }
	.fk-grid__location { display: none; }
}

/* Ulazak: kolone "isplivavaju" odozdo različitom brzinom (klasu dodaje JS). */
.fk-reveal { transform: translateY(18vh); opacity: 0; transition: transform 1.6s var(--ease-out), opacity 1s var(--ease-out); }
.fk-grid__list > .fk-reveal:nth-child(3n+2) { transform: translateY(30vh); transition-duration: 2s, 1.2s; }
.fk-grid__list > .fk-reveal:nth-child(3n) { transform: translateY(24vh); transition-duration: 1.8s, 1.1s; }
.fk-grid__list > .fk-reveal.is-in { transform: none; opacity: 1; }
.fk-preloading .fk-reveal { transition: none; }

@media (max-width: 1279px) {
	.fk-grid__list { gap: calc(var(--sp) * 2) var(--sp); }
	.fk-grid__info { padding: calc(var(--sp) * 3); }
}
@media (max-width: 767px) {
	.fk-grid__head { grid-template-columns: 1fr; }
	.fk-grid__intro { justify-self: start; }
	.fk-grid__list { grid-template-columns: repeat(2, 1fr); gap: calc(var(--sp) * 1.5) var(--sp); }
	.fk-grid__title { font-size: 14px; }
}

/* ==========================================================================
   Galerija venčanja – horizontalni niz
   ========================================================================== */
.fk-story { position: relative; }
.fk-strip__sticky { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; }
.fk-strip__track { display: flex; align-items: stretch; gap: calc(var(--sp) * 6); width: max-content; height: 100%; padding: var(--header-h) var(--pad) var(--pad); will-change: transform; }
.fk-story__intro { display: flex; flex-direction: column; justify-content: center; gap: calc(var(--sp) * 2); width: clamp(220px, 16vw, 360px); padding-bottom: 12vh; }
.fk-story__eyebrow { font-family: var(--serif); font-size: var(--p6); text-transform: uppercase; letter-spacing: .06em; }
.fk-story__eyebrow a { transition: opacity var(--tr); }
.fk-story__title { font-size: var(--h5); line-height: 1.08; }
.fk-strip__item { position: relative; display: block; flex: none; height: 100%; overflow: hidden; background: var(--gray-light); }
.fk-strip__item img { width: auto; height: 100%; max-width: none; object-fit: cover; user-select: none; -webkit-user-drag: none; transition: transform 1.2s var(--ease-out); }
a.fk-strip__item { cursor: zoom-in; }
/* GSAP pin: sekciju kači ScrollTrigger (umesto CSS sticky), a sliku pomera paralaks. */
.fk-story.is-gsap .fk-strip__sticky { position: relative; }
.fk-story.is-gsap .fk-strip__item img { transition: none; }
/* Lenis glatki skrol */
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: hidden; }
@media (hover: hover) {
	.fk-story:not(.is-gsap) a.fk-strip__item:hover img { transform: scale(1.025); }
	.fk-story__eyebrow a:hover { opacity: .55; }
}
.fk-story__next { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: calc(var(--sp) * 2); width: clamp(260px, 28vw, 560px); padding-bottom: 12vh; }
.fk-story__next .fk-label { margin: 0; }
.fk-story__next-link { font-size: var(--h3); line-height: 1.08; transition: opacity var(--tr); }
@media (hover: hover) {
	.fk-story__next-link:hover { opacity: .55; }
}
@media (max-width: 767px) {
	.fk-strip__sticky { position: static; height: auto; overflow: visible; }
	.fk-strip__track { flex-direction: column; width: 100%; height: auto; gap: var(--sp); padding-top: calc(var(--header-h) + var(--sp) * 3); transform: none !important; }
	.fk-story__intro, .fk-story__next { width: 100%; padding: 0 0 calc(var(--sp) * 3); }
	.fk-story__next { padding: calc(var(--sp) * 6) 0 calc(var(--sp) * 4); }
	.fk-strip__item { height: auto; }
	.fk-strip__item img { width: 100%; height: auto; }
}

/* Slajder fotografija (desktop i telefon) */
.fk-photos__head { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--gutter); margin-bottom: calc(var(--sp) * 4); }
.fk-photos__head .fk-section-title { margin-bottom: 0; }
.fk-photos__controls { display: flex; align-items: baseline; gap: calc(var(--sp) * 3); font-size: var(--p6); text-transform: uppercase; white-space: nowrap; }
.fk-photos__count { margin-right: calc(var(--sp) * 2); font-variant-numeric: tabular-nums; }
.fk-photos__btn { text-transform: uppercase; transition: opacity var(--tr); }
.fk-photos__btn:disabled { opacity: .3; cursor: default; }
.fk-photos__scroller { overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; scroll-snap-type: x mandatory; scroll-padding-left: var(--pad); cursor: grab; outline-offset: -4px; }
.fk-photos__scroller::-webkit-scrollbar { display: none; }
.fk-photos__scroller.is-dragging { cursor: grabbing; scroll-snap-type: none; }
.fk-photos__scroller.is-dragging .fk-strip__item { pointer-events: none; }
.fk-photos__scroller .fk-strip__track { height: clamp(320px, 66vh, 780px); padding: 0 var(--pad); gap: calc(var(--sp) * 3); }
.fk-photos__scroller .fk-strip__item { scroll-snap-align: start; }
.fk-photos__scroller .fk-strip__item:last-child { scroll-snap-align: end; }
.fk-photos__foot { display: flex; align-items: center; gap: calc(var(--sp) * 4); margin-top: calc(var(--sp) * 3); }
.fk-photos__progress { position: relative; flex: 1; height: 1px; background: var(--gray-light); overflow: hidden; }
.fk-photos__progress span { position: absolute; inset: 0; background: var(--black); transform-origin: 0 50%; transform: scaleX(.04); transition: transform .25s var(--ease-out); }
.fk-photos__foot .fk-underline { white-space: nowrap; }
@media (max-width: 767px) {
	.fk-photos__head { flex-direction: column; align-items: flex-start; }
	.fk-photos__controls { width: 100%; justify-content: flex-end; }
	.fk-photos__count { margin-right: auto; }
	.fk-photos__scroller .fk-strip__track { flex-direction: row; width: max-content; height: auto; gap: var(--sp); padding: 0 var(--pad); }
	.fk-photos__scroller .fk-strip__item { width: 82vw; height: auto; }
	.fk-photos__scroller .fk-strip__item img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
}

/* Lightbox */
.fk-lightbox {
	position: fixed;
	inset: 0;
	z-index: 200;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: calc(var(--header-h) + var(--sp)) calc(var(--sp) * 10) calc(var(--sp) * 4);
	background: var(--white);
	opacity: 0;
	visibility: hidden;
	transition: opacity .4s var(--ease), visibility 0s .4s;
}
.fk-lightbox.is-open { opacity: 1; visibility: visible; transition-delay: 0s; }
.fk-lightbox__bar { position: absolute; top: 0; left: 0; right: 0; display: flex; justify-content: space-between; padding: var(--header-pad) var(--pad); font-size: var(--p5); }
.fk-lightbox__counter { font-variant-numeric: tabular-nums; }
.fk-lightbox__close { font-size: var(--p5); }
.fk-lightbox__img { max-width: 100%; max-height: 100%; object-fit: contain; user-select: none; will-change: transform, opacity; }
.fk-lightbox { touch-action: none; overscroll-behavior: contain; }
.fk-lightbox__hint { position: absolute; left: 50%; bottom: calc(var(--sp) * 2); transform: translateX(-50%); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--black-900); transition: opacity .6s; }
.fk-lightbox__hint.is-used { opacity: 0; }
.fk-lightbox__btn { position: absolute; top: 50%; width: 48px; height: 48px; display: grid; place-items: center; transform: translateY(-50%); transition: opacity var(--tr); }
.fk-lightbox__btn svg { width: 14px; height: 25px; }
.fk-lightbox__btn--prev { left: var(--pad); }
.fk-lightbox__btn--next { right: var(--pad); }
@media (hover: hover) {
	.fk-lightbox__btn:hover, .fk-lightbox__close:hover { opacity: .5; }
}
@media (max-width: 767px) {
	.fk-lightbox { padding: calc(var(--header-h) + var(--sp)) 0 calc(var(--sp) * 8); }
	.fk-lightbox__btn { top: auto; bottom: 8px; transform: none; }
}

/* ==========================================================================
   Hero
   ========================================================================== */
.fk-hero { position: relative; height: 100vh; height: 100svh; min-height: 520px; overflow: hidden; color: var(--white); background: var(--black); }
.fk-hero__media { position: absolute; inset: 0; }
.fk-hero__media video, .fk-hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.fk-hero-video .fk-hero__media::after { z-index: 1; }
.fk-hero-video .fk-hero__media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0, 0, 0, .5) 0%, transparent 45%); }
.fk-hero__inner { position: absolute; inset: auto 0 0; z-index: 1; display: flex; justify-content: space-between; align-items: flex-end; gap: calc(var(--sp) * 4); padding-bottom: calc(var(--sp) * 5); }
.fk-hero__start { display: flex; flex-direction: column; }
.fk-hero__title { font-size: var(--h1-large); line-height: .98; }
.fk-hero__end { max-width: 380px; display: flex; flex-direction: column; gap: calc(var(--sp) * 2); }
.fk-hero__text { font-size: var(--p5); }
.fk-hero__links { display: flex; gap: calc(var(--sp) * 3); }
.fk-hero--image { height: 85vh; height: 85svh; }
/* Ulazak naslova posle preloadera (klasu .is-reveal-ready dodaje JS). */
.is-reveal-ready [data-fk-reveal] { opacity: 0; transform: translateY(40px); transition: opacity 1s var(--ease-out), transform 1.2s var(--ease-out); }
.fk-loaded .is-reveal-ready [data-fk-reveal].is-visible { opacity: 1; transform: none; transition-delay: .3s; }
.fk-loaded .is-reveal-ready .fk-hero__end[data-fk-reveal].is-visible { transition-delay: .5s; }
@media (max-width: 767px) {
	.fk-hero__inner { flex-direction: column; align-items: flex-start; }
}

/* ==========================================================================
   Sadržajni blokovi
   ========================================================================== */

/* Uvod */
.fk-intro__inner { display: flex; flex-direction: column; }
.fk-intro__title { max-width: 16em; font-size: var(--h2); line-height: 1.08; }
.fk-intro__text { max-width: 44ch; margin-top: calc(var(--sp) * 3); margin-left: calc(50% + var(--gutter) / 2); }
@media (max-width: 767px) {
	.fk-intro__text { margin-left: 0; }
}

/* O nama */
.fk-about__inner { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--gutter); align-items: center; }
.fk-about__media { grid-column: 1 / span 6; position: relative; }
.fk-about__media--duo { padding-bottom: 14%; }
.fk-about__main { width: 100%; }
.fk-about__media--duo .fk-about__main { width: 80%; }
.fk-about__main img { aspect-ratio: 4 / 5; object-fit: cover; }
.fk-about__second { position: absolute; right: 0; bottom: 0; width: 38%; z-index: 1; }
.fk-about__second img { aspect-ratio: 3 / 4; object-fit: cover; }
.fk-about__content { grid-column: 8 / -1; display: flex; flex-direction: column; }
.fk-about__inner > .fk-about__content:first-child { grid-column: 1 / -1; }
.fk-about__title { font-size: var(--h2); line-height: 1.05; margin-bottom: calc(var(--sp) * 4); }
.fk-about__text { max-width: 440px; font-size: var(--p5); }
.fk-pillars { margin-top: calc(var(--sp) * 5); border-top: 1px solid var(--black); }
.fk-pillars__item { display: grid; grid-template-columns: 3ch minmax(0, 1fr) minmax(0, 1.4fr); align-items: baseline; gap: var(--gutter); padding: calc(var(--sp) * 2.5) 0; border-bottom: 1px solid var(--gray); }
.fk-pillars__num { font-family: var(--serif); font-size: var(--p6); color: var(--black-900); }
.fk-pillars__title { font-family: var(--serif); font-size: var(--p2); line-height: 1.2; }
.fk-pillars__text { font-size: var(--p6); color: var(--black-900); }
.fk-about__link { margin-top: calc(var(--sp) * 4); }
.fk-mask { overflow: hidden; }
/* SplitText maska: prostor za silazne crte (j, g, ž) da ih maska ne odseče. */
.fk-line-mask { padding-bottom: .14em; margin-bottom: -.14em; }
@media (max-width: 1023px) {
	.fk-about__media { grid-column: 1 / span 6; }
	.fk-about__content { grid-column: 7 / -1; }
	.fk-pillars__item { grid-template-columns: 3ch 1fr; }
	.fk-pillars__text { grid-column: 2; }
}
@media (max-width: 767px) {
	.fk-about__media, .fk-about__content { grid-column: 1 / -1; }
	.fk-about__content { margin-top: calc(var(--sp) * 4); }
}

/* Traka sa tekstom */
.fk-marquee { overflow: hidden; padding: calc(var(--section) / 2) 0; }
.fk-marquee__track { display: flex; width: max-content; will-change: transform; }
.fk-marquee__row { display: flex; align-items: center; flex: none; }
.fk-marquee__word { flex: none; padding: 0 .35em; font-family: var(--serif); font-size: calc(var(--h1-large) * 1.35); line-height: 1.1; white-space: nowrap; }
.fk-marquee__img { flex: none; width: calc(var(--h1-large) * 0.95); margin: 0 .3em; overflow: hidden; }
.fk-marquee__img img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.fk-marquee__dot { flex: none; width: .25em; height: .25em; margin: 0 .4em; border-radius: 50%; background: currentColor; font-size: var(--h1-large); }

/* Tim: portreti u dve kolone, druga spuštena */
.fk-team__head { margin-bottom: calc(var(--sp) * 8); }
.fk-team__title { font-family: var(--serif); font-size: var(--h1); line-height: 1.02; letter-spacing: -.015em; }
.fk-team__grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: calc(var(--sp) * 8) var(--gutter); align-items: start; }
.fk-member { grid-column: 1 / span 5; }
.fk-member:nth-child(2n) { grid-column: 7 / -1; margin-top: calc(var(--section) * 1.6); }
.fk-member:nth-child(2n+3) { grid-column: 2 / span 5; }
.fk-member__img img { aspect-ratio: 4 / 5; object-fit: cover; }
/* Samo jedna osoba: slika levo, ime i tekst desno */
.fk-member:only-child { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--gutter); align-items: end; }
.fk-member:only-child .fk-member__img { grid-column: 1 / span 6; grid-row: 1 / span 2; }
.fk-member:only-child .fk-member__meta { grid-column: 8 / -1; align-self: end; margin-top: 0; }
.fk-member:only-child .fk-member__text { grid-column: 8 / -1; align-self: start; }
@media (max-width: 767px) {
	.fk-member:only-child { display: block; }
}
.fk-member__meta { display: grid; grid-template-columns: auto 1fr auto; align-items: baseline; gap: calc(var(--sp) * 2); margin-top: calc(var(--sp) * 3); padding-bottom: calc(var(--sp) * 2); border-bottom: 1px solid var(--black); }
.fk-member__num { font-family: var(--serif); font-size: var(--p6); color: var(--black-900); }
.fk-member__name { font-family: var(--serif); font-size: var(--h3); line-height: 1; }
.fk-member__role { font-size: var(--p6); text-transform: uppercase; letter-spacing: .06em; color: var(--black-900); }
.fk-member__text { max-width: 48ch; margin-top: calc(var(--sp) * 2.5); font-size: var(--p5); }
@media (max-width: 767px) {
	.fk-member, .fk-member:nth-child(2n), .fk-member:nth-child(2n+3) { grid-column: 1 / -1; margin-top: 0; }
	.fk-team__head { margin-bottom: calc(var(--sp) * 4); }
}

/* Mi verujemo: levo zakačena fotografija, desno uverenja */
.fk-beliefs__inner { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--gutter); align-items: start; }
.fk-beliefs__aside { grid-column: 1 / span 6; align-self: stretch; }
.fk-beliefs__sticky { position: sticky; top: calc(var(--header-h) + var(--sp) * 2); }
.fk-beliefs__top { display: flex; justify-content: space-between; align-items: baseline; padding-bottom: calc(var(--sp) * 1.5); margin-bottom: calc(var(--sp) * 2); border-bottom: 1px solid var(--black); }
.fk-beliefs__label { margin: 0; font-weight: 400; }
.fk-beliefs__count { font-family: var(--serif); font-size: var(--p4); font-variant-numeric: tabular-nums; }
.fk-beliefs__stack { position: relative; width: 100%; height: calc(100svh - var(--header-h) - var(--sp) * 12); max-height: 900px; overflow: hidden; background: var(--gray-light); }
.fk-beliefs__img { position: absolute; inset: 0; clip-path: inset(100% 0% 0% 0%); }
.fk-beliefs__img.is-active { clip-path: inset(0% 0% 0% 0%); }
.fk-beliefs__img img { width: 100%; height: 100%; object-fit: cover; }
.fk-beliefs__list { grid-column: 8 / -1; }
.fk-belief { display: flex; flex-direction: column; justify-content: center; min-height: 85vh; opacity: .18; transition: opacity .7s var(--ease-out); }
.fk-belief.is-active { opacity: 1; }
.fk-belief__img { display: none; }
.fk-belief__num { font-family: var(--serif); font-size: var(--p4); margin-bottom: calc(var(--sp) * 2); }
.fk-belief__title { font-family: var(--serif); font-size: var(--h4); line-height: 1.08; letter-spacing: -.01em; margin-bottom: calc(var(--sp) * 3); }
.fk-belief__text { max-width: 52ch; font-size: var(--p5); }
@media (max-width: 767px) {
	.fk-beliefs__aside { display: none; }
	.fk-beliefs__list { grid-column: 1 / -1; display: flex; flex-direction: column; gap: calc(var(--sp) * 8); }
	.fk-belief { min-height: 0; opacity: 1; }
	.fk-belief__img { display: block; margin-bottom: calc(var(--sp) * 3); }
	.fk-belief__img img { aspect-ratio: 4 / 5; object-fit: cover; }
}

/* Instagram / poziv – centriran naslov između dve fotografije */
.fk-insta__grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--gutter); align-items: center; }
.fk-insta__large { grid-column: 1 / span 4; }
.fk-insta__large img { aspect-ratio: 3 / 4; object-fit: cover; }
.fk-insta__content { grid-column: 5 / span 5; display: flex; flex-direction: column; align-items: center; text-align: center; }
.fk-insta__title { margin: calc(var(--sp) * 1) 0 calc(var(--sp) * 3); font-family: var(--serif); font-size: var(--h2); line-height: 1.05; letter-spacing: -.01em; }
.fk-insta__text { max-width: 36ch; margin-bottom: calc(var(--sp) * 3); }
.fk-insta__small { grid-column: 10 / -1; align-self: end; width: 80%; justify-self: end; }
.fk-insta__small img { aspect-ratio: 3 / 4; object-fit: cover; }
@media (max-width: 767px) {
	.fk-insta__large { grid-column: 1 / span 7; }
	.fk-insta__small { grid-column: 8 / -1; width: 100%; }
	.fk-insta__content { grid-column: 1 / -1; grid-row: 2; margin-top: calc(var(--sp) * 4); }
}

/* Usluge – levo "zakačeno", desno stavke */
.fk-services__inner { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--gutter); align-items: start; }
.fk-services__aside { grid-column: 1 / span 5; align-self: stretch; }
.fk-services__sticky { position: sticky; top: calc(var(--header-h) + var(--sp) * 3); }
.fk-services__media { margin-top: calc(var(--sp) * 2); max-width: 420px; }
.fk-services__media img { aspect-ratio: 4 / 5; object-fit: cover; max-height: 58vh; }
.fk-services__list { grid-column: 7 / -1; border-top: 1px solid var(--black); }
.fk-services__item { display: grid; grid-template-columns: 4ch 1fr; gap: var(--gutter); padding: calc(var(--sp) * 6) 0; border-bottom: 1px solid var(--black); }
.fk-services__num { font-family: var(--serif); font-size: var(--p4); line-height: 1.6; }
.fk-services__title { font-family: var(--serif); font-size: var(--h4); line-height: 1.08; margin-bottom: calc(var(--sp) * 2); }
.fk-services__text { max-width: 520px; font-size: var(--p5); color: var(--black-900); }
.fk-services__text > * + * { margin-top: 1em; }
@media (min-width: 768px) {
	.fk-services__item { min-height: 42vh; align-content: center; }
}
@media (max-width: 767px) {
	.fk-services__aside, .fk-services__list { grid-column: 1 / -1; }
	.fk-services__sticky { position: static; }
	.fk-services__list { margin-top: calc(var(--sp) * 4); }
	.fk-services__item { padding: calc(var(--sp) * 4) 0; }
}

/* Utisci */
.fk-quotes__head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--gutter); padding-bottom: calc(var(--sp) * 2); margin-bottom: calc(var(--sp) * 5); border-bottom: 1px solid var(--black); }
.fk-quotes__label { margin: 0; font-weight: 400; }
.fk-quotes__nav { display: flex; align-items: baseline; gap: calc(var(--sp) * 3); font-size: var(--p6); text-transform: uppercase; }
.fk-quotes__count { font-variant-numeric: tabular-nums; margin-right: calc(var(--sp) * 2); }
.fk-quotes__btn { text-transform: uppercase; }
.fk-quotes__stage { display: grid; }
.fk-quote { grid-area: 1 / 1; display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--gutter); align-items: start; visibility: hidden; }
.fk-quote.is-active { visibility: visible; }
.fk-quote__main { grid-column: 1 / span 5; overflow: hidden; }
.fk-quote__main img { aspect-ratio: 4 / 5; object-fit: cover; }
.fk-quote__body { grid-column: 7 / -1; display: grid; grid-template-columns: 1fr auto; gap: calc(var(--sp) * 3) var(--gutter); align-content: start; }
.fk-quote__mark { grid-column: 1 / -1; font-family: var(--serif); font-size: calc(var(--h1-large) * 1.6); line-height: .6; height: .45em; }
.fk-quote__text { grid-column: 1 / -1; font-family: var(--serif); font-size: var(--h5); line-height: 1.18; letter-spacing: -.01em; }
.fk-quote__name { align-self: end; font-size: var(--p6); text-transform: uppercase; letter-spacing: .06em; }
.fk-quote__side { width: clamp(120px, 14vw, 240px); overflow: hidden; margin-top: calc(var(--sp) * 4); }
.fk-quote__side img { aspect-ratio: 3 / 4; object-fit: cover; }
.fk-quotes__progress { position: relative; height: 1px; margin-top: calc(var(--sp) * 5); background: var(--gray-light); overflow: hidden; }
.fk-quotes__progress span { position: absolute; inset: 0; background: var(--black); transform: scaleX(0); transform-origin: 0 50%; }
@media (max-width: 767px) {
	.fk-quotes__head { flex-direction: column; gap: var(--sp); }
	.fk-quote__main, .fk-quote__body { grid-column: 1 / -1; }
	.fk-quote__body { margin-top: calc(var(--sp) * 3); }
	.fk-quote__side { width: 34vw; }
}

/* Kontakt */
.fk-contact { padding-top: calc(var(--sp) * 3); padding-bottom: calc(var(--section) / 2); }
.fk-contact__inner { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--gutter); align-items: start; }
.fk-contact__aside { grid-column: 1 / span 4; display: flex; flex-direction: column; }
.fk-contact__title { max-width: 7em; margin-bottom: calc(var(--sp) * 3); }
.fk-contact__intro { max-width: 360px; margin-bottom: calc(var(--sp) * 3); }
.fk-contact__list { display: flex; flex-direction: column; gap: 4px; font-size: var(--p5); }
.fk-contact__address { margin-top: var(--sp); font-size: var(--p6); color: var(--black-900); }
.fk-contact__photo { width: 60%; margin-top: calc(var(--sp) * 5); }
.fk-contact__form { grid-column: 6 / -1; }
@media (max-width: 1023px) {
	.fk-contact__aside, .fk-contact__form { grid-column: 1 / -1; }
	.fk-contact__form { margin-top: calc(var(--sp) * 4); }
	.fk-contact__photo { display: none; }
}

/* Forma (Contact Form 7) – red: oznaka levo, polje desno, linija ispod */
.fk-form__fields { display: flex; flex-direction: column; }
.fk-form__field {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: baseline;
	gap: var(--gutter);
	padding: calc(var(--sp) * 4) 0 calc(var(--sp) * 1.5);
	border-bottom: 1px solid var(--black);
}
.fk-form__label { font-family: var(--serif); font-size: var(--p4); text-transform: uppercase; letter-spacing: .03em; line-height: 1.3; }
.fk-form__label::after { content: ':'; }
.fk-form .wpcf7-form-control-wrap { display: block; }
.fk-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), .fk-form textarea, .fk-form select {
	width: 100%;
	padding: 0;
	font-family: var(--serif);
	font-size: var(--p4);
	line-height: 1.3;
	color: var(--black);
	background: transparent;
	outline: none;
	appearance: none;
	-webkit-appearance: none;
}
.fk-form textarea { display: block; min-height: 6.5em; resize: vertical; }
.fk-form input[type="date"] { min-height: 1.3em; }
.fk-form input[type="date"]::-webkit-calendar-picker-indicator { opacity: .6; cursor: pointer; }
.fk-form ::placeholder { color: var(--gray); opacity: 1; }
.fk-form__field:focus-within { box-shadow: 0 1px 0 var(--black); }
.fk-form__footer { display: flex; justify-content: flex-end; align-items: center; gap: var(--gutter); padding-top: calc(var(--sp) * 4); }
.fk-form .wpcf7-submit, .fk-form [type="submit"] {
	padding: 0;
	font-family: var(--sans);
	font-size: var(--p5);
	text-transform: uppercase;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: .22em;
	cursor: pointer;
	transition: opacity var(--tr);
}
.fk-form .wpcf7-submit:hover { opacity: .55; }
.fk-form .wpcf7-spinner { margin: 0; background: var(--black); }
.fk-form .wpcf7-not-valid-tip { display: block; margin-top: 6px; font-family: var(--sans); font-size: 12px; color: var(--error); }
.fk-form .wpcf7-response-output { margin: calc(var(--sp) * 3) 0 0 !important; padding: 0 !important; border: 0 !important; font-size: var(--p6); }
.fk-form .wpcf7 form.invalid .wpcf7-response-output, .fk-form .wpcf7 form.failed .wpcf7-response-output { color: var(--error); }
.fk-form__note { max-width: 560px; margin-top: calc(var(--sp) * 5); margin-left: auto; font-size: var(--p6); color: var(--black-900); }
@media (max-width: 767px) {
	.fk-form__field { grid-template-columns: 1fr; gap: var(--sp); padding-top: calc(var(--sp) * 3); }
}

/* Kontakt podaci */
.fk-cinfo__inner { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: calc(var(--sp) * 4) var(--gutter); }
.fk-cinfo__col { display: flex; flex-direction: column; gap: var(--sp); }
.fk-cinfo__icon img { width: 32px; height: 32px; object-fit: contain; }
.fk-cinfo__list { display: flex; flex-direction: column; gap: 4px; font-size: var(--p5); }
.fk-cinfo__list a { text-decoration: underline; text-underline-offset: .22em; }

/* Mapa */
.fk-map__inner { position: relative; }
.fk-map__frame { height: var(--fk-map-h, 560px); background: var(--gray-light); }
.fk-map__frame iframe { width: 100%; height: 100%; border: 0; }
.fk-map--gray .fk-map__frame iframe { filter: grayscale(1) contrast(1.05); }
.fk-map__overlay { position: absolute; top: calc(var(--sp) * 4); left: 0; right: 0; pointer-events: none; }
.fk-map__card { display: inline-flex; flex-direction: column; align-items: flex-start; gap: calc(var(--sp) * 1.5); max-width: 340px; padding: calc(var(--sp) * 3); background: var(--white); pointer-events: auto; }
.fk-map__label { font-size: var(--p6); text-transform: uppercase; }
.fk-map__address { font-size: var(--p2); line-height: 1.25; }
@media (max-width: 767px) {
	.fk-map__frame { height: var(--fk-map-h-m, 450px); }
	.fk-map__overlay { position: static; }
	.fk-map__card { display: flex; max-width: none; padding: calc(var(--sp) * 3) var(--pad); }
}

/* Tekst stranice (politika privatnosti, članci) */
.fk-prose { width: 100%; max-width: calc(760px + var(--pad) * 2); margin: 0 auto; padding: calc(var(--sp) * 4) var(--pad) calc(var(--section) / 2); font-size: var(--p5); line-height: 1.75; color: var(--black-900); }
.fk-prose > * + * { margin-top: 1.2em; }
.fk-prose h1, .fk-prose__title { font-family: var(--serif); font-size: var(--h3); line-height: 1.08; color: var(--black); margin-bottom: .6em; }
.fk-prose h2 { font-size: var(--h6); line-height: 1.15; color: var(--black); margin-top: 1.6em; }
.fk-prose h3, .fk-prose h4 { font-size: var(--p6); font-weight: 500; text-transform: uppercase; letter-spacing: .05em; color: var(--black); margin-top: 2em; }
.fk-prose a { color: var(--black); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.fk-prose ul, .fk-prose ol { padding-left: 0; }
.fk-prose li { position: relative; padding-left: 1.6em; }
.fk-prose li + li { margin-top: .35em; }
.fk-prose ul > li::before { content: ''; position: absolute; left: 0; top: .85em; width: .8em; height: 1px; background: currentColor; }
.fk-prose ol { counter-reset: fk-li; }
.fk-prose ol > li { counter-increment: fk-li; }
.fk-prose ol > li::before { content: counter(fk-li) '.'; position: absolute; left: 0; }
.fk-prose img { margin: 2em 0; }
.fk-prose strong { color: var(--black); font-weight: 500; }
.fk-entry + .fk-entry { margin-top: 3em; }
.fk-entry__title { font-family: var(--serif); font-size: var(--h6); }

/* Dokument sa sadržajem (npr. politika privatnosti): levo "zakačen" sadržaj, desno numerisana poglavlja */
.fk-doc { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--gutter); align-items: start; padding-bottom: calc(var(--section) / 2); border-top: 1px solid var(--black); padding-top: calc(var(--sp) * 5); }
.fk-doc__toc { grid-column: 1 / span 4; position: sticky; top: calc(var(--header-h) + var(--sp) * 3); }
.fk-doc__toc ol { display: flex; flex-direction: column; gap: calc(var(--sp) * 1.25); }
.fk-doc__toc a { display: grid; grid-template-columns: 3ch 1fr; gap: var(--sp); font-family: var(--serif); font-size: var(--p4); line-height: 1.3; color: var(--black-900); transition: opacity var(--tr), color var(--tr); }
.fk-doc__toc a span { font-size: var(--p6); color: var(--black-900); }
.fk-doc__toc a.is-current { color: var(--black); text-decoration: underline; text-underline-offset: .22em; text-decoration-thickness: 1px; }
@media (hover: hover) {
	.fk-doc__toc a:hover { opacity: .55; }
}
.fk-prose--doc { grid-column: 6 / -1; max-width: 760px; margin: 0; padding: 0; counter-reset: fk-h2; }
.fk-prose--doc > :first-child { margin-top: 0; }
.fk-prose--doc > p:first-child { font-family: var(--serif); font-size: var(--p2); line-height: 1.45; color: var(--black); }
.fk-prose--doc h2 { counter-increment: fk-h2; position: relative; margin-top: calc(var(--sp) * 8); padding-top: calc(var(--sp) * 3); border-top: 1px solid var(--gray); scroll-margin-top: calc(var(--header-h) + var(--sp) * 3); }
.fk-prose--doc h2::before { content: counter(fk-h2, decimal-leading-zero); display: block; margin-bottom: calc(var(--sp) * 1.5); font-family: var(--serif); font-size: var(--p6); color: var(--black-900); }
@media (max-width: 1023px) {
	.fk-doc__toc { display: none; }
	.fk-prose--doc { grid-column: 1 / -1; }
}

/* 404 */
.fk-404 { display: flex; flex-direction: column; gap: calc(var(--sp) * 2); padding-top: calc(var(--sp) * 4); padding-bottom: var(--section); }
.fk-404 .fk-page-title { margin-bottom: 0; }

/* ==========================================================================
   Poziv na akciju + footer
   ========================================================================== */
.fk-cta { padding: var(--section) 0 calc(var(--section) * 1.25); overflow: hidden; }
.fk-cta__inner { display: flex; flex-direction: column; align-items: center; gap: calc(var(--sp) * 4); text-align: center; }
.fk-cta__title { max-width: 11em; font-size: calc(var(--h1-large) * 1.25); line-height: 1.02; }
.fk-cta__link { font-size: var(--p5) !important; }

.fk-footer { padding: calc(var(--sp) * 8) 0 calc(var(--sp) * 3); background: var(--black); color: var(--white); }
.fk-footer__grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: calc(var(--sp) * 4) var(--gutter); }
.fk-footer__brand { grid-column: 1 / span 5; }
.fk-footer__col { grid-column: span 2; }
.fk-footer__col:nth-child(2) { grid-column: 7 / span 2; }
.fk-footer__label { margin-bottom: calc(var(--sp) * 2); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: #8c8c8c; }
.fk-footer__statement { max-width: 15em; font-family: var(--serif); font-size: var(--h6); line-height: 1.2; }
.fk-footer__nav { display: flex; flex-direction: column; gap: calc(var(--sp) * 1); font-family: var(--serif); font-size: var(--p4); text-transform: uppercase; letter-spacing: .03em; }
.fk-footer__list { display: flex; flex-direction: column; gap: calc(var(--sp) * 1); font-size: var(--p6); }
.fk-footer__link { transition: opacity var(--tr); }
.fk-footer__muted { color: #8c8c8c; }
@media (hover: hover) {
	.fk-footer__link:hover { opacity: .55; }
}
.fk-footer__logo { display: block; margin-top: calc(var(--sp) * 12); line-height: .8; }
.fk-footer__logo .fk-wordmark > * { will-change: transform; padding-top: .25em; margin-top: -.25em; } /* maske slova: prostor za akcente */
/* Logo u headeru: slova se preokrenu jedno za drugim (klase dodaje fx.js) */
.fk-roll { display: inline-grid; overflow: hidden; vertical-align: top; padding-top: .3em; margin-top: -.3em; } /* prostor za akcente (Ć, Š…) */
.fk-roll > span { grid-area: 1 / 1; align-self: end; transition: transform .45s cubic-bezier(.65, 0, .35, 1); transition-delay: calc(var(--i) * 22ms); }
.fk-roll > span + span { transform: translateY(140%); }
@media (hover: hover) {
	a:hover > .fk-roll > span:first-child { transform: translateY(-140%); }
	a:hover > .fk-roll > span + span { transform: translateY(0); }
}
.fk-footer__logo .fk-wordmark { display: inline-block; font-size: 11vw; letter-spacing: .02em; line-height: .8; padding-top: .04em; }
.fk-footer__bottom { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: calc(var(--sp) * 2); margin-top: calc(var(--sp) * 3); padding-top: calc(var(--sp) * 2); border-top: 1px solid #2c2c2c; font-size: 12px; color: #8c8c8c; }
.fk-footer__credit { text-align: center; }
.fk-footer__credit a { color: var(--white); text-decoration: underline; text-underline-offset: .22em; }
.fk-footer__credit b { font-weight: 400; }
.fk-footer__legal { display: flex; justify-content: flex-end; gap: calc(var(--sp) * 3.5); }
.fk-footer__legal a { color: var(--white); }
@media (max-width: 1023px) {
	.fk-footer__brand { grid-column: 1 / -1; }
	.fk-footer__col, .fk-footer__col:nth-child(2) { grid-column: span 4; }
}
@media (max-width: 767px) {
	.fk-footer { padding-top: calc(var(--sp) * 6); }
	.fk-footer__col, .fk-footer__col:nth-child(2) { grid-column: span 6; }
	.fk-footer__col:last-child { grid-column: 1 / -1; }
	.fk-footer__logo { margin-top: calc(var(--sp) * 6); }
	.fk-footer__bottom { grid-template-columns: 1fr; text-align: left; }
	.fk-footer__credit { text-align: left; }
	.fk-footer__legal { justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
	.fk-reveal, .is-reveal-ready [data-fk-reveal] { opacity: 1 !important; transform: none !important; }
}
