@font-face { font-family: 'Outfit'; font-display: swap; src: local('Outfit'); }
@font-face { font-family: 'Inter';  font-display: swap; src: local('Inter');  } :root { --color-primary:      #0B4F7A;
--color-primary-dark: #083d61;
--color-primary-light:#1a6fa0;
--color-secondary:    #35B6C9;
--color-accent:       #D9B67A;
--color-red:          #E03131; --color-bg:           #F8FBFD;
--color-bg-alt:       #EEF5FA;
--color-white:        #FFFFFF;
--color-text:         #1F2933;
--color-text-light:   #637381;
--color-text-muted:   #9aacb8;
--color-border:       #DDE7EF; --color-footer-bg:    #0d1c2b;
--color-footer-text:  #a8bfd0;
--color-footer-head:  #FFFFFF; --font-heading: 'Outfit', sans-serif;
--font-body:    'Inter', sans-serif; --space-xs:  0.25rem;
--space-sm:  0.5rem;
--space-md:  1rem;
--space-lg:  1.5rem;
--space-xl:  2.5rem;
--space-2xl: 4rem;
--space-3xl: 6rem; --radius-sm:  6px;
--radius-md:  12px;
--radius-lg:  20px;
--radius-xl:  28px;
--radius-full: 9999px; --shadow-sm:  0 1px 4px rgba(11,79,122,0.07);
--shadow-md:  0 4px 16px rgba(11,79,122,0.10);
--shadow-lg:  0 8px 32px rgba(11,79,122,0.14);
--shadow-xl:  0 16px 56px rgba(11,79,122,0.18); --trans-fast:   0.15s ease;
--trans-base:   0.25s ease;
--trans-slow:   0.4s ease; --container-max: 1200px;
--container-pad: 1.5rem; --header-h:    76px;
--topbar-h:    40px;
} *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html {
font-size: 16px;
scroll-behavior: smooth;
-webkit-text-size-adjust: 100%;
}
body {
font-family: var(--font-body);
color: var(--color-text);
background: var(--color-bg);
line-height: 1.6;
overflow-x: hidden;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
img {
max-width: 100%;
height: auto;
display: block;
}
a {
color: inherit;
text-decoration: none;
}
ul, ol { list-style: none; }
button {
cursor: pointer;
border: none;
background: none;
font-family: inherit;
} .sr-only {
position: absolute;
width: 1px; height: 1px;
padding: 0; margin: -1px;
overflow: hidden;
clip: rect(0,0,0,0);
white-space: nowrap;
border: 0;
} :focus-visible {
outline: 3px solid var(--color-secondary);
outline-offset: 3px;
border-radius: 4px;
} .container {
max-width: var(--container-max);
margin-inline: auto;
padding-inline: var(--container-pad);
} .btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
padding: 0.75rem 1.75rem;
border-radius: var(--radius-md);
font-family: var(--font-heading);
font-weight: 600;
font-size: 0.95rem;
letter-spacing: 0.01em;
transition: all var(--trans-base);
white-space: nowrap;
}
.btn--primary {
background: var(--color-primary);
color: var(--color-white);
box-shadow: 0 4px 14px rgba(11,79,122,0.3);
}
.btn--primary:hover {
background: var(--color-primary-dark);
transform: translateY(-1px);
box-shadow: 0 6px 20px rgba(11,79,122,0.38);
}
.btn--outline {
background: var(--color-white);
color: var(--color-primary);
border: 2px solid var(--color-primary);
}
.btn--outline:hover {
background: var(--color-primary);
color: var(--color-white);
transform: translateY(-1px);
}
.btn--outline-blue {
background: transparent;
color: var(--color-secondary);
border: 2px solid var(--color-secondary);
border-radius: var(--radius-full);
padding: 0.65rem 1.5rem;
}
.btn--outline-blue:hover {
background: var(--color-secondary);
color: var(--color-white);
}
.btn--red {
background: var(--color-red);
color: var(--color-white);
border-radius: var(--radius-sm);
padding: 0.7rem 1.4rem;
font-size: 0.9rem;
box-shadow: 0 4px 14px rgba(224,49,49,0.35);
}
.btn--red:hover {
filter: brightness(1.08);
transform: translateY(-1px);
} .section-header {
display: flex;
align-items: center;
gap: 1rem;
margin-bottom: 2rem;
justify-content: center;
}
.section-header__line {
flex: 1;
max-width: 120px;
height: 1px;
background: linear-gradient(to right, transparent, var(--color-border));
}
.section-header__line:last-child {
background: linear-gradient(to left, transparent, var(--color-border));
}
.section-title {
font-family: var(--font-heading);
font-size: clamp(1.4rem, 3vw, 1.75rem);
font-weight: 700;
color: var(--color-primary);
text-align: center;
white-space: nowrap;
}
.section-cta {
display: flex;
justify-content: center;
margin-top: 2rem;
} .topbar {
background: var(--color-primary);
color: rgba(255,255,255,0.9);
font-size: 0.78rem;
height: var(--topbar-h);
display: flex;
align-items: center;
}
.topbar__inner {
max-width: var(--container-max);
margin-inline: auto;
padding-inline: var(--container-pad);
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
}
.topbar__left,
.topbar__right {
display: flex;
align-items: center;
gap: 1.5rem;
}
.topbar__item {
display: flex;
align-items: center;
gap: 0.4rem;
white-space: nowrap;
opacity: 0.92;
}
.topbar__link {
display: flex;
align-items: center;
gap: 0.4rem;
color: inherit;
opacity: 0.88;
transition: opacity var(--trans-fast);
}
.topbar__link:hover { opacity: 1; } .header {
position: sticky;
top: 0;
z-index: 1000;
background: var(--color-white);
height: var(--header-h);
box-shadow: 0 2px 12px rgba(11,79,122,0.08);
transition: box-shadow var(--trans-base);
}
.header--scrolled {
box-shadow: 0 4px 24px rgba(11,79,122,0.14);
}
.header__inner {
max-width: var(--container-max);
margin-inline: auto;
padding-inline: var(--container-pad);
height: 100%;
display: flex;
align-items: center;
gap: 1.5rem;
} .header__logo {
display: flex;
align-items: center;
gap: 0.6rem;
flex-shrink: 0;
}
.logo__text {
display: flex;
flex-direction: column;
line-height: 1.2;
}
.logo__name {
font-family: var(--font-heading);
font-size: 1.05rem;
font-weight: 700;
color: var(--color-primary);
}
.logo__tagline {
font-size: 0.7rem;
color: var(--color-text-light);
font-weight: 400;
} .header__nav {
flex: 1;
display: flex;
justify-content: center;
}
.nav__list {
display: flex;
align-items: center;
gap: 0.25rem;
}
.nav__link {
display: flex;
align-items: center;
gap: 0.25rem;
padding: 0.5rem 0.75rem;
font-size: 0.88rem;
font-weight: 500;
color: var(--color-text);
border-radius: var(--radius-sm);
transition: all var(--trans-fast);
white-space: nowrap;
}
.nav__link:hover,
.nav__item--active .nav__link {
color: var(--color-primary);
background: var(--color-bg-alt);
} .header__phone {
display: flex;
align-items: center;
gap: 0.6rem;
padding: 0.5rem 1.1rem;
border: 2px solid var(--color-primary);
border-radius: var(--radius-md);
color: var(--color-primary);
flex-shrink: 0;
transition: all var(--trans-base);
}
.header__phone:hover {
background: var(--color-primary);
color: var(--color-white);
}
.phone__icon {
display: flex;
align-items: center;
justify-content: center;
width: 32px; height: 32px;
background: var(--color-bg-alt);
border-radius: 50%;
transition: background var(--trans-base);
flex-shrink: 0;
}
.header__phone:hover .phone__icon {
background: rgba(255,255,255,0.2);
}
.phone__text {
display: flex;
flex-direction: column;
line-height: 1.2;
}
.phone__label {
font-size: 0.68rem;
font-weight: 500;
opacity: 0.75;
}
.phone__number {
font-family: var(--font-heading);
font-size: 0.9rem;
font-weight: 700;
} .header__burger {
display: none;
flex-direction: column;
gap: 5px;
padding: 8px;
border-radius: var(--radius-sm);
transition: background var(--trans-fast);
margin-left: auto;
}
.header__burger:hover { background: var(--color-bg-alt); }
.header__burger span {
display: block;
width: 22px; height: 2px;
background: var(--color-text);
border-radius: 2px;
transition: all var(--trans-base);
}
.header__burger[aria-expanded="true"] span:nth-child(1) {
transform: translateY(7px) rotate(45deg);
}
.header__burger[aria-expanded="true"] span:nth-child(2) {
opacity: 0; transform: scaleX(0);
}
.header__burger[aria-expanded="true"] span:nth-child(3) {
transform: translateY(-7px) rotate(-45deg);
} .mobile-nav {
position: fixed;
top: var(--header-h);
left: 0; right: 0;
background: var(--color-white);
z-index: 999;
transform: translateY(-100%);
opacity: 0;
pointer-events: none;
transition: all var(--trans-base);
box-shadow: var(--shadow-lg);
border-top: 1px solid var(--color-border);
}
.mobile-nav--open {
transform: translateY(0);
opacity: 1;
pointer-events: auto;
}
.mobile-nav ul {
padding: 1rem;
}
.mobile-nav li a {
display: block;
padding: 0.85rem 1rem;
font-weight: 500;
border-radius: var(--radius-sm);
color: var(--color-text);
border-bottom: 1px solid var(--color-border);
transition: all var(--trans-fast);
}
.mobile-nav li:last-child a { border-bottom: none; }
.mobile-nav li a:hover {
background: var(--color-bg-alt);
color: var(--color-primary);
padding-left: 1.4rem;
}
.mobile-nav__phone a {
color: var(--color-primary) !important;
font-weight: 700 !important;
font-size: 1.05rem;
text-align: center;
} .hero {
position: relative;
min-height: 580px;
display: flex;
flex-direction: column;
background: #0B2D44;
}
.hero__bg {
position: absolute;
inset: 0;
overflow: hidden;
} .hero__bg picture,
.hero__picture { display: block; width: 100%; height: 100%; }
.hero__img,
.hero__bg-img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: var(--hero-pos, center 40%);
display: block;
}
.hero__overlay {
display: none;
}
.hero__content {
position: relative;
z-index: 2;
max-width: var(--container-max);
margin-inline: auto;
padding-inline: var(--container-pad);
padding-top: 4.5rem;
padding-bottom: 4rem;
width: 100%;
}
.hero__text {
max-width: 560px;
}
.hero__headline {
text-shadow: 0 2px 12px rgba(0,0,0,0.45), 0 1px 3px rgba(0,0,0,0.30);
font-family: var(--font-heading);
font-size: clamp(2rem, 5vw, 3.2rem);
font-weight: 800;
color: var(--color-white);
line-height: 1.15;
margin-bottom: 1rem;
letter-spacing: -0.02em;
}
.hero__subline {
text-shadow: 0 1px 6px rgba(0,0,0,0.40);
font-size: clamp(0.95rem, 2vw, 1.1rem);
color: rgba(255,255,255,0.96);
line-height: 1.65;
font-weight: 400;
} .search-card {
position: relative;
z-index: 10;
max-width: var(--container-max);
margin-inline: auto;
padding-inline: var(--container-pad);
margin-top: -80px;
padding-bottom: var(--space-2xl);
}
.search-card__inner {
background: var(--color-white);
border-radius: var(--radius-lg);
box-shadow: var(--shadow-xl);
overflow: hidden;
} .search-tabs {
display: flex;
border-bottom: 1px solid var(--color-border);
background: #f4f9fc;
}
.search-tab {
display: flex;
align-items: center;
gap: 0.4rem;
padding: 0.9rem 1.4rem;
font-size: 0.88rem;
font-weight: 500;
color: var(--color-text-light);
border-bottom: 3px solid transparent;
transition: all var(--trans-fast);
border-radius: 0;
white-space: nowrap;
background: none;
}
.search-tab:hover {
color: var(--color-primary);
background: rgba(11,79,122,0.04);
}
.search-tab--active {
color: var(--color-primary);
background: var(--color-white);
border-bottom-color: var(--color-primary);
font-weight: 600;
} .search-filters {
display: flex;
align-items: flex-end;
gap: 0.75rem;
padding: 1.25rem 1.5rem;
flex-wrap: wrap;
}
.search-filter {
display: flex;
flex-direction: column;
gap: 0.35rem;
flex: 1;
min-width: 130px;
}
.search-filter__label {
font-size: 0.75rem;
font-weight: 600;
color: var(--color-text-light);
text-transform: uppercase;
letter-spacing: 0.03em;
}
.search-filter__select-wrap {
position: relative;
display: flex;
align-items: center;
}
.search-filter__icon {
position: absolute;
left: 0.65rem;
color: var(--color-text-muted);
pointer-events: none;
flex-shrink: 0;
}
.search-filter__arrow {
position: absolute;
right: 0.65rem;
color: var(--color-text-muted);
pointer-events: none;
flex-shrink: 0;
}
.search-filter__select {
width: 100%;
appearance: none;
padding: 0.6rem 2rem 0.6rem 2.1rem;
border: 1.5px solid var(--color-border);
border-radius: var(--radius-sm);
font-family: var(--font-body);
font-size: 0.85rem;
color: var(--color-text);
background: var(--color-white);
cursor: pointer;
transition: border-color var(--trans-fast);
}
.search-filter__select:focus {
outline: none;
border-color: var(--color-primary);
}
.search-filter__select:hover {
border-color: var(--color-text-muted);
}
.search-btn {
flex-shrink: 0;
background: var(--color-primary);
color: var(--color-white);
font-family: var(--font-heading);
font-size: 0.95rem;
font-weight: 700;
padding: 0.72rem 1.6rem;
border-radius: var(--radius-sm);
box-shadow: 0 4px 14px rgba(11,79,122,0.3);
transition: all var(--trans-base);
white-space: nowrap;
align-self: flex-end;
height: 42px;
}
.search-btn:hover {
background: var(--color-primary-dark);
transform: translateY(-1px);
box-shadow: 0 6px 20px rgba(11,79,122,0.4);
} .search-trust {
display: flex;
align-items: center;
gap: 1.5rem;
padding: 0.7rem 1.5rem;
background: #f9fbfd;
border-top: 1px solid var(--color-border);
flex-wrap: wrap;
}
.search-trust__item {
display: flex;
align-items: center;
gap: 0.4rem;
font-size: 0.8rem;
color: var(--color-text-light);
} .destinations {
padding-block: var(--space-3xl);
content-visibility: auto;
contain-intrinsic-size: 0 600px;
}
.bento-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
grid-template-rows: auto auto;
gap: 0.85rem;
}
.dest-card {
border-radius: var(--radius-md);
overflow: hidden;
position: relative;
box-shadow: var(--shadow-sm);
transition: transform var(--trans-base), box-shadow var(--trans-base);
}
.dest-card:hover {
transform: translateY(-3px);
box-shadow: var(--shadow-lg);
}
.dest-card--wide {
grid-column: span 2;
}
.dest-card__link {
display: block;
position: relative;
}
.dest-card__img-wrap {
overflow: hidden;
aspect-ratio: 4/3;
}
.dest-card--wide .dest-card__img-wrap {
aspect-ratio: 16/7;
}
.dest-card__img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform var(--trans-slow);
display: block;
}
.dest-card:hover .dest-card__img {
transform: scale(1.05);
} .dest-card__img-wrap picture { display: block; width: 100%; height: 100%; }
.dest-card__body {
position: absolute;
bottom: 0; left: 0; right: 0;
padding: 1rem 1.1rem;
background: linear-gradient(to top, rgba(0,0,0,0.72) 0%, transparent 100%);
color: var(--color-white);
}
.dest-card__title {
font-family: var(--font-heading);
font-size: 1.1rem;
font-weight: 700;
margin-bottom: 0.25rem;
}
.dest-card__price {
display: flex;
flex-direction: column;
line-height: 1.2;
}
.dest-card__nights {
font-size: 0.75rem;
opacity: 0.85;
}
.dest-card__amount {
font-family: var(--font-heading);
font-size: 1.4rem;
font-weight: 800;
line-height: 1;
}
.dest-card__amount sup {
font-size: 0.65rem;
font-weight: 600;
vertical-align: super;
margin-left: 2px;
opacity: 0.9;
} .shipping-lines {
padding-block: var(--space-2xl);
background: var(--color-white);
border-top: 1px solid var(--color-border);
border-bottom: 1px solid var(--color-border);
content-visibility: auto;
contain-intrinsic-size: 0 400px;
}
.shipping-grid {
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 1rem;
}
.shipping-card {
display: flex;
flex-direction: column;
align-items: center;
gap: 0.75rem;
padding: 1.5rem 1rem;
border: 1.5px solid var(--color-border);
border-radius: var(--radius-md);
background: var(--color-white);
text-align: center;
transition: all var(--trans-base);
box-shadow: var(--shadow-sm);
}
.shipping-card:hover {
border-color: var(--color-primary);
box-shadow: var(--shadow-md);
transform: translateY(-2px);
}
.shipping-card__logo {
display: flex;
align-items: center;
justify-content: center;
height: 44px;
}
.shipping-card__rating {
display: flex;
flex-direction: column;
align-items: center;
gap: 0.2rem;
}
.stars {
display: flex;
gap: 1px;
color: #F59E0B;
font-size: 0.9rem;
}
.star--half { opacity: 0.5; }
.star--empty { opacity: 0.2; }
.rating-score {
font-size: 0.75rem;
color: var(--color-text-light);
font-weight: 500;
}
.shipping-card__cta {
font-size: 0.78rem;
font-weight: 600;
color: var(--color-primary);
border-bottom: 1px solid transparent;
padding-bottom: 1px;
transition: border-color var(--trans-fast);
}
.shipping-card__cta:hover {
border-bottom-color: var(--color-primary);
} .promo-row {
padding-block: var(--space-2xl);
background: var(--color-bg);
content-visibility: auto;
contain-intrinsic-size: 0 380px;
}
.promo-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1.25rem;
}
.promo-card {
display: flex;
border-radius: var(--radius-lg);
overflow: hidden;
background: var(--color-white);
box-shadow: var(--shadow-md);
min-height: 180px;
}
.promo-card__content {
flex: 1;
padding: 1.5rem 1.75rem;
display: flex;
flex-direction: column;
justify-content: center;
gap: 0.75rem;
}
.promo-card__badge {
display: inline-flex;
align-items: center;
background: #FFF3CD;
color: #92400E;
font-size: 0.78rem;
font-weight: 700;
padding: 0.25rem 0.75rem;
border-radius: var(--radius-full);
width: fit-content;
}
.promo-card__title {
font-family: var(--font-heading);
font-size: 1.3rem;
font-weight: 700;
color: var(--color-text);
}
.promo-card__text {
font-size: 0.88rem;
color: var(--color-text-light);
line-height: 1.6;
} .countdown {
display: flex;
align-items: flex-end;
gap: 0.4rem;
}
.countdown__unit {
display: flex;
flex-direction: column;
align-items: center;
gap: 0.15rem;
}
.countdown__val {
font-family: var(--font-heading);
font-size: 2rem;
font-weight: 800;
color: var(--color-text);
line-height: 1;
min-width: 2ch;
text-align: center;
}
.countdown__label {
font-size: 0.65rem;
color: var(--color-text-light);
text-transform: uppercase;
letter-spacing: 0.04em;
font-weight: 600;
}
.countdown__sep {
font-family: var(--font-heading);
font-size: 1.6rem;
font-weight: 700;
color: var(--color-text-muted);
margin-bottom: 0.6rem;
line-height: 1;
} .promo-card__img-wrap {
width: 200px;
flex-shrink: 0;
overflow: hidden;
}
.promo-card__img {
width: 100%;
height: 100%;
object-fit: cover;
} .promo-card--ai {
background: linear-gradient(135deg, #f0f9ff 0%, #e8f4fd 100%);
position: relative;
overflow: hidden;
}
.promo-card__robot {
width: 180px;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
padding: 1rem;
position: relative;
}
.robot {
display: flex;
flex-direction: column;
align-items: center;
gap: 4px;
}
.robot__head {
width: 60px; height: 50px;
background: linear-gradient(135deg, #e8f0f7, #cdddf0);
border-radius: 50% 50% 45% 45%;
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
position: relative;
box-shadow: inset 0 2px 4px rgba(255,255,255,0.7), 0 3px 8px rgba(11,79,122,0.15);
}
.robot__eye {
width: 10px; height: 12px;
background: var(--color-secondary);
border-radius: 50%;
position: relative;
top: -2px;
box-shadow: 0 0 6px rgba(53,182,201,0.5);
animation: eyeBlink 3s infinite;
}
.robot__eye--right { animation-delay: 0.1s; }
@keyframes eyeBlink {
0%, 90%, 100% { transform: scaleY(1); }
95% { transform: scaleY(0.15); }
}
.robot__mouth {
position: absolute;
bottom: 10px;
width: 18px; height: 6px;
border: 2px solid var(--color-primary);
border-top: none;
border-radius: 0 0 10px 10px;
opacity: 0.6;
}
.robot__body {
width: 50px; height: 38px;
background: linear-gradient(135deg, #d5e6f0, #b8d2e8);
border-radius: 10px 10px 14px 14px;
box-shadow: 0 4px 10px rgba(11,79,122,0.15);
}
.robot__bubble {
position: absolute;
top: 12px; right: -10px;
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: 12px 12px 0 12px;
padding: 0.4rem 0.6rem;
font-size: 0.72rem;
color: var(--color-text);
line-height: 1.4;
max-width: 110px;
box-shadow: var(--shadow-sm);
} .usps {
padding-block: var(--space-3xl);
background: var(--color-white);
content-visibility: auto;
contain-intrinsic-size: 0 350px;
}
.usps-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 2rem;
}
.usp-item {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
gap: 0.75rem;
}
.usp-item__icon {
margin-bottom: 0.25rem;
}
.usp-item__title {
font-family: var(--font-heading);
font-size: 1rem;
font-weight: 700;
color: var(--color-text);
}
.usp-item__text {
font-size: 0.85rem;
color: var(--color-text-light);
line-height: 1.65;
} .blog {
padding-block: var(--space-3xl);
background: var(--color-bg);
content-visibility: auto;
contain-intrinsic-size: 0 500px;
}
.blog-grid {
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 1.1rem;
}
.blog-card {
border-radius: var(--radius-md);
overflow: hidden;
background: var(--color-white);
box-shadow: var(--shadow-sm);
transition: all var(--trans-base);
}
.blog-card:hover {
transform: translateY(-3px);
box-shadow: var(--shadow-md);
}
.blog-card__link {
display: block;
height: 100%;
}
.blog-card__img-wrap {
overflow: hidden;
aspect-ratio: 16/9;
}
.blog-card__img {
width: 100%; height: 100%;
object-fit: cover;
transition: transform var(--trans-slow);
}
.blog-card:hover .blog-card__img {
transform: scale(1.04);
}
.blog-card__body {
padding: 1rem;
display: flex;
flex-direction: column;
gap: 0.4rem;
}
.blog-card__title {
font-family: var(--font-heading);
font-size: 0.92rem;
font-weight: 700;
color: var(--color-text);
line-height: 1.35;
}
.blog-card__excerpt {
font-size: 0.8rem;
color: var(--color-text-light);
line-height: 1.55;
flex: 1;
}
.blog-card__cta {
font-size: 0.8rem;
font-weight: 600;
color: var(--color-primary);
margin-top: 0.25rem;
transition: color var(--trans-fast);
}
.blog-card:hover .blog-card__cta {
color: var(--color-secondary);
} .newsletter {
padding-block: var(--space-xl);
background: var(--color-white);
border-top: 1px solid var(--color-border);
border-bottom: 1px solid var(--color-border);
}
.newsletter__inner {
display: flex;
align-items: center;
gap: 2rem;
justify-content: space-between;
}
.newsletter__text {
flex: 1;
}
.newsletter__title {
font-family: var(--font-heading);
font-size: clamp(1.1rem, 2.5vw, 1.35rem);
font-weight: 700;
color: var(--color-text);
margin-bottom: 0.3rem;
}
.newsletter__sub {
font-size: 0.85rem;
color: var(--color-text-light);
line-height: 1.55;
}
.newsletter__form {
display: flex;
gap: 0.75rem;
align-items: center;
flex-shrink: 0;
}
.newsletter__input {
width: 300px;
padding: 0.7rem 1rem;
border: 1.5px solid var(--color-border);
border-radius: var(--radius-md);
font-family: var(--font-body);
font-size: 0.88rem;
color: var(--color-text);
background: var(--color-bg);
transition: border-color var(--trans-fast);
}
.newsletter__input:focus {
outline: none;
border-color: var(--color-primary);
background: var(--color-white);
}
.newsletter__input::placeholder { color: var(--color-text-muted); }
.newsletter__btn {
background: var(--color-primary);
color: var(--color-white);
font-family: var(--font-heading);
font-size: 0.92rem;
font-weight: 700;
padding: 0.72rem 1.5rem;
border-radius: var(--radius-md);
white-space: nowrap;
box-shadow: 0 4px 14px rgba(11,79,122,0.3);
transition: all var(--trans-base);
}
.newsletter__btn:hover {
background: var(--color-primary-dark);
transform: translateY(-1px);
} .footer { background: var(--color-footer-bg); }
.footer__main {
padding-block: var(--space-2xl);
}
.footer__grid {
display: grid;
grid-template-columns: repeat(6, 1fr);
gap: 2rem;
}
.footer__heading {
font-family: var(--font-heading);
font-size: 0.85rem;
font-weight: 700;
color: var(--color-footer-head);
text-transform: uppercase;
letter-spacing: 0.06em;
margin-bottom: 1rem;
}
.footer__list li {
margin-bottom: 0.4rem;
}
.footer__list a {
font-size: 0.83rem;
color: var(--color-footer-text);
transition: color var(--trans-fast);
line-height: 1.5;
}
.footer__list a:hover {
color: var(--color-secondary);
} .footer__contact {
display: flex;
flex-direction: column;
gap: 0.5rem;
margin-bottom: 1rem;
}
.footer__phone {
display: flex;
align-items: center;
gap: 0.4rem;
font-family: var(--font-heading);
font-size: 1rem;
font-weight: 700;
color: var(--color-white);
transition: color var(--trans-fast);
}
.footer__phone:hover { color: var(--color-secondary); }
.footer__hours {
font-size: 0.75rem;
color: var(--color-footer-text);
padding-left: 1.5rem;
}
.footer__email {
display: flex;
align-items: center;
gap: 0.4rem;
font-size: 0.8rem;
color: var(--color-footer-text);
transition: color var(--trans-fast);
}
.footer__email:hover { color: var(--color-secondary); } .footer__social {
display: flex;
gap: 0.6rem;
margin-top: 0.5rem;
}
.social-icon {
display: flex;
align-items: center;
justify-content: center;
width: 36px; height: 36px;
border: 1px solid rgba(255,255,255,0.15);
border-radius: 50%;
color: var(--color-footer-text);
transition: all var(--trans-base);
}
.social-icon:hover {
border-color: var(--color-secondary);
color: var(--color-secondary);
background: rgba(53,182,201,0.08);
transform: translateY(-2px);
} .footer__bottom {
border-top: 1px solid rgba(255,255,255,0.08);
padding-block: 1rem;
}
.footer__bottom-inner {
display: flex;
align-items: center;
gap: 1.5rem;
flex-wrap: wrap;
}
.footer__copy {
font-size: 0.8rem;
color: var(--color-footer-text);
}
.footer__trust,
.footer__payments {
display: flex;
align-items: center;
gap: 0.5rem;
}
.tuv-badge {
display: flex;
align-items: center;
justify-content: center;
}
.payment-badge {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 0.25rem 0.5rem;
border-radius: 4px;
font-size: 0.72rem;
font-weight: 800;
letter-spacing: 0.02em;
}
.payment-badge--mc  { background: #EB001B; color: white; }
.payment-badge--visa { background: #1A1F71; color: white; }
.payment-badge--pp  { background: #003087; color: white; }
.footer__trustpilot {
display: flex;
align-items: center;
gap: 0.35rem;
margin-left: auto;
}
.trustpilot__text {
font-size: 0.78rem;
color: var(--color-footer-text);
font-weight: 600;
}
.trustpilot__stars {
color: #00B67A;
font-size: 0.75rem;
letter-spacing: 1px;
}
.trustpilot__score {
font-size: 0.78rem;
color: #00B67A;
font-weight: 700;
}
.back-to-top {
display: flex;
align-items: center;
gap: 0.3rem;
font-size: 0.78rem;
color: var(--color-footer-text);
border: 1px solid rgba(255,255,255,0.15);
padding: 0.3rem 0.7rem;
border-radius: var(--radius-full);
transition: all var(--trans-fast);
white-space: nowrap;
}
.back-to-top:hover {
color: var(--color-secondary);
border-color: var(--color-secondary);
} .mobile-cta {
display: none;
position: fixed;
bottom: 0; left: 0; right: 0;
z-index: 900;
background: var(--color-white);
box-shadow: 0 -4px 20px rgba(0,0,0,0.12);
padding: 0.75rem 1rem;
gap: 0.75rem;
}
.mobile-cta__call,
.mobile-cta__search {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
gap: 0.4rem;
padding: 0.75rem;
border-radius: var(--radius-sm);
font-family: var(--font-heading);
font-size: 0.85rem;
font-weight: 700;
transition: all var(--trans-fast);
}
.mobile-cta__call {
background: var(--color-primary);
color: white;
}
.mobile-cta__search {
background: var(--color-bg-alt);
color: var(--color-primary);
border: 2px solid var(--color-primary);
}  @media (max-width: 1024px) {
:root {
--container-pad: 1rem;
}
.topbar__left .topbar__item:nth-child(3),
.topbar__left .topbar__item:nth-child(4) {
display: none;
}
.header__nav { display: none; }
.header__burger { display: flex; }
.header__cta { display: none; }
.bento-grid {
grid-template-columns: repeat(2, 1fr);
}
.dest-card--wide { grid-column: span 1; }
.shipping-grid { grid-template-columns: repeat(3, 1fr); }
.shipping-card:nth-child(4),
.shipping-card:nth-child(5) { display: none; }
.usps-grid { grid-template-columns: repeat(2, 1fr); }
.blog-grid { grid-template-columns: repeat(3, 1fr); }
.blog-card:nth-child(4),
.blog-card:nth-child(5) { display: none; }
.footer__grid { grid-template-columns: repeat(3, 1fr); }
} @media (max-width: 768px) {
:root {
--topbar-h: 0px;
--header-h: 64px;
}
.topbar { display: none; }
.hero {
min-height: 420px;
}
.hero__content {
padding-top: 2.5rem;
padding-bottom: 12rem;
}
.search-card {
margin-top: -140px;
padding-bottom: var(--space-xl);
}
.search-filters {
flex-direction: column;
gap: 0.85rem;
}
.search-filter {
min-width: 100%;
}
.search-btn {
width: 100%;
height: auto;
padding: 0.9rem;
font-size: 1rem;
}
.search-trust {
gap: 0.75rem;
}
.search-trust__item:nth-child(3),
.search-trust__item:nth-child(4) {
display: none;
}
.bento-grid { grid-template-columns: 1fr 1fr; gap: 0.6rem; }
.dest-card--wide { grid-column: span 2; }
.shipping-grid { grid-template-columns: repeat(2, 1fr); }
.shipping-card:nth-child(5) { display: none; }
.promo-grid { grid-template-columns: 1fr; }
.promo-card__img-wrap { display: none; }
.usps-grid { grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }
.blog-grid { grid-template-columns: repeat(2, 1fr); }
.blog-card:nth-child(5) { display: none; }
.newsletter__inner { flex-direction: column; align-items: stretch; gap: 1.25rem; }
.newsletter__form { flex-direction: column; }
.newsletter__input { width: 100%; }
.newsletter__btn { width: 100%; }
.footer__grid { grid-template-columns: repeat(2, 1fr); }
.footer__bottom-inner { gap: 1rem; }
.footer__trustpilot { margin-left: 0; }
.mobile-cta { display: flex; }
main { padding-bottom: 80px; }
} @media (max-width: 480px) {
.hero__content { padding-top: 2rem; padding-bottom: 3rem; }
.hero__headline { font-size: 1.85rem; }
.hero__subline { font-size: 0.9rem; }
.search-card { margin-top: -180px; }
.search-tabs { overflow-x: auto; scrollbar-width: none; }
.search-tabs::-webkit-scrollbar { display: none; }
.search-tab { font-size: 0.8rem; padding: 0.8rem 1rem; }
.bento-grid { grid-template-columns: 1fr 1fr; }
.dest-card--wide { grid-column: span 2; }
.shipping-grid { grid-template-columns: 1fr 1fr; }
.shipping-card:nth-child(3),
.shipping-card:nth-child(4),
.shipping-card:nth-child(5) { display: none; }
.usps-grid { grid-template-columns: 1fr; }
.blog-grid { grid-template-columns: 1fr; }
.blog-card:nth-child(3),
.blog-card:nth-child(4),
.blog-card:nth-child(5) { display: none; }
.footer__grid { grid-template-columns: 1fr 1fr; }
.footer__col--contact { grid-column: span 2; }
.footer__bottom-inner { flex-direction: column; align-items: flex-start; gap: 0.75rem; }
.section-title { white-space: normal; }
} @media (prefers-reduced-motion: reduce) {
*, *::before, *::after {
animation-duration: 0.01ms !important;
transition-duration: 0.01ms !important;
}
} .home-search-wrap {
margin-top: -70px;
margin-inline: auto;
max-width: 1200px;
padding-inline: 1.5rem;
padding-bottom: var(--space-2xl);
position: relative;
z-index: 10;
background: transparent;
}
@media (max-width: 768px) {
.home-search-wrap { margin-top: -50px; }
}
@media (max-width: 480px) {
.home-search-wrap { margin-top: -40px; }
} .home-seo {
background: var(--color-white);
padding: var(--space-3xl) 0;
border-top: 1px solid var(--color-border);
content-visibility: auto;
contain-intrinsic-size: 0 800px;
} .home-seo__grid {
display: grid;
grid-template-columns: 1fr 300px;
gap: 3rem;
align-items: start;
margin-bottom: 3rem;
}
.home-seo__h2 {
font-family: var(--font-heading);
font-size: clamp(1.3rem, 2.5vw, 1.6rem);
font-weight: 800;
color: var(--color-primary);
margin-bottom: 1.25rem;
line-height: 1.3;
}
.home-seo__h3 {
font-family: var(--font-heading);
font-size: 1.05rem;
font-weight: 700;
color: var(--color-text);
margin: 1.75rem 0 .6rem;
}
.home-seo__main p {
font-size: .93rem;
color: var(--color-text-light);
line-height: 1.82;
margin-bottom: .9rem;
} .home-seo__aside {
display: flex;
flex-direction: column;
gap: 1rem;
position: sticky;
top: 90px;
}
.home-seo__card {
background: var(--color-bg);
border: 1.5px solid var(--color-border);
border-left: 4px solid var(--color-primary);
border-radius: 0 var(--radius-md) var(--radius-md) 0;
padding: 1rem 1.1rem;
}
.home-seo__card-icon {
margin-bottom: .5rem;
}
.home-seo__card strong {
display: block;
font-family: var(--font-heading);
font-size: .88rem;
font-weight: 700;
color: var(--color-primary);
margin-bottom: .35rem;
}
.home-seo__card p {
font-size: .8rem;
color: var(--color-text-light);
line-height: 1.65;
margin: 0;
} .home-seo__faq {
border-top: 1px solid var(--color-border);
padding-top: 2.5rem;
}
.home-seo__faq-title {
font-family: var(--font-heading);
font-size: clamp(1.2rem, 2.5vw, 1.45rem);
font-weight: 700;
color: var(--color-primary);
margin-bottom: 1.75rem;
text-align: center;
}
.home-faq__grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1rem;
}
.home-faq__item {
background: var(--color-white);
border: 1.5px solid var(--color-border);
border-radius: var(--radius-md);
padding: 1.1rem 1.25rem;
box-shadow: var(--shadow-sm);
transition: box-shadow var(--trans-base), border-color var(--trans-base);
}
.home-faq__item:hover {
box-shadow: var(--shadow-md);
border-color: #C8DFF0;
}
.home-faq__q {
font-family: var(--font-heading);
font-size: .92rem;
font-weight: 700;
color: var(--color-primary);
margin: 0 0 .6rem;
line-height: 1.4;
}
.home-faq__a {
font-size: .84rem;
color: var(--color-text-light);
line-height: 1.72;
}
.home-faq__a p { margin: 0; } @media (max-width: 1024px) {
.home-seo__grid { grid-template-columns: 1fr; }
.home-seo__aside { position: static; flex-direction: row; flex-wrap: wrap; }
.home-seo__card { flex: 1; min-width: 200px; }
}
@media (max-width: 768px) {
.home-faq__grid { grid-template-columns: 1fr; }
.home-seo__aside { flex-direction: column; }
} .home-search-chips {
display: flex;
flex-wrap: wrap;
gap: .5rem;
margin-top: 1rem;
justify-content: center;
}
.search-chip {
display: inline-flex;
align-items: center;
gap: .35rem;
padding: .4rem .9rem;
background: #fff;
border: 1.5px solid #DDE7EF;
border-radius: 20px;
color: #0B4F7A;
font-size: .82rem;
font-weight: 600;
text-decoration: none;
transition: background .15s, border-color .15s;
white-space: nowrap;
box-shadow: 0 1px 4px rgba(11,79,122,.08);
}
.search-chip:hover { background: #EBF4FB; border-color: #0B4F7A; }
.search-chip--hot { background: #FFF3F0; border-color: #E2001A; color: #E2001A; }
.search-chip--hot:hover { background: #FFE5E0; } .usp-item__num {
font-size: 1.4rem;
font-weight: 800;
color: #0B4F7A;
font-family: 'Outfit', sans-serif;
margin-bottom: .25rem;
} .home-ports { padding: 3rem 0; background: #F8FBFD; content-visibility: auto; contain-intrinsic-size: 0 300px; }
.section-subtitle { text-align: center; color: #637381; font-size: .95rem; margin: -.75rem 0 2rem; }
.ports-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 1rem;
}
.port-card {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
padding: 1.5rem 1rem;
background: #fff;
border: 1.5px solid #DDE7EF;
border-radius: 12px;
text-decoration: none;
transition: box-shadow .2s, transform .2s;
gap: .35rem;
}
.port-card:hover {
box-shadow: 0 6px 20px rgba(11,79,122,.1);
transform: translateY(-2px);
}
.port-card__icon { font-size: 2rem; line-height: 1; }
.port-card strong { font-size: .95rem; font-weight: 700; color: #0B2D44; }
.port-card span { font-size: .8rem; color: #637381; }
.port-card--cta { background: #0B4F7A; border-color: #0B4F7A; }
.port-card--cta strong, .port-card--cta span { color: #fff; }
.port-card--cta .port-card__icon { filter: none; } .shipping-card__btns {
display: flex;
gap: .5rem;
width: 100%;
}
.shipping-card__detail {
flex: 1;
text-align: center;
padding: .5rem;
font-size: .78rem;
font-weight: 600;
color: #0B4F7A;
border: 1.5px solid #0B4F7A;
border-radius: 6px;
text-decoration: none;
transition: background .15s;
}
.shipping-card__detail:hover { background: #EBF4FB; }
@media (max-width: 768px) {
.ports-grid { grid-template-columns: repeat(2, 1fr); }
.home-search-chips { gap: .4rem; }
.search-chip { font-size: .75rem; padding: .35rem .7rem; }
}
@media (max-width: 480px) {
.ports-grid { grid-template-columns: 1fr 1fr; }
} .hero__seo-text {
text-align: center;
font-size: .88rem;
color: rgba(255,255,255,.7);
margin: 1.25rem auto 0;
line-height: 1.7;
max-width: 600px;
} .rz-hero {
position: relative;
min-height: 380px;
display: flex;
align-items: flex-end;
overflow: hidden;
background: #0B2D44; } .rz-hero .hero__bg {
position: absolute;
inset: 0;
z-index: 0;
}
.rz-hero .hero__bg picture { display: block; width: 100%; height: 100%; }
.rz-hero .hero__bg .hero__img,
.rz-hero .hero__bg .hero__bg-img {
width: 100%; height: 100%;
object-fit: cover;
object-position: var(--hero-pos, center 40%);
}
.rz-hero__overlay {
position: absolute;
inset: 0;
background: linear-gradient(to top, rgba(0,0,0,.65) 0%, rgba(0,0,0,.2) 60%, transparent 100%);
}
.rz-hero__inner {
position: relative;
z-index: 1;
padding: 2.5rem 1.5rem;
width: 100%;
}
.rz-breadcrumb {
font-size: .8rem;
color: rgba(255,255,255,.7);
margin-bottom: .75rem;
}
.rz-breadcrumb a { color: rgba(255,255,255,.75); text-decoration: none; }
.rz-breadcrumb a:hover { color: #fff; }
.rz-hero__h1 {
font-size: clamp(1.6rem, 4vw, 2.4rem);
font-weight: 800;
color: #fff;
text-shadow: 0 2px 8px rgba(0,0,0,.4);
margin: 0 0 1.25rem;
max-width: 700px;
}
.rz-hero__cta {
display: inline-flex;
align-items: center;
gap: .5rem;
background: var(--color-primary);
color: #fff;
padding: .75rem 1.5rem;
border-radius: 8px;
font-weight: 700;
font-size: .95rem;
text-decoration: none;
transition: background .2s;
}
.rz-hero__cta:hover { background: #083d61; }
.rz-body { padding: 3rem 0; }
.rz-grid {
display: grid;
grid-template-columns: 1fr 300px;
gap: 2.5rem;
align-items: start;
}
.rz-content h2 { font-size: 1.35rem; font-weight: 700; color: #0B2D44; margin: 2rem 0 .75rem; }
.rz-content h3 { font-size: 1.1rem; font-weight: 700; color: #0B4F7A; margin: 1.5rem 0 .5rem; }
.rz-content p  { line-height: 1.75; color: #374151; margin-bottom: 1rem; }
.rz-content ul, .rz-content ol { padding-left: 1.75rem; margin-bottom: 1rem; }
.rz-content ul { list-style: disc; }
.rz-content ol { list-style: decimal; }
.rz-content li { line-height: 1.7; color: #374151; margin-bottom: .35rem; }
@media (max-width: 900px) {
.rz-grid { grid-template-columns: 1fr; }
.rz-sidebar { order: -1; }
}