/* Ultraspeed theme styles */

:root {
	--us-navy: #0B1B33;
	--us-navy-soft: #16264A;
	--us-amber: #DEB049;
	--us-amber-hover: #CB9D33;
	--us-bg: #FFFFFF;
	--us-muted: #F3F5F8;
	--us-border: #E5E8EE;
	--us-text: #101828;
	--us-text-muted: #667085;
	--us-radius: 14px;
	--us-radius-lg: 22px;
}

* { box-sizing: border-box; }

body {
	margin: 0;
	font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
	color: var(--us-text);
	background: var(--us-bg);
	-webkit-font-smoothing: antialiased;
	line-height: 1.5;
}

img { max-width: 100%; display: block; }
a { text-decoration: none; color: inherit; }
h1, h2, h3, h4 { font-weight: 800; letter-spacing: -0.02em; margin: 0; }
p { margin: 0; }
ul { margin: 0; padding: 0; list-style: none; }
button { font-family: inherit; cursor: pointer; }

.us-container {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 1.25rem;
}
@media (min-width: 1024px) { .us-container { padding: 0 2rem; } }

.us-section { padding: 5rem 0; }
.us-section--tight { padding: 3rem 0; }
.us-section--navy { background: var(--us-navy); color: rgba(255,255,255,.92); }
.us-section--muted { background: var(--us-muted); }
.us-section--bordered { border-top: 1px solid var(--us-border); border-bottom: 1px solid var(--us-border); }
@media (max-width: 640px) { .us-section { padding: 3rem 0; } }

.us-eyebrow {
	font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .2em;
	color: var(--us-amber); margin-bottom: .75rem;
}
.us-eyebrow::before { content: '// '; }
.us-eyebrow--onnavy { color: var(--us-amber); }
.us-page-hero .us-eyebrow {
	display: inline-flex; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.05);
	border-radius: 999px; padding: .35rem .9rem; margin-bottom: 1rem; font-size: .7rem;
}
.us-page-hero .us-eyebrow::before { content: none; }

.us-h2 { font-size: 2rem; color: var(--us-navy); line-height: 1.1; }
.us-h2--onnavy { color: #fff; }
.us-h3 { font-size: 1.5rem; color: var(--us-navy); }
@media (min-width: 768px) { .us-h2 { font-size: 2.75rem; } }

.us-lead { margin-top: 1rem; color: var(--us-text-muted); font-size: 1.05rem; max-width: 40rem; }
.us-muted-text { color: var(--us-text-muted); font-size: .9rem; }

.us-section-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1.5rem; margin-bottom: 3rem; }
.us-section-head--centar { text-align: center; justify-content: center; width: 100%; }

.us-link { display: inline-flex; align-items: center; gap: .4rem; font-weight: 600; color: var(--us-navy); margin-top: 1rem; }
.us-link:hover { color: var(--us-amber); }
.us-icon { width: 1em; height: 1em; }
.us-link .us-icon { width: 1rem; height: 1rem; }

/* Buttons */
.us-btn {
	display: inline-flex; align-items: center; gap: .5rem;
	padding: .9rem 1.6rem; border-radius: 999px; font-weight: 600; font-size: .9rem;
	border: none; transition: background-color .15s ease, color .15s ease;
}
.us-btn .us-icon { width: 1rem; height: 1rem; }
.us-btn--sm { padding: .65rem 1.2rem; font-size: .85rem; }
.us-btn--amber { background: var(--us-amber); color: #201205; }
.us-btn--amber:hover { background: var(--us-amber-hover); }
.us-btn--navy { background: var(--us-navy); color: #fff; }
.us-btn--navy:hover { background: var(--us-navy-soft); }
.us-btn--ghost { background: rgba(255,255,255,.06); color: #fff; border: 1px solid rgba(255,255,255,.25); }
.us-btn--ghost:hover { background: rgba(255,255,255,.12); }

/* Grid helpers */
.us-grid { display: grid; gap: 1.5rem; }
.us-grid--2 { grid-template-columns: repeat(1, 1fr); }
.us-grid--3 { grid-template-columns: repeat(1, 1fr); }
.us-grid--4 { grid-template-columns: repeat(2, 1fr); }
@media (min-width: 640px) {
	.us-grid--2 { grid-template-columns: repeat(2, 1fr); }
	.us-grid--3 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
	.us-grid--3 { grid-template-columns: repeat(3, 1fr); }
	.us-grid--4 { grid-template-columns: repeat(4, 1fr); }
}

.us-card { background: #fff; border: 1px solid var(--us-border); border-radius: var(--us-radius-lg); }

.us-icon-box {
	display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 12px;
	background: var(--us-navy); color: #fff; flex-shrink: 0;
}
.us-icon-box .us-icon { width: 1.25rem; height: 1.25rem; }
.us-icon-box--amber { background: var(--us-amber); color: #201205; }
.us-icon-box--amber-tint { background: rgba(255,106,26,.12); color: var(--us-amber); }

/* Header */
.us-header { position: sticky; top: 0; z-index: 50; background: #fff; border-bottom: 1px solid transparent; transition: box-shadow .2s, border-color .2s; }
.us-header.is-scrolled { border-color: var(--us-border); box-shadow: 0 2px 12px rgba(16,24,40,.06); }
.us-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; height: 4.5rem; }
.us-header__logo img { height: 2.25rem; width: auto; }
.us-header__nav { display: none; align-items: center; gap: .25rem; }
.us-header__nav > a, .us-header__dropdown > a { padding: .6rem .8rem; font-size: .9rem; font-weight: 500; color: rgba(16,24,40,.75); display: inline-flex; align-items: center; gap: .25rem; }
.us-header__nav > a:hover, .us-header__dropdown > a:hover { color: var(--us-navy); }
.us-header__nav .us-icon { width: .85rem; height: .85rem; }
.us-header__dropdown { position: relative; }
.us-header__dropdown-menu {
	position: absolute; top: 100%; left: 50%; transform: translateX(-50%); padding-top: .5rem;
	width: 20rem; opacity: 0; visibility: hidden; transition: opacity .15s;
}
.us-header__dropdown:hover .us-header__dropdown-menu { opacity: 1; visibility: visible; }
.us-header__dropdown-menu > a {
	display: flex; gap: .75rem; padding: .75rem 1rem; background: #fff; align-items: flex-start;
}
.us-header__dropdown-menu { background: #fff; border: 1px solid var(--us-border); border-radius: 14px; overflow: hidden; box-shadow: 0 12px 32px rgba(16,24,40,.12); }
.us-header__dropdown-menu > a:hover { background: var(--us-muted); }
.us-header__dropdown-menu .us-icon { width: 1.1rem; height: 1.1rem; color: var(--us-amber); margin-top: .15rem; }
.us-header__dropdown-menu strong { display: block; font-size: .875rem; color: var(--us-navy); }
.us-header__dropdown-menu small { color: var(--us-text-muted); font-size: .75rem; }
.us-header__actions { display: none; align-items: center; gap: 1rem; }
.us-header__phone { display: none; align-items: center; gap: .4rem; font-size: .875rem; color: var(--us-text-muted); }
.us-header__phone .us-icon { width: 1rem; height: 1rem; }
.us-header__burger { display: inline-grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 10px; border: none; background: transparent; color: var(--us-navy); }
.us-header__burger .us-icon { width: 1.3rem; height: 1.3rem; }
.us-header__burger:hover { background: var(--us-muted); }
.us-header__mobile { display: none; flex-direction: column; gap: .25rem; padding: 1rem 1.25rem 1.5rem; border-top: 1px solid var(--us-border); }
.us-header__mobile.is-open { display: flex; }
.us-header__mobile a { padding: .6rem .5rem; border-radius: 8px; font-size: .9rem; font-weight: 500; }
.us-header__mobile a:hover { background: var(--us-muted); }
.us-header__mobile-sub { padding-left: 1.5rem !important; font-size: .8rem !important; color: var(--us-text-muted); }
.us-header__mobile .us-btn { justify-content: center; margin-top: .75rem; }

@media (min-width: 1200px) {
	.us-header__nav { display: flex; }
	.us-header__burger { display: none; }
	.us-header__mobile { display: none !important; }
}
@media (min-width: 768px) { .us-header__actions { display: flex; } }
@media (min-width: 1440px) { .us-header__phone { display: flex; } }

/* Hero (homepage) */
.us-hero { position: relative; background: var(--us-navy); color: #fff; overflow: hidden; }
.us-hero__bg { position: absolute; inset: 0; z-index: 0; }
.us-hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.us-hero__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, var(--us-navy) 10%, rgba(11,27,51,.85) 55%, rgba(11,27,51,.25) 100%); }
.us-hero__inner { position: relative; z-index: 1; padding-top: 5rem; padding-bottom: 4rem; max-width: 46rem; }
.us-badge-pill {
	display: inline-flex; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.05);
	border-radius: 999px; padding: .35rem .9rem; font-size: .7rem; font-weight: 700; text-transform: uppercase;
	letter-spacing: .15em; color: var(--us-amber); backdrop-filter: blur(6px);
}
.us-hero__title { margin-top: 1.5rem; font-size: 2.5rem; font-weight: 900; line-height: 1.05; }
.us-hero__title :is(br) { }
.us-hero__text { margin-top: 1.25rem; max-width: 34rem; font-size: 1.1rem; color: rgba(255,255,255,.8); }
.us-hero__ctas { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: .75rem; }
@media (min-width: 768px) { .us-hero__title { font-size: 4.25rem; } .us-hero__inner { padding-top: 7rem; padding-bottom: 6rem; } }

/* Stats */
.us-stats__grid { display: grid; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 1024px) { .us-stats__grid { grid-template-columns: repeat(4, 1fr); } }
.us-stats--navy { background: var(--us-navy); border-top: 1px solid rgba(255,255,255,.1); }
.us-stats--navy .us-stats__value { color: #fff; }
.us-stats--navy .us-stats__label { color: rgba(255,255,255,.6); }
.us-stats--svetlo { background: var(--us-muted); }
.us-stats--svetlo .us-stats__value { color: var(--us-navy); }
.us-stats__item { padding: 2rem .5rem; text-align: center; border-bottom: 1px solid rgba(0,0,0,.06); }
.us-stats--navy .us-stats__item { border-color: rgba(255,255,255,.1); }
.us-stats__value { font-size: 2rem; font-weight: 900; }
.us-stats__label { margin-top: .25rem; font-size: .75rem; text-transform: uppercase; letter-spacing: .1em; }
@media (min-width: 1024px) { .us-stats__item { text-align: left; border-bottom: none; border-left: 1px solid rgba(0,0,0,.08); } .us-stats--navy .us-stats__item { border-color: rgba(255,255,255,.1); } .us-stats__item:first-child { border-left: none; } .us-stats__value { font-size: 3rem; } }

/* Section intro (2-col) */
.us-section-intro { display: grid; gap: 3rem; }
.us-section-intro__body { color: var(--us-text-muted); font-size: 1.05rem; line-height: 1.7; }
.us-section-intro__body p + p { margin-top: 1rem; }
@media (min-width: 1024px) { .us-section-intro { grid-template-columns: 5fr 7fr; align-items: center; } }

/* Page hero (inner pages) */
.us-page-hero { background: var(--us-navy); color: #fff; }
.us-page-hero__inner { padding-top: 4.5rem; padding-bottom: 4.5rem; display: grid; gap: 2rem; align-items: center; }
.us-page-hero__title { margin-top: 1rem; font-size: 2.25rem; font-weight: 900; line-height: 1.1; }
.us-page-hero__text { margin-top: 1rem; color: rgba(255,255,255,.75); font-size: 1.05rem; max-width: 34rem; }
.us-page-hero__image img { border-radius: var(--us-radius-lg); max-height: 20rem; width: 100%; object-fit: cover; }
@media (min-width: 768px) { .us-page-hero__title { font-size: 3rem; } }
@media (min-width: 1024px) { .us-page-hero__inner { grid-template-columns: 3fr 2fr; } }

/* Service cards */
.us-service-card { display: flex; flex-direction: column; overflow: hidden; transition: box-shadow .15s; }
.us-service-card:hover { box-shadow: 0 12px 32px rgba(16,24,40,.1); }
.us-service-card__image { aspect-ratio: 16/10; overflow: hidden; background: var(--us-muted); }
.us-service-card__image img { width: 100%; height: 100%; object-fit: cover; }
.us-service-card__body { padding: 1.5rem; position: relative; }
.us-service-card__title { margin-top: 1rem; font-size: 1.15rem; color: var(--us-navy); }
.us-service-card__text { margin-top: .5rem; color: var(--us-text-muted); font-size: .9rem; }
.us-service-card__arrow { position: absolute; top: 1.5rem; right: 1.5rem; color: var(--us-amber); }
.us-service-card__arrow .us-icon { width: 1.1rem; height: 1.1rem; }

/* Why us */
.us-why-us__grid { display: grid; gap: 3rem; }
.us-why-us__image { position: relative; border-radius: var(--us-radius-lg); overflow: hidden; aspect-ratio: 4/5; max-height: 32rem; }
.us-why-us__image img { width: 100%; height: 100%; object-fit: cover; }
.us-why-us__badge { position: absolute; bottom: 1.25rem; left: 1.25rem; background: rgba(255,255,255,.96); color: var(--us-navy); border-radius: 16px; padding: .9rem 1.1rem; }
.us-why-us__badge-value { font-size: 1.6rem; font-weight: 900; }
.us-why-us__badge-label { font-size: .7rem; text-transform: uppercase; color: var(--us-text-muted); letter-spacing: .08em; }
.us-why-us__text { margin-top: 1rem; color: rgba(255,255,255,.7); font-size: 1.05rem; }
.us-why-us__list { margin-top: 2rem; display: grid; gap: 1rem; }
.us-why-us__item { display: flex; gap: 1rem; border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.05); border-radius: 16px; padding: 1.1rem; }
.us-why-us__item-title { font-weight: 700; }
.us-why-us__item-text { margin-top: .25rem; font-size: .875rem; color: rgba(255,255,255,.7); }
@media (min-width: 1024px) { .us-why-us__grid { grid-template-columns: 1fr 1fr; align-items: center; } }

/* Icon cards grid */
.us-icon-card { padding: 1.5rem; }
.us-icon-card__title { margin-top: 1.1rem; color: var(--us-navy); font-size: 1.05rem; }
.us-icon-card__text { margin-top: .5rem; color: var(--us-text-muted); font-size: .9rem; }
.us-grid--top { align-items: start; }

/* Partners */
.us-partners__title { text-align: center; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .2em; color: var(--us-text-muted); margin-bottom: 2rem; }
.us-partners__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; align-items: center; justify-items: center; opacity: .65; }
.us-partners__item { font-weight: 900; letter-spacing: .05em; color: var(--us-navy); font-size: .95rem; }
@media (min-width: 640px) { .us-partners__grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1024px) { .us-partners__grid { grid-template-columns: repeat(8, 1fr); } }

/* Testimonial featured */
.us-testimonial-featured { display: grid; gap: 3rem; }
.us-testimonial-featured__value { font-size: 4.5rem; font-weight: 900; color: var(--us-navy); line-height: 1; }
.us-testimonial-featured__value-label { margin-top: .5rem; font-size: .875rem; color: var(--us-text-muted); max-width: 14rem; }
.us-testimonial-featured__quote .us-icon { width: 2.25rem; height: 2.25rem; color: var(--us-amber); }
.us-testimonial-featured__quote blockquote { margin: 1rem 0 0; font-size: 1.5rem; font-weight: 600; color: var(--us-navy); line-height: 1.4; }
.us-testimonial-featured__author { margin-top: 2rem; display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.us-avatar { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 999px; background: var(--us-navy); color: #fff; font-weight: 700; }
.us-testimonial-featured__name { font-weight: 700; color: var(--us-navy); }
.us-testimonial-featured__role { font-size: .875rem; color: var(--us-text-muted); }
.us-testimonial-featured__stars { display: flex; gap: .15rem; margin-left: auto; }
.us-star { width: .95rem; height: .95rem; color: var(--us-amber); fill: var(--us-amber); }
@media (min-width: 1024px) { .us-testimonial-featured { grid-template-columns: 4fr 8fr; align-items: center; } }

/* Testimonials list */
.us-testimonial-card { padding: 2rem; }
.us-testimonial-card__head { display: flex; justify-content: space-between; align-items: flex-start; }
.us-testimonial-card__head > .us-icon:first-child { width: 2rem; height: 2rem; color: var(--us-amber); }
.us-testimonial-card__stars { display: flex; gap: .1rem; }
.us-testimonial-card blockquote { margin: 1rem 0 0; font-size: 1.1rem; font-weight: 600; color: var(--us-navy); line-height: 1.4; }
.us-testimonial-card__footer { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--us-border); }
.us-testimonial-card__name { font-weight: 700; color: var(--us-navy); }
.us-testimonial-card__role { font-size: .875rem; color: var(--us-text-muted); }

/* FAQ */
.us-faq { display: grid; gap: 3rem; }
.us-faq__list { display: flex; flex-direction: column; }
.us-faq__item { border-bottom: 1px solid var(--us-border); padding: 1.1rem 0; }
.us-faq__question { cursor: pointer; font-weight: 600; color: var(--us-navy); display: flex; justify-content: space-between; align-items: center; list-style: none; }
.us-faq__question::-webkit-details-marker { display: none; }
.us-faq__question .us-icon { width: 1rem; height: 1rem; transition: transform .15s; flex-shrink: 0; }
.us-faq__item[open] .us-faq__question .us-icon { transform: rotate(180deg); }
.us-faq__answer { margin-top: .75rem; color: var(--us-text-muted); }
@media (min-width: 1024px) { .us-faq { grid-template-columns: 5fr 7fr; } }

/* CTA banner */
.us-cta-banner { position: relative; overflow: hidden; }
.us-cta-banner__bg { position: absolute; inset: 0; }
.us-cta-banner__bg img { width: 100%; height: 100%; object-fit: cover; }
.us-cta-banner__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, var(--us-navy) 20%, rgba(11,27,51,.9) 55%, rgba(11,27,51,.4) 100%); }
.us-cta-banner__inner { position: relative; z-index: 1; padding-top: 5rem; padding-bottom: 5rem; max-width: 34rem; color: #fff; }
.us-cta-banner__title { font-size: 2rem; font-weight: 900; }
.us-cta-banner__text { margin-top: 1rem; font-size: 1.1rem; color: rgba(255,255,255,.8); }
.us-cta-banner .us-btn { margin-top: 2rem; }
@media (min-width: 768px) { .us-cta-banner__title { font-size: 3rem; } }

/* Team */
.us-team-card { padding: 1.5rem; display: flex; flex-direction: column; }
.us-team-card__avatar { display: grid; place-items: center; width: 4rem; height: 4rem; border-radius: 16px; background: linear-gradient(135deg, var(--us-navy), var(--us-navy-soft)); color: #fff; font-weight: 900; font-size: 1.25rem; }
.us-team-card__name { margin-top: 1rem; font-size: 1.1rem; color: var(--us-navy); }
.us-team-card__role { color: var(--us-amber); font-weight: 600; font-size: .875rem; }
.us-team-card__contacts { margin-top: 1rem; display: flex; flex-direction: column; gap: .5rem; font-size: .875rem; color: var(--us-text-muted); }
.us-team-card__contacts a { display: flex; align-items: center; gap: .5rem; }
.us-team-card__contacts a:hover { color: var(--us-navy); }
.us-team-cta { margin-top: 3rem; text-align: center; }
.us-team-card--kompaktni { padding: 1.25rem; }
.us-team-card--kompaktni .us-team-card__avatar { width: 2.75rem; height: 2.75rem; font-size: .85rem; border-radius: 10px; }

/* Fleet */
.us-fleet-card { overflow: hidden; }
.us-fleet-card__image { aspect-ratio: 4/3; background: var(--us-muted); overflow: hidden; }
.us-fleet-card__image img { width: 100%; height: 100%; object-fit: cover; }
.us-fleet-card__body { padding: 1.5rem; }
.us-fleet-card__title { color: var(--us-navy); font-size: 1.2rem; }
.us-fleet-card__capacity { margin-top: .4rem; font-weight: 700; color: var(--us-amber); font-size: .9rem; }
.us-fleet-card__text { margin-top: .75rem; color: var(--us-text-muted); font-size: .9rem; }

/* Spec strip */
.us-spec-strip { display: grid; gap: 2rem; }
.us-spec-strip__item { display: flex; align-items: center; gap: 1rem; }
.us-spec-strip__label { font-size: .7rem; text-transform: uppercase; letter-spacing: .1em; color: rgba(255,255,255,.6); }
.us-spec-strip__value { font-weight: 700; font-size: 1.1rem; }
@media (min-width: 640px) { .us-spec-strip { grid-template-columns: repeat(3, 1fr); } }

/* Destinations */
.us-region-card { padding: 1.5rem; }
.us-region-card__head { display: flex; align-items: center; gap: .75rem; }
.us-region-card__head h3 { font-size: 1.15rem; color: var(--us-navy); }
.us-region-card__tags { margin-top: 1.25rem; display: flex; flex-wrap: wrap; gap: .5rem; }
.us-tag { background: var(--us-muted); border-radius: 999px; padding: .4rem .8rem; font-size: .85rem; font-weight: 500; color: var(--us-navy); }

/* Process steps (single-usluga) */
.us-process__heading { max-width: 34rem; }
.us-process__step { border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.05); border-radius: 16px; padding: 1.5rem; }
.us-process__number { color: var(--us-amber); font-weight: 900; font-size: 1.5rem; }
.us-process__title { margin-top: .5rem; font-weight: 700; font-size: 1.05rem; }
.us-process__text { margin-top: .5rem; font-size: .875rem; color: rgba(255,255,255,.7); }

/* Other service card */
.us-other-service-card { padding: 1.25rem; transition: box-shadow .15s; }
.us-other-service-card:hover { box-shadow: 0 8px 24px rgba(16,24,40,.08); }
.us-other-service-card__head { display: flex; align-items: center; gap: .6rem; margin-bottom: .5rem; }
.us-other-service-card__head .us-icon { width: 1.1rem; height: 1.1rem; color: var(--us-amber); }
.us-other-service-card__head strong { color: var(--us-navy); }
.us-other-service-card p { color: var(--us-text-muted); font-size: .875rem; }

/* Contact form */
.us-contact-form-wrap { display: grid; gap: 3rem; }
.us-contact-form { padding: 2rem; }
.us-form { margin-top: 1.5rem; display: grid; gap: 1.25rem; }
.us-form__row { display: grid; gap: 1.25rem; }
@media (min-width: 640px) { .us-form__row { grid-template-columns: 1fr 1fr; } }
.us-form label { display: flex; flex-direction: column; gap: .5rem; font-size: .9rem; font-weight: 600; color: var(--us-navy); }
.us-form input, .us-form select, .us-form textarea {
	font: inherit; padding: .8rem 1rem; border-radius: 12px; border: 1px solid var(--us-border); background: #fff;
}
.us-form input:focus, .us-form select:focus, .us-form textarea:focus { outline: none; border-color: var(--us-amber); box-shadow: 0 0 0 3px rgba(255,106,26,.15); }
.us-form textarea { resize: vertical; }
.us-alert { margin-top: 1rem; padding: .9rem 1.1rem; border-radius: 12px; font-size: .9rem; }
.us-alert--success { background: #ECFDF3; color: #067647; border: 1px solid #ABEFC6; }
.us-alert--error { background: #FEF3F2; color: #B42318; border: 1px solid #FECDCA; }

/* Contact info cards */
.us-contact-info { display: grid; gap: 1rem; }
.us-info-card { padding: 1.5rem; display: flex; gap: 1rem; }
.us-info-card__label { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--us-text-muted); }
.us-info-card__text { margin-top: .3rem; font-weight: 600; color: var(--us-navy); }
.us-info-card__text a:hover { color: var(--us-amber); }

.us-map-frame { border-radius: var(--us-radius-lg); overflow: hidden; border: 1px solid var(--us-border); aspect-ratio: 16/7; }
.us-map-frame iframe { width: 100%; height: 100%; border: 0; }

/* Footer */
.us-footer { background: var(--us-navy); color: rgba(255,255,255,.7); }
.us-footer__grid { padding-top: 4.5rem; padding-bottom: 4.5rem; display: grid; gap: 2.5rem; grid-template-columns: repeat(2, 1fr); }
.us-footer__logo img { height: 2.25rem; }
.us-footer__desc { margin-top: 1rem; font-size: .9rem; line-height: 1.6; }
.us-footer h4 { color: #fff; font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 1rem; }
.us-footer ul { display: flex; flex-direction: column; gap: .55rem; font-size: .9rem; }
.us-footer ul a:hover { color: var(--us-amber); }
.us-footer__contact li { display: flex; gap: .75rem; align-items: flex-start; }
.us-footer__contact .us-icon { width: 1rem; height: 1rem; color: var(--us-amber); margin-top: .2rem; flex-shrink: 0; }
.us-footer__bottom { padding-top: 2rem; padding-bottom: 2rem; border-top: 1px solid rgba(255,255,255,.1); display: flex; flex-direction: column; gap: 1rem; align-items: center; justify-content: space-between; font-size: .75rem; }
@media (min-width: 768px) { .us-footer__grid { grid-template-columns: repeat(4, 1fr); } .us-footer__bottom { flex-direction: row; } }

/* Generic icon sizing fallback */
.us-icon { width: 1.25rem; height: 1.25rem; }


/* Subtle scroll-reveal + refined hover effects */
@media (prefers-reduced-motion: no-preference) {
	.us-reveal {
		transform: translateY(14px);
		transition: transform .7s cubic-bezier(.22,.61,.36,1);
	}
	.us-reveal.is-visible { transform: translateY(0); }
}

.us-card, .us-service-card, .us-icon-card, .us-fleet-card, .us-team-card, .us-testimonial-card, .us-region-card, .us-other-service-card, .us-info-card {
	transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.us-card:hover, .us-service-card:hover, .us-icon-card:hover, .us-fleet-card:hover, .us-team-card:hover, .us-testimonial-card:hover, .us-region-card:hover, .us-other-service-card:hover, .us-info-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 40px rgba(16,24,40,.09);
	border-color: rgba(255,106,26,.25);
}

.us-service-card__image, .us-fleet-card__image { position: relative; }
.us-service-card__image img, .us-fleet-card__image img { transition: transform .5s ease; }
.us-service-card:hover .us-service-card__image img, .us-fleet-card:hover .us-fleet-card__image img { transform: scale(1.06); }

.us-icon-box { transition: transform .3s ease, background-color .3s ease; }
.us-card:hover .us-icon-box, .us-service-card:hover .us-icon-box { transform: translateY(-2px); }

.us-btn { transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.us-btn:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(255,106,26,.25); }
.us-btn--navy:hover, .us-btn--ghost:hover { box-shadow: 0 8px 20px rgba(11,27,51,.2); }

.us-header__nav > a, .us-header__dropdown > a { position: relative; }
.us-header__nav > a::after, .us-header__dropdown > a::after {
	content: ''; position: absolute; left: .8rem; right: .8rem; bottom: .35rem; height: 2px;
	background: var(--us-amber); transform: scaleX(0); transform-origin: left; transition: transform .25s ease;
}
.us-header__nav > a:hover::after, .us-header__dropdown > a:hover::after { transform: scaleX(1); }

.us-tag { transition: background-color .2s ease, color .2s ease; }
.us-tag:hover { background: var(--us-amber); color: #201205; }

.us-faq__item { transition: border-color .2s ease; }

/* Contact Form 7 styling to match us-form */
.us-form .wpcf7-form { display: contents; }
.us-form .wpcf7-form-control-wrap { display: block; margin-top: 0; }
.us-form label { position: relative; }
.us-form input.wpcf7-form-control, .us-form select.wpcf7-form-control, .us-form textarea.wpcf7-form-control {
	width: 100%;
}
.us-form .wpcf7-submit {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
	padding: .9rem 1.6rem; border-radius: 999px; font-weight: 600; font-size: .9rem;
	background: var(--us-amber); color: #201205; border: none; cursor: pointer;
	transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.us-form .wpcf7-submit:hover { background: var(--us-amber-hover); transform: translateY(-1px); box-shadow: 0 8px 20px rgba(255,106,26,.25); }
.us-form .wpcf7-spinner { margin: 0 0 0 .5rem; }
.us-form .wpcf7-not-valid-tip { display: block; margin-top: .4rem; font-size: .8rem; color: #B42318; }
.us-form .wpcf7-form-control.wpcf7-not-valid { border-color: #FDA29B; }
.us-form .wpcf7-response-output {
	margin: 1rem 0 0; padding: .9rem 1.1rem; border-radius: 12px; font-size: .9rem; border: 1px solid var(--us-border);
}
.us-form .wpcf7-form.sent .wpcf7-response-output { background: #ECFDF3; color: #067647; border-color: #ABEFC6; }
.us-form .wpcf7-form.invalid .wpcf7-response-output, .us-form .wpcf7-form.unaccepted .wpcf7-response-output, .us-form .wpcf7-form.failed .wpcf7-response-output {
	background: #FEF3F2; color: #B42318; border-color: #FECDCA;
}
.us-accent { color: var(--us-amber); }


/* Hero video */
.us-hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.us-header__nav > a, .us-header__dropdown > a { white-space: nowrap; }

/* Feature split (tekst + slika / ekran aplikacije) */
.us-feature { display: grid; gap: 2.5rem; align-items: center; }
@media (min-width: 1024px) {
	.us-feature { grid-template-columns: 1fr 1fr; gap: 4rem; }
	.us-feature--levo .us-feature__media { order: -1; }
	.us-feature--text-only { grid-template-columns: minmax(0, 52rem); }
}
.us-feature__body { margin-top: 1.25rem; color: var(--us-text-muted); font-size: 1.05rem; line-height: 1.7; }
.us-feature__body p + p { margin-top: 1rem; }
.us-section--navy .us-feature__body { color: rgba(255,255,255,.75); }
.us-checklist { margin-top: 1.5rem; display: grid; gap: .75rem; }
.us-checklist li { display: flex; gap: .75rem; align-items: flex-start; color: var(--us-text-muted); line-height: 1.55; }
.us-checklist .us-icon { color: var(--us-amber); margin-top: .2rem; flex-shrink: 0; }
.us-section--navy .us-checklist li { color: rgba(255,255,255,.8); }
.us-feature__media { margin: 0; border-radius: var(--us-radius-lg); overflow: hidden; }
.us-feature__media img { display: block; width: 100%; height: auto; }
.us-feature__media--app { border: 1px solid var(--us-border); background: #fff; box-shadow: 0 24px 60px rgba(11,27,51,.14); }
.us-feature__bar { display: flex; gap: 6px; padding: 10px 14px; background: var(--us-muted); border-bottom: 1px solid var(--us-border); }
.us-feature__bar span { width: 9px; height: 9px; border-radius: 50%; background: #cfd4dc; }
.us-feature__media figcaption { padding: .75rem 1rem; font-size: .8rem; color: var(--us-text-muted); background: #fff; }

/* tim: jedna kolona na telefonu, dugi mejlovi ne probijaju ekran */
.us-team-card { min-width: 0; }
.us-team-card__contacts a { overflow-wrap: anywhere; }
@media (max-width: 639px) { .us-team-grid { grid-template-columns: 1fr; } }

/* ==========================================================================
   Drugi talas: logo, recenzije, mockup, mapa, galerija, usluge, kontakt
   ========================================================================== */

.us-icon-box--amber-tint { background: rgba(222,176,73,.16); color: #9a7414; }

/* ---- Logo: vece, sa animacijom otkrivanja ---- */
@property --us-reveal { syntax: '<percentage>'; inherits: false; initial-value: 110%; }
.us-header__logo img { height: 3rem; width: auto; }
.us-footer__logo img { height: 3.25rem; width: auto; }
.us-logo img, .us-footer__logo img {
	-webkit-mask-image: linear-gradient(90deg, #000 var(--us-reveal), transparent calc(var(--us-reveal) + 14%));
	mask-image: linear-gradient(90deg, #000 var(--us-reveal), transparent calc(var(--us-reveal) + 14%));
	animation: us-logo-draw 1.9s cubic-bezier(.65, 0, .35, 1) .2s both;
}
@keyframes us-logo-draw { from { --us-reveal: -16%; } to { --us-reveal: 110%; } }
@media (max-width: 640px) { .us-header__logo img { height: 2.5rem; } }

/* ---- Navigacija: tekstualni dropdown ---- */
.us-header__dropdown-menu--text { width: 18rem; }
.us-header__dropdown-menu--text > a { padding: .7rem 1.1rem; }
.us-header__dropdown-menu--text > a:hover strong { color: var(--us-amber-hover); }
.us-header__dropdown-menu strong { transition: color .15s; }

/* ---- Stats: broj koji raste ---- */
.us-stats__value { font-variant-numeric: tabular-nums; }

/* ---- Hero strana stranica sa fotografijom ---- */
.us-page-hero--photo { position: relative; overflow: hidden; }
.us-page-hero__bg { position: absolute; inset: 0; }
.us-page-hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.us-page-hero__bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(95deg, rgba(11,27,51,.94) 18%, rgba(11,27,51,.72) 52%, rgba(11,27,51,.28) 100%); }
.us-page-hero--photo .us-page-hero__inner { position: relative; z-index: 1; grid-template-columns: 1fr; padding-top: 7rem; padding-bottom: 7rem; }
.us-page-hero--photo .us-page-hero__content { max-width: 40rem; }
.us-page-hero--photo .us-btn { margin-top: 2rem; }
@keyframes us-hero-zoom { from { transform: scale(1.08); } to { transform: scale(1.0); } }

/* ---- Kartice usluga (bez ikonica, fotografija + hover) ---- */
.us-svc-grid { display: grid; gap: 1.25rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .us-svc-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .us-svc-grid { grid-template-columns: repeat(3, 1fr); } }
.us-svc { position: relative; display: block; overflow: hidden; border-radius: var(--us-radius-lg); background: var(--us-navy); min-height: 22rem; isolation: isolate; color: #fff; }
.us-svc__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.7,.2,1), filter .5s; z-index: -2; }
.us-svc__shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(11,27,51,.1) 20%, rgba(11,27,51,.88) 78%); transition: background .4s; }
.us-svc__body { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.6rem; }
.us-svc__title { font-size: 1.35rem; font-weight: 800; line-height: 1.15; }
.us-svc__text { margin-top: .6rem; color: rgba(255,255,255,.82); font-size: .92rem; line-height: 1.5; max-height: 0; opacity: 0; overflow: hidden; transition: max-height .45s ease, opacity .35s ease, margin .35s; }
.us-svc__more { display: inline-flex; align-items: center; gap: .4rem; margin-top: 1rem; font-size: .85rem; font-weight: 700; color: var(--us-amber); }
.us-svc__more .us-icon { transition: transform .25s; }
.us-svc::after { content: ''; position: absolute; left: 1.6rem; right: 1.6rem; bottom: 0; height: 3px; background: var(--us-amber); transform: scaleX(0); transform-origin: left; transition: transform .5s cubic-bezier(.2,.7,.2,1); }
@media (hover: hover) {
	.us-svc:hover .us-svc__img { transform: scale(1.07); }
	.us-svc:hover .us-svc__shade { background: linear-gradient(180deg, rgba(11,27,51,.35) 0%, rgba(11,27,51,.94) 70%); }
	.us-svc:hover .us-svc__text { max-height: 9rem; opacity: 1; }
	.us-svc:hover::after { transform: scaleX(1); }
	.us-svc:hover .us-svc__more .us-icon { transform: translateX(4px); }
}
@media (hover: none) { .us-svc__text { max-height: none; opacity: 1; } }
.us-svc:focus-visible { outline: 3px solid var(--us-amber); outline-offset: 3px; }

/* ---- Recenzije: dva marquee reda ---- */
.us-reviews { overflow: hidden; }
.us-reviews__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 3rem; }
.us-reviews__score { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.4rem; border: 1px solid var(--us-border); border-radius: var(--us-radius-lg); background: #fff; }
.us-reviews__score-value { font-size: 3rem; font-weight: 900; color: var(--us-navy); line-height: 1; }
.us-reviews__score-label { margin-top: .3rem; font-size: .78rem; color: var(--us-text-muted); max-width: 14rem; }
.us-stars { display: inline-flex; gap: 2px; color: var(--us-amber); }
.us-stars .us-icon { width: .95rem; height: .95rem; fill: currentColor; }
.us-marquee { overflow: hidden; margin-top: 1.25rem; -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
.us-marquee__track { display: flex; gap: 1.25rem; width: max-content; animation: us-marquee 70s linear infinite; }
.us-marquee--right .us-marquee__track { animation-direction: reverse; animation-duration: 90s; }
.us-marquee:hover .us-marquee__track { animation-play-state: paused; }
@keyframes us-marquee { to { transform: translateX(-50%); } }
.us-marquee__track > * { margin-right: 0; }
.us-review { flex: 0 0 22rem; margin: 0; padding: 1.5rem; background: #fff; border: 1px solid var(--us-border); border-radius: var(--us-radius-lg); display: flex; flex-direction: column; gap: 1rem; transition: box-shadow .25s, transform .25s; }
.us-review:hover { box-shadow: 0 14px 34px rgba(16,24,40,.1); transform: translateY(-3px); }
.us-review blockquote { margin: 0; font-size: 1.02rem; line-height: 1.55; color: var(--us-text); flex: 1; }
.us-review figcaption { display: flex; align-items: center; gap: .75rem; }
.us-review figcaption strong { display: block; font-size: .9rem; color: var(--us-navy); }
.us-review figcaption small { color: var(--us-text-muted); font-size: .75rem; }
.us-review__avatar { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: var(--us-navy); color: var(--us-amber); font-size: .8rem; font-weight: 800; flex-shrink: 0; }
.us-review-chip { display: flex; align-items: center; gap: .7rem; padding: .6rem 1.1rem .6rem .6rem; background: var(--us-muted); border-radius: 999px; white-space: nowrap; }
.us-review-chip__name { font-size: .85rem; font-weight: 600; color: var(--us-navy); }
@media (prefers-reduced-motion: reduce) {
	.us-marquee { overflow-x: auto; }
	.us-marquee__track { animation: none; }
	.us-logo img, .us-footer__logo img { animation: none; }
}

/* ---- Laptop mockup ---- */
.us-device__grid { display: grid; gap: 3rem; align-items: center; }
@media (min-width: 1024px) { .us-device__grid { grid-template-columns: 5fr 7fr; gap: 5rem; } }
.us-device__body { margin-top: 1rem; color: var(--us-text-muted); font-size: 1.05rem; line-height: 1.7; }
.us-device__text .us-btn { margin-top: 2rem; }
.us-laptop { display: block; perspective: 1600px; }
.us-laptop__lid { background: #0e1013; border-radius: 16px 16px 4px 4px; padding: 14px 14px 18px; box-shadow: 0 30px 60px -20px rgba(11,27,51,.5); transform: rotateX(6deg) translateY(0); transform-origin: bottom; transition: transform .6s cubic-bezier(.2,.7,.2,1), box-shadow .6s; position: relative; }
.us-laptop__lid::before { content: ''; position: absolute; top: 5px; left: 50%; width: 5px; height: 5px; border-radius: 50%; background: #2a2f38; transform: translateX(-50%); }
.us-laptop__screen { position: relative; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 4px; background: #fff; }
.us-laptop__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top left; transition: opacity .6s ease, transform 1.2s cubic-bezier(.2,.7,.2,1); }
.us-laptop__img--hover { opacity: 0; }
.us-laptop__cta { position: absolute; left: 50%; bottom: 1.2rem; transform: translate(-50%, 12px); opacity: 0; display: inline-flex; align-items: center; gap: .4rem; padding: .65rem 1.1rem; border-radius: 999px; background: var(--us-amber); color: #201205; font-weight: 700; font-size: .85rem; transition: opacity .35s, transform .35s; white-space: nowrap; }
.us-laptop__base { height: 14px; margin: 0 -4%; border-radius: 0 0 18px 18px; background: linear-gradient(180deg, #c9ced6, #aab0ba); position: relative; box-shadow: 0 18px 30px -12px rgba(11,27,51,.4); }
.us-laptop__base::before { content: ''; position: absolute; top: 0; left: 50%; width: 18%; height: 5px; transform: translateX(-50%); background: #9298a3; border-radius: 0 0 8px 8px; }
@media (hover: hover) {
	.us-laptop:hover .us-laptop__lid { transform: rotateX(0deg) translateY(-6px); box-shadow: 0 40px 70px -20px rgba(11,27,51,.55); }
	.us-laptop:hover .us-laptop__img--hover { opacity: 1; }
	.us-laptop:hover .us-laptop__img:not(.us-laptop__img--hover) { transform: scale(1.03); }
	.us-laptop:hover .us-laptop__cta { opacity: 1; transform: translate(-50%, 0); }
}
@media (hover: none) { .us-laptop__cta { opacity: 1; transform: translate(-50%, 0); } }

/* ---- Mapa pokrivenosti ---- */
.us-coverage__layout { display: grid; gap: 2.5rem; align-items: start; }
@media (min-width: 1024px) { .us-coverage__layout { grid-template-columns: 7fr 5fr; gap: 3rem; } }
.us-coverage__map { display: grid; grid-template-columns: repeat(8, 1fr); gap: 6px; padding: 1.25rem; background: var(--us-navy); border-radius: var(--us-radius-lg); position: relative; overflow: hidden; }
.us-coverage__map::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 62% 62%, rgba(222,176,73,.18), transparent 46%); pointer-events: none; }
.us-tile { position: relative; aspect-ratio: 1; border: 0; border-radius: 10px; background: rgba(255,255,255,.1); color: #fff; display: grid; place-items: center; align-content: center; gap: 2px; padding: 0; font-family: inherit; transition: background .25s, transform .25s, box-shadow .25s, opacity .25s; }
.us-tile__code { font-size: clamp(.7rem, 1.5vw, 1rem); font-weight: 800; letter-spacing: .04em; }
.us-tile__name { font-size: .58rem; opacity: 0; max-height: 0; overflow: hidden; transition: opacity .2s; text-align: center; line-height: 1.1; }
.us-tile.is-dim { background: rgba(255,255,255,.04); color: rgba(255,255,255,.3); cursor: default; }
.us-tile[data-region] { cursor: pointer; background: rgba(255,255,255,.16); }
.us-tile.is-hub { background: var(--us-amber); color: #201205; }
.us-tile.is-hub::after { content: ''; position: absolute; inset: -4px; border-radius: 14px; border: 2px solid var(--us-amber); animation: us-pulse 2.4s ease-out infinite; }
@keyframes us-pulse { from { opacity: .9; transform: scale(1); } to { opacity: 0; transform: scale(1.35); } }
.us-coverage__map.has-active .us-tile[data-region]:not(.is-on):not(.is-hub) { opacity: .35; }
.us-tile.is-on { background: #fff; color: var(--us-navy); transform: translateY(-3px); box-shadow: 0 10px 20px rgba(0,0,0,.3); opacity: 1; }
.us-tile.is-on .us-tile__name, .us-tile:hover .us-tile__name { opacity: 1; max-height: 2rem; }
.us-tile:focus-visible { outline: 2px solid var(--us-amber); outline-offset: 2px; }
.us-coverage__legend { display: grid; gap: .6rem; }
.us-region { text-align: left; width: 100%; border: 1px solid var(--us-border); background: #fff; border-radius: var(--us-radius); padding: 1rem 1.2rem; display: grid; grid-template-columns: 1fr auto; gap: .2rem 1rem; align-items: center; transition: border-color .2s, box-shadow .2s, background .2s; font-family: inherit; }
.us-region__name { font-weight: 800; color: var(--us-navy); }
.us-region__count { font-size: .8rem; font-weight: 700; color: #9a7414; background: rgba(222,176,73,.16); border-radius: 999px; padding: .15rem .6rem; }
.us-region__list { grid-column: 1 / -1; color: var(--us-text-muted); font-size: .85rem; max-height: 0; overflow: hidden; opacity: 0; transition: max-height .35s ease, opacity .3s; }
.us-region.is-on { border-color: var(--us-amber); box-shadow: 0 8px 22px rgba(16,24,40,.08); }
.us-region.is-on .us-region__list { max-height: 8rem; opacity: 1; margin-top: .35rem; }
.us-coverage__other { margin-top: 1.25rem; padding: 1.5rem; border-radius: var(--us-radius-lg); background: var(--us-muted); }
.us-coverage__other h3 { font-size: 1.1rem; color: var(--us-navy); }
.us-coverage__other p { margin-top: .5rem; color: var(--us-text-muted); font-size: .95rem; }
.us-coverage__other .us-btn { margin-top: 1rem; }
@media (min-width: 1024px) { .us-coverage__map { grid-template-columns: repeat(8, 1fr); } }

/* ---- Galerija + lightbox ---- */
.us-gallery__grid { display: grid; gap: .75rem; grid-template-columns: repeat(2, 1fr); grid-auto-flow: dense; }
@media (min-width: 768px) { .us-gallery__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1100px) { .us-gallery__grid { grid-template-columns: repeat(4, 1fr); } }
.us-gallery__item { position: relative; display: block; overflow: hidden; border-radius: 14px; aspect-ratio: 4 / 3; background: var(--us-muted); cursor: zoom-in; }
.us-gallery__item.is-wide { grid-column: span 2; aspect-ratio: auto; }
.us-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.us-gallery__item::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(11,27,51,.45)); opacity: 0; transition: opacity .35s; }
@media (hover: hover) { .us-gallery__item:hover img { transform: scale(1.06); } .us-gallery__item:hover::after { opacity: 1; } }
.us-lightbox { position: fixed; inset: 0; z-index: 1000; display: none; align-items: center; justify-content: center; background: rgba(6,13,26,.92); padding: 4vh 4vw; }
.us-lightbox.is-open { display: flex; animation: us-fade .25s ease; }
.us-lightbox__img { max-width: 92vw; max-height: 90vh; width: auto; height: auto; border-radius: 10px; box-shadow: 0 30px 80px rgba(0,0,0,.6); background: #fff; }
.us-lightbox__btn { position: absolute; width: 3rem; height: 3rem; border: 0; border-radius: 50%; background: rgba(255,255,255,.12); color: #fff; font-size: 1.6rem; line-height: 1; display: grid; place-items: center; transition: background .2s; }
.us-lightbox__btn:hover { background: var(--us-amber); color: #201205; }
.us-lightbox__close { top: 1.25rem; right: 1.25rem; }
.us-lightbox__prev { left: 1.25rem; top: 50%; transform: translateY(-50%); }
.us-lightbox__next { right: 1.25rem; top: 50%; transform: translateY(-50%); }
@keyframes us-fade { from { opacity: 0; } to { opacity: 1; } }
body.us-no-scroll { overflow: hidden; }
.us-feature__media img, .us-laptop-zoomable { cursor: zoom-in; }

/* ---- YouTube ---- */
.us-videos__grid { display: grid; gap: 1.25rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .us-videos__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .us-videos__grid { grid-template-columns: repeat(3, 1fr); } }
.us-video { margin: 0; }
.us-video__poster { position: relative; display: block; width: 100%; padding: 0; border: 0; border-radius: var(--us-radius-lg); overflow: hidden; background: #000; aspect-ratio: 16 / 9; }
.us-video__poster img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s, opacity .3s; opacity: .92; }
.us-video__play { position: absolute; inset: 0; display: grid; place-items: center; }
.us-video__play .us-icon { width: 4rem; height: 4rem; padding: 1.15rem; border-radius: 50%; background: var(--us-amber); color: #201205; transition: transform .25s; }
@media (hover: hover) { .us-video__poster:hover img { transform: scale(1.05); opacity: 1; } .us-video__poster:hover .us-icon { transform: scale(1.1); } }
.us-video iframe { width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: var(--us-radius-lg); display: block; }
.us-video figcaption { margin-top: .7rem; font-weight: 600; color: var(--us-navy); font-size: .95rem; }

/* ---- Kontakt ---- */
.us-contact-split__grid { display: grid; gap: 2.5rem; align-items: start; }
@media (min-width: 1024px) { .us-contact-split__grid { grid-template-columns: 7fr 5fr; gap: 4rem; } }
.us-contact-split__form { padding: 2rem; }
.us-contact-split__form .us-muted-text { margin: .5rem 0 1.5rem; }
.us-contact-list { margin: 1.5rem 0 0; display: grid; gap: 0; }
.us-contact-list > div { padding: 1.1rem 0; border-top: 1px solid var(--us-border); display: grid; grid-template-columns: 8.5rem 1fr; gap: 1rem; }
.us-contact-list > div:last-child { border-bottom: 1px solid var(--us-border); }
.us-contact-list dt { font-size: .78rem; text-transform: uppercase; letter-spacing: .1em; color: var(--us-text-muted); font-weight: 700; padding-top: .15rem; }
.us-contact-list dd { margin: 0; color: var(--us-navy); font-weight: 600; line-height: 1.55; }
.us-contact-list a:hover { color: var(--us-amber-hover); }
.us-contact-team-head { margin-top: 0; }

/* ---- Tim: kolone se prilagodjavaju broju kartica (5 u redu, ne 4+1) ---- */
@media (min-width: 640px) { .us-team-grid { grid-template-columns: repeat(auto-fill, minmax(13.2rem, 1fr)); } }

/* ---- Klijenti ---- */
.us-partners__grid { gap: 0; opacity: 1; justify-items: stretch; border-top: 1px solid var(--us-border); border-left: 1px solid var(--us-border); }
.us-partners__item { display: grid; place-items: center; text-align: center; min-height: 5.5rem; padding: 1rem; border-right: 1px solid var(--us-border); border-bottom: 1px solid var(--us-border); font-size: .95rem; color: var(--us-text-muted); transition: color .25s, background .25s; }
.us-partners__item:hover { color: var(--us-navy); background: var(--us-muted); }
@media (min-width: 1024px) { .us-partners__grid { grid-template-columns: repeat(4, 1fr); } }

/* ---- FAQ: vise vazduha ---- */
.us-faq { gap: 4rem; }
@media (min-width: 1024px) { .us-faq { gap: 6rem; } .us-faq__heading { position: sticky; top: 7rem; align-self: start; } }
.us-faq__list { gap: .75rem; }
.us-faq__item { padding: 0; border: 1px solid var(--us-border); border-radius: var(--us-radius); background: #fff; transition: border-color .2s, box-shadow .2s; }
.us-faq__item[open] { border-color: var(--us-amber); box-shadow: 0 10px 26px rgba(16,24,40,.06); }
.us-faq__question { padding: 1.4rem 1.6rem; font-size: 1.05rem; gap: 1.25rem; }
.us-faq__answer { margin: 0; padding: 0 1.6rem 1.5rem; line-height: 1.7; }
.us-faq__heading .us-btn { margin-top: 1.75rem; }

/* ---- Pojedinacna usluga ---- */
.us-page-hero--service .us-page-hero__title { max-width: 14ch; }
.us-service-main__grid { display: grid; gap: 3rem; align-items: start; }
@media (min-width: 1024px) { .us-service-main__grid { grid-template-columns: 8fr 4fr; gap: 5rem; } }
.us-service-main__lead { margin-top: 1.25rem; font-size: 1.2rem; line-height: 1.65; color: var(--us-navy); font-weight: 500; }
.us-prose { margin-top: 1.75rem; color: var(--us-text-muted); font-size: 1.03rem; line-height: 1.8; }
.us-prose h3 { margin: 2.2rem 0 .7rem; font-size: 1.3rem; color: var(--us-navy); }
.us-prose p { margin: 0 0 1.1rem; }
.us-prose ul { margin: 0 0 1.3rem; padding: 0; list-style: none; display: grid; gap: .55rem; }
.us-prose li { position: relative; padding-left: 1.5rem; }
.us-prose li::before { content: ''; position: absolute; left: 0; top: .65em; width: .6rem; height: 2px; background: var(--us-amber); }
.us-prose strong { color: var(--us-navy); }
.us-service-main__aside { position: sticky; top: 7rem; }
.us-quote-card { padding: 1.9rem; border-radius: var(--us-radius-lg); background: var(--us-navy); color: #fff; }
.us-quote-card__title { font-size: 1.35rem; font-weight: 800; }
.us-quote-card p { margin: .75rem 0 1.5rem; color: rgba(255,255,255,.75); font-size: .95rem; }
.us-quote-card .us-btn { width: 100%; justify-content: center; }
.us-quote-card__phone { display: flex; align-items: center; justify-content: center; gap: .5rem; margin-top: 1.1rem; font-weight: 600; color: rgba(255,255,255,.85); }
.us-quote-card__phone:hover { color: var(--us-amber); }
.us-benefits { margin-top: 5rem; display: grid; gap: 1.1rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .us-benefits { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .us-benefits { grid-template-columns: repeat(4, 1fr); } }
.us-benefit { position: relative; padding: 1.7rem 1.5rem 1.6rem; border-radius: var(--us-radius-lg); background: var(--us-muted); overflow: hidden; transition: transform .35s cubic-bezier(.2,.7,.2,1), background .35s, box-shadow .35s; }
.us-benefit::before { content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 3px; background: var(--us-amber); transform: scaleX(.18); transform-origin: left; transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.us-benefit__title { font-size: 1.08rem; color: var(--us-navy); }
.us-benefit__text { margin-top: .6rem; color: var(--us-text-muted); font-size: .93rem; line-height: 1.6; }
@media (hover: hover) { .us-benefit:hover { background: #fff; transform: translateY(-5px); box-shadow: 0 18px 36px rgba(16,24,40,.1); } .us-benefit:hover::before { transform: scaleX(1); } }
.us-other { position: relative; display: block; padding: 1.6rem 3.2rem 1.6rem 1.6rem; border-radius: var(--us-radius-lg); background: #fff; border: 1px solid var(--us-border); transition: border-color .25s, transform .25s, box-shadow .25s; }
.us-other strong { display: block; font-size: 1.08rem; color: var(--us-navy); }
.us-other p { margin-top: .5rem; color: var(--us-text-muted); font-size: .9rem; }
.us-other__arrow { position: absolute; right: 1.4rem; top: 50%; transform: translateY(-50%); color: var(--us-amber); transition: transform .25s; }
@media (hover: hover) { .us-other:hover { border-color: var(--us-amber); transform: translateY(-3px); box-shadow: 0 14px 30px rgba(16,24,40,.08); } .us-other:hover .us-other__arrow { transform: translate(5px, -50%); } }

/* ---- Koraci (interaktivni) ---- */
.us-steps__layout { display: grid; gap: 2rem; margin-top: 3rem; }
@media (min-width: 900px) { .us-steps__layout { grid-template-columns: 5fr 7fr; gap: 3.5rem; align-items: stretch; } }
.us-steps__nav { display: grid; gap: .6rem; align-content: start; }
.us-steps__tab { display: flex; align-items: center; gap: 1rem; width: 100%; text-align: left; padding: 1rem 1.2rem; border-radius: var(--us-radius); border: 1px solid rgba(255,255,255,.14); background: transparent; color: rgba(255,255,255,.7); font-weight: 700; font-size: 1rem; transition: background .25s, border-color .25s, color .25s, transform .25s; }
.us-steps__num { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: rgba(255,255,255,.1); font-size: .85rem; flex-shrink: 0; transition: background .25s, color .25s; }
.us-steps__tab:hover { border-color: rgba(222,176,73,.6); color: #fff; }
.us-steps__tab.is-active { background: rgba(255,255,255,.07); border-color: var(--us-amber); color: #fff; transform: translateX(6px); }
.us-steps__tab.is-active .us-steps__num { background: var(--us-amber); color: #201205; }
.us-steps__panels { position: relative; padding: 2.4rem; border-radius: var(--us-radius-lg); background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); min-height: 16rem; overflow: hidden; }
.us-steps__panel { display: none; }
.us-steps__panel.is-active { display: block; animation: us-step-in .5s cubic-bezier(.2,.7,.2,1); }
.us-steps__panel h3 { font-size: 1.6rem; color: #fff; max-width: 22ch; }
.us-steps__panel p { margin-top: 1rem; color: rgba(255,255,255,.78); font-size: 1.05rem; line-height: 1.7; max-width: 38rem; position: relative; }
.us-steps__big { position: absolute; right: 1.4rem; top: -.6rem; font-size: 9rem; font-weight: 900; line-height: 1; color: rgba(222,176,73,.13); pointer-events: none; }
.us-steps__bar { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: rgba(255,255,255,.08); }
.us-steps__bar span { display: block; height: 100%; width: 0; background: var(--us-amber); }
.us-steps__bar.is-running span { animation: us-step-bar 7s linear forwards; }
@keyframes us-step-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes us-step-bar { to { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .us-steps__bar { display: none; } .us-steps__panel.is-active { animation: none; } }

/* ---- Sidra: pomeranje ispod fiksnog headera ---- */
.us-block[id], section[id] { scroll-margin-top: 5.5rem; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* ---- 2K / 4K ---- */
@media (min-width: 1700px) {
	html { font-size: 112.5%; }
	.us-container { max-width: 1440px; }
}
@media (min-width: 2200px) {
	html { font-size: 131%; }
	.us-container { max-width: 1680px; }
	.us-page-hero--photo .us-page-hero__inner { padding-top: 9rem; padding-bottom: 9rem; }
}
@media (min-width: 3000px) {
	html { font-size: 162%; }
	.us-container { max-width: 1900px; }
}

/* ---- Popravke posle provere ---- */
:root { --us-cw: 1280px; }
@media (min-width: 1700px) { :root { --us-cw: 1440px; } }
@media (min-width: 2200px) { :root { --us-cw: 1680px; } }
@media (min-width: 3000px) { :root { --us-cw: 1900px; } }
/* CTA: tekst levo, poravnat sa ivicom sadrzaja ostalih sekcija */
.us-cta-banner__inner { max-width: none; width: 100%; padding-left: 1.25rem; padding-right: 1.25rem; }
@media (min-width: 1024px) { .us-cta-banner__inner { padding-left: max(2rem, calc((100% - var(--us-cw)) / 2 + 2rem)); } }
@media (max-width: 1023px) { .us-cta-banner__inner { padding-left: max(1.25rem, calc((100% - var(--us-cw)) / 2 + 1.25rem)); } }
.us-cta-banner__inner > * { max-width: 36rem; }
.us-header__logo img { height: 3.4rem; }
@media (max-width: 640px) { .us-header__logo img { height: 2.6rem; } }

/* ---- Bez "//" ispred oznaka ---- */
.us-eyebrow::before { content: none; }

/* ---- Header: telefon i dugme ne lome red ---- */
.us-header__phone, .us-header__actions .us-btn { white-space: nowrap; }
@media (min-width: 1440px) { .us-header__phone { display: none; } }
@media (min-width: 1680px) { .us-header__phone { display: flex; } }
.us-header__nav > a, .us-header__dropdown > a { padding-left: .65rem; padding-right: .65rem; }

/* ---- Kartice bez ikonica: redovi sa linijom (umesto sablonskih kartica) ---- */
.us-rows { display: grid; gap: 2.5rem; }
@media (min-width: 1024px) { .us-rows { grid-template-columns: 5fr 7fr; gap: 6rem; align-items: start; } .us-rows__head { position: sticky; top: 7rem; } }
.us-rows__list { border-bottom: 1px solid var(--us-border); }
.us-row { position: relative; display: grid; gap: .5rem 2rem; padding: 1.7rem 0; border-top: 1px solid var(--us-border); transition: padding-left .35s cubic-bezier(.2,.7,.2,1); }
@media (min-width: 640px) { .us-row { grid-template-columns: 13rem 1fr; } }
.us-row::before { content: ''; position: absolute; left: 0; top: -1px; height: 2px; width: 0; background: var(--us-amber); transition: width .5s cubic-bezier(.2,.7,.2,1); }
.us-row__title { font-size: 1.08rem; color: var(--us-navy); line-height: 1.3; }
.us-row__text { color: var(--us-text-muted); line-height: 1.65; font-size: .97rem; }
@media (hover: hover) { .us-row:hover { padding-left: 1rem; } .us-row:hover::before { width: 100%; } }

/* ---- Vremenska linija (Mindshift stil, Ultraspeed boje) ---- */
.us-tl { background: var(--us-muted); }
.us-tl--navy { background: var(--us-navy); color: #fff; }
.us-tl__top { display: grid; gap: 1.5rem; align-items: end; }
@media (min-width: 900px) { .us-tl__top { grid-template-columns: 1fr 1fr; gap: 5rem; } }
.us-tl__intro { color: var(--us-text-muted); line-height: 1.7; max-width: 32rem; }
.us-tl--navy .us-tl__intro { color: rgba(255,255,255,.7); }
.us-tl__sub { margin-top: 3.5rem; font-weight: 600; color: var(--us-navy); font-size: 1.05rem; }
.us-tl--navy .us-tl__sub { color: var(--us-amber); }
.us-tl__track { margin-top: 3rem; display: grid; grid-template-columns: repeat(var(--n, 3), 1fr); position: relative; }
.us-tl__node { position: relative; text-align: left; border: 0; background: none; padding: 1.7rem 1rem 0 0; font-family: inherit; color: var(--us-text-muted); cursor: pointer; transition: color .3s; }
.us-tl--navy .us-tl__node { color: rgba(255,255,255,.55); }
.us-tl__node::before { content: ''; position: absolute; left: 0; right: 0; top: .45rem; height: 1px; background: rgba(16,24,40,.18); }
.us-tl--navy .us-tl__node::before { background: rgba(255,255,255,.2); }
.us-tl__node::after { content: ''; position: absolute; left: 0; top: .45rem; height: 2px; width: 0; background: var(--us-amber); transition: width .6s cubic-bezier(.2,.7,.2,1); }
.us-tl__node.is-done::after { width: 100%; }
.us-tl__dot { position: absolute; left: 0; top: 0; width: .95rem; height: .95rem; border-radius: 50%; background: #fff; border: 1.5px solid rgba(16,24,40,.35); z-index: 1; transition: background .3s, border-color .3s, transform .3s, box-shadow .3s; }
.us-tl--navy .us-tl__dot { background: var(--us-navy); border-color: rgba(255,255,255,.4); }
.us-tl__label { display: block; font-size: 1.12rem; font-weight: 700; line-height: 1.25; transition: color .3s; }
.us-tl__node:hover, .us-tl__node.is-active { color: var(--us-navy); }
.us-tl--navy .us-tl__node:hover, .us-tl--navy .us-tl__node.is-active { color: #fff; }
.us-tl__node.is-done .us-tl__dot { background: var(--us-amber); border-color: var(--us-amber); }
.us-tl__node.is-active .us-tl__dot { background: var(--us-amber); border-color: var(--us-amber); transform: scale(1.25); box-shadow: 0 0 0 6px rgba(222,176,73,.25); }
.us-tl__node:hover .us-tl__dot { border-color: var(--us-amber); }
.us-tl__node:focus-visible { outline: 2px solid var(--us-amber); outline-offset: 4px; }
.us-tl__panels { margin-top: 2.5rem; min-height: 6.5rem; max-width: 44rem; }
.us-tl__panel { display: none; font-size: 1.12rem; line-height: 1.75; color: var(--us-text-muted); }
.us-tl--navy .us-tl__panel { color: rgba(255,255,255,.82); }
.us-tl__panel.is-active { display: block; animation: us-step-in .5s cubic-bezier(.2,.7,.2,1); }
@media (max-width: 899px) {
	.us-tl__track { grid-template-columns: 1fr; gap: 0; margin-top: 2rem; }
	.us-tl__node { padding: .35rem 0 1.2rem 2rem; }
	.us-tl__node::before { left: .45rem; right: auto; top: 0; bottom: 0; width: 1px; height: auto; }
	.us-tl__node::after { left: .45rem; top: 0; width: 2px; height: 0; transition: height .5s; }
	.us-tl__node.is-done::after { width: 2px; height: 100%; }
	.us-tl__dot { top: .45rem; }
	.us-tl__sub { margin-top: 2rem; }
}

/* ---- Brojke: rolling cifre ---- */
.us-odo { display: inline-flex; align-items: baseline; font-variant-numeric: tabular-nums; }
.us-odo__d { display: inline-block; height: 1.12em; line-height: 1.12; overflow: hidden; vertical-align: top; }
.us-odo__col { display: block; will-change: transform; transition: transform 1.7s cubic-bezier(.16,.84,.24,1); }
.us-odo__col span { display: block; height: 1.12em; line-height: 1.12; }
@media (prefers-reduced-motion: reduce) { .us-odo__col { transition: none; } }

/* ---- Laptop: pilula ---- */
.us-laptop__cta { font-size: .85rem; }

/* ---- Statistika: tekstualne vrednosti manje, da ne pucaju u dva reda ---- */
.us-stats__value--text { font-size: 1.25rem; line-height: 1.3; white-space: nowrap; font-weight: 800; }
@media (min-width: 1024px) { .us-stats__value--text { font-size: 1.45rem; } }
.us-stats__value--text + .us-stats__label { margin-top: .5rem; }
.us-stats__label { max-width: 16rem; }

/* ---- Footer logo: prave boje na svetloj podlozi (bez bele siluete) ---- */
.us-footer__logo { display: inline-block; background: #fff; padding: .65rem 1rem; border-radius: 14px; }
.us-footer__logo img { height: 2.9rem; filter: none; }

/* ---- Galerija: siroke plocice zauzimaju 2x2 polja, bez rupa ---- */
.us-gallery__item.is-wide { grid-column: span 2; grid-row: span 2; aspect-ratio: auto; }
.us-gallery__item.is-wide img { height: 100%; }
@media (max-width: 767px) { .us-gallery__item.is-wide { grid-row: span 1; aspect-ratio: 4 / 3; } }

/* ---- 404 ---- */
.us-404 { background: var(--us-navy); color: #fff; position: relative; overflow: hidden; }
.us-404::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 78% 40%, rgba(222,176,73,.16), transparent 52%); pointer-events: none; }
.us-404__inner { position: relative; display: grid; gap: 2rem; align-items: center; padding-top: 5rem; padding-bottom: 5rem; }
@media (min-width: 900px) { .us-404__inner { grid-template-columns: 5fr 7fr; gap: 4rem; padding-top: 7rem; padding-bottom: 7rem; } }
.us-404__num { font-size: clamp(6rem, 20vw, 15rem); font-weight: 900; line-height: .85; letter-spacing: -.04em; color: transparent; -webkit-text-stroke: 2px var(--us-amber); }
.us-404__title { font-size: clamp(1.8rem, 4vw, 2.8rem); font-weight: 900; line-height: 1.1; max-width: 20ch; }
.us-404__text { margin-top: 1rem; color: rgba(255,255,255,.75); max-width: 34rem; line-height: 1.7; }
.us-404__actions { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: .75rem; }
.us-404__cols { display: grid; gap: 2.5rem; }
@media (min-width: 700px) { .us-404__cols { grid-template-columns: repeat(3, 1fr); gap: 3rem; } }
.us-404__cols ul { margin-top: 1rem; border-top: 1px solid var(--us-border); }
.us-404__cols li a { display: block; padding: .85rem 0; border-bottom: 1px solid var(--us-border); color: var(--us-navy); font-weight: 600; transition: padding-left .25s, color .25s; }
@media (hover: hover) { .us-404__cols li a:hover { padding-left: .6rem; color: var(--us-amber-hover); } }
