@font-face {
  font-family: "OPTI Times Roman";
  src: url("../fonts/OPTITimesRoman-Italic.ttf.woff") format("woff");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

:root {
  /* Colors */
  --color-blue: #020739;
  --color-yellow: #fdb604;
  --color-white: #ffffff;
  --color-black: #1e1e1e;
  --color-primary: #101828;
  --border-radius: clamp(5px, 0.521vw, 10px);
  --font-primary: "Open Sans", system-ui, sans-serif;
  --font-playwrite: "Playwrite US Trad", cursive;
  --font-OPTI: "OPTI Times Roman", "Times New Roman", serif;
}

/* ---------- Reset / Base ---------- */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  padding: 0;
  font-family: var(--font-primary);
  font-size: clamp(14px, 0.938vw, 18px);
  color: var(--color-primary);
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}



a:focus-visible,
button:focus-visible,
select:focus-visible,
input:focus-visible {
  outline: 2px solid var(--color-yellow);
  outline-offset: 3px;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

h1,
h2,
h3,
h4 {
  margin: 0;
  font-weight: 700;
  line-height: var(--lh-tight);
}

p {
  margin: 0;
}

button,
input,
select {
  font: inherit;
}

section {
  margin-bottom: clamp(50px, 5.208vw, 100px);
}

.secPad { padding-block: clamp(50px, 5.208vw, 100px); }


.title {
  font-size: clamp(22px, 2.083vw, 40px);
  font-weight: 700;
  color: var(--color-blue);
  margin-bottom: clamp(20px, 1.563vw, 30px);
}

.cta {
  background: var(--color-yellow);
  padding: clamp(10px, 0.938vw, 18px);
  border-radius: 5px;
  font-weight: 700;
  display: table;
  color: #272727;
  border: 1px solid var(--color-yellow);
  cursor: pointer;
  transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.25s ease, box-shadow 0.3s ease;
}

.cta:hover {
  background: #e5a400;
  border-color: #e5a400;
  box-shadow: 0 6px 16px rgba(253, 182, 4, 0.35);
}

.cta:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(253, 182, 4, 0.25);
}

.ctaTrf {
  background: transparent;
  border: 1px solid var(--color-yellow);
  color: var(--color-yellow);
}

.ctaTrf:hover {
  background: var(--color-yellow);
  border-color: var(--color-yellow);
  color: var(--color-blue);
  box-shadow: 0 6px 16px rgba(253, 182, 4, 0.35);

}

.ctaTrfWhite {border-color: var(--color-white); color: var(--color-white);}

@media(min-width:991.99px) { 

  .container {
    width: clamp(900px, 86.458vw, 1660px);
    max-width: inherit;
  }


}

/* ---------- Swiper pagination (common) ---------- */
.swiper-pagination {
  position: static !important;
  margin-top: 15px;
}

.swiper-pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: var(--color-white);
  border: 1px solid var(--color-yellow);
  opacity: 1;
}

.swiper-pagination .swiper-pagination-bullet-active {
  background: var(--color-yellow);
}