/* Ultraspeed theme styles */

:root {
	--us-navy: #0B1B33;
	--us-navy-soft: #16264A;
	--us-amber: #FF6A1A;
	--us-amber-hover: #E85A12;
	--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--onnavy { color: var(--us-amber); }

.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: 1024px) {
	.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: 1280px) { .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: 5rem 0 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: 7rem 0 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: rgba(255,255,255,.03); 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: 4.5rem 0; 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: 5rem 0; 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: 4.5rem 0; display: grid; gap: 2.5rem; grid-template-columns: repeat(2, 1fr); }
.us-footer__logo img { height: 2.25rem; filter: brightness(0) invert(1); }
.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: 2rem 0; 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 {
		opacity: 0;
		transform: translateY(18px);
		transition: opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1);
		will-change: opacity, transform;
	}
	.us-reveal.is-visible { opacity: 1; 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;
}