/* =========================
   FONT FACE
========================= */
@font-face {
  font-family: "Fanlste";
  src: url("../fonts/fanlste.otf") format("opentype");
}

@font-face {
  font-family: "General Sans Regular";
  src: url("../fonts/GeneralSans-Regular.otf") format("opentype");
}

@font-face {
  font-family: "General Sans Medium";
  src: url("../fonts/GeneralSans-Medium.otf") format("opentype");
}

@font-face {
  font-family: "General Sans Semibold";
  src: url("../fonts/GeneralSans-Semibold.otf") format("opentype");
}

@font-face {
  font-family: "Bw Gradual DEMO Light Italic";
  src: url("../fonts/BwGradualDEMO-LightItalic.otf") format("opentype");
}

@font-face {
  font-family: "Bw Gradual DEMO Regular";
  src: url("../fonts/BwGradualDEMO-Regular.otf") format("opentype");
}

@font-face {
  font-family: "Bw Gradual DEMO Bold";
  src: url("../fonts/BwGradualDEMO-Bold.otf") format("opentype");
}

@font-face {
  font-family: "Bw Gradual DEMO Bold Italic";
  src: url("../fonts/BwGradualDEMO-BoldItalic.otf") format("opentype");
}

@font-face {
  font-family: "Bw Gradual DEMO Medium";
  src: url("../fonts/BwGradualDEMO-Medium.otf") format("opentype");
}

@font-face {
  font-family: "Amsterdam Handwriting Regulat";
  src: url("../fonts/Amsterdam\ Handwriting_Regular.ttf") format("opentype");
}




/* =========================
   RESET
========================= */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "General Sans", system-ui, sans-serif;
  background: #fff;
}

/* =========================
   HERO LAYOUT
========================= */
.hero {
  position: relative;
  height: auto;
  overflow: hidden;
  margin-bottom: 20px;

  padding-top: 92px;
  display: flex;
  flex-direction: column;
}



/* =========================
   HEADER
========================= */
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;

  padding: 16px 20px 8px;
}

.header-container {
  max-width: 960px;
  width: auto;
  margin: 0 auto;
  height: 68px;
  padding: 0 28px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  background: rgba(255, 255, 255, 0.65);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(12px);

  border-radius: 999px;
  border: 0.5px solid rgba(0, 0, 0, 0.05);

  box-shadow:
    0 24px 60px rgba(0, 0, 0, 0.055),
    inset 0 1px 0 rgba(255, 255, 255, 0.32);
}

.logo {
  font-family: "Fanlste";
  font-size: 26px;
  text-decoration: none;
  color: #000;
}

.logo:hover,
.logo:focus,
.logo:active {
  text-decoration: none;
  color: #000;
}

.menu-toggle{
  display:none;
}

.nav {
  display: flex;
  gap: 28px;
}

.nav a {
  font-size: 14px;
  font-weight: 500;
  color: #777;
  text-decoration: none;
}

.nav a.active {
  font-weight: 600;
  color: #000;
}


/* CTA */
/* .cta {
  display: flex;
  align-items: center;
  gap: 10px;

  height: 44px;
  padding: 6px 18px 6px 6px;

  background: #111;
  color: #fff;
  border: none;
  border-radius: 999px;
  cursor: pointer;
}

.header-cta-icon {
  width: 32px;
  height: 32px;
  background: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.header-cta-icon img {
  width: 16px;
  height: 16px;
} */







/* =========================
   CONTACT SECTION
========================= */

.contact-section {
  max-width: 1000px;
  margin: 40px auto;
  text-align: center;
}

/* Title */
.contact-title {
  font-size: 38px;
  line-height: 1.2;
}

.contact-title .regular {
  font-family: "Bw Gradual DEMO Medium";
  font-weight: 100;
  color: rgba(20,20,20,1);
}

.contact-title .italic {
  font-family: "Bw Gradual DEMO Bold Italic";
  font-weight: 100;
  color: rgba(20,20,20,1);
}

/* Desc */
.contact-desc {
  max-width: 530px;
  margin: 14px auto 60px;
  font-family: "General Sans Regular";
  font-size: 13px;
  line-height: 1.7;
  color: rgba(116,113,114,1);
}

/* Grid */
.contact-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 30px;
  text-align: left;
}

/* ================= FORM ================= */

.contact-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.form-row.two {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.input-box {
  position: relative;
  background: #fff;
  border: 1px solid rgba(20,20,20,0.08);
  border-radius: 25px;
  height: 55px;
  display: flex;
  align-items: center;
  padding: 0 12px;
}

.input-box img {
  width: 15px;
  margin-right: 8px;
}

.input-box input,
.input-box textarea {
  border: none;
  outline: none;
  width: 100%;
  font-family: "General Sans Regular";
  font-size: 14px;
  color: rgba(20,20,20,1);
}

.input-box textarea {
  resize: none;
  height: 150px;
  border-radius: 25px;
  padding-top: 12px;
}

.input-box.textarea {
  height: auto;
  align-items: flex-start;
}

.dropdown-icon {
  position: absolute;
  right: 10px;
}

.input-box select {
  width: 100%;
  background: transparent;
  border: none;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  font-size: inherit;
  cursor: pointer;
  color: #000; /* selected text = black */
}

/* Placeholder (first option) color */
.input-box select:has(option[value=""]:checked) {
  color: #999; /* gray hint text */
}

/* Fallback for browsers without :has() */
.input-box select option[value=""] {
  color: #999;
}

/* Dropdown options color */
.input-box select option {
  color: #000;
}





/* =========================
   BASE BUTTON
========================= */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;

  height: 45px;
  padding: 6px 10px 6px 6px;

  border-radius: 999px;
  border: 0.5px solid rgba(0, 0, 0, 0.812);
  cursor: pointer;

  font-family: "General Sans Medium", sans-serif;
  font-size: 15px;

  transition: all 0.25s ease;
}

/* =========================
   ICON CIRCLE
========================= */
.btn-icon {
  width: 30px;
  height: 30px;
  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  flex-shrink: 0;
}

.btn-icon img {
  width: 13px;
  height: 13px;
}


/* =========================
   SECONDARY (GLASS WHITE)
========================= */
.btn-secondary {
  color: rgba(20, 20, 20, 1);

  /* Glass white */
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);

  border: 1px solid rgba(0, 0, 0, 0.213);

  /* BIG soft floating shadow (like image) */
  box-shadow:
    0 15px 30px rgba(0, 0, 0, 0.133),
    0 5px 3px rgba(0, 0, 0, 0.018),
    inset 0 1px 0 rgba(255, 255, 255, 0.299);

  transition: all 0.3s ease;
}


.btn-secondary .btn-icon {
  background: linear-gradient(
    180deg,
    rgba(1, 39, 58, 1),
    rgba(1, 27, 41, 1)
  );

  box-shadow:
    0 8px 18px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.25);
}


/* Hover */
.btn-secondary:hover {
  background: linear-gradient(
    180deg,
    rgba(1, 39, 58, 1),
    rgba(1, 27, 41, 1)
  );

  color: #ffffff;
  transform: translateY(-2px);
}

.btn-secondary:hover .btn-icon {
  background: rgba(80, 164, 207, 1);
}



/* Button spacing */
.cta-btn {
  margin-top: 10px;

  /* floating shadow like image */
  box-shadow:
    0 18px 40px rgba(0, 0, 0, 0.161),
    0 6px 8px rgba(0, 0, 0, 0.058),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

/* Hover lift */
.cta-btn:hover {
  transform: translateY(-2px);
}

/* ================= INFO ================= */

.contact-info {
  background: rgba(226,241,238,1);
  border-radius: 18px;
  padding: 26px;
}

.contact-info h3 {
  font-family: "Bw Gradual DEMO Bold";
  font-size: 22px;
  margin-bottom: 8px;
}

.info-desc {
  font-family: "General Sans Regular";
  max-width: 350px;
  font-size: 13px;
  line-height: 1.6;
  color: rgba(116,113,114,1);
  margin-bottom: 18px;
}

.info-item {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.info-icon {
  width: 40px;
  height: 40px;
  background: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.info-icon img {
  width: 14px;
}

.info-item span {
  font-family: "General Sans Medium";
  font-size: 16px;
  font-weight: 100;
  color: rgba(20,20,20,1);
}


/* Address box */
.address-box {
  margin-top: 20px;
  background: rgba(255, 255, 255, 0.24);
  border-radius: 16px;
  padding: 18px;
  display: flex;
  justify-content: space-between;
}

.address-left h4 {
  font-family: "Bw Gradual DEMO Bold";
  font-size: 23px;
  font-weight: 100;
  color: #000000;
  margin-bottom: 10px;
  margin-top: 10px;
}

.address-left p {
  font-family: "General Sans Medium";
  font-size: 13px;
  line-height: 1.6;
  color: rgba(116,113,114,1);
}

/* Social icons */
.address-icons {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.address-icons div {
  width: 40px;
  height: 40px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.address-icons a img {
  width: 30px;
  height: 30px;
  padding: 6px;
  border-radius: 10px;
  background: #fff;
}







/* =========================
   CTA IMAGE SECTION
========================= */

.cta-image-section {
  max-width: 1100px;
  margin: 60px auto;
  padding: 0 20px;
}

/* Big rounded image container */
.cta-image-wrapper {
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  min-height: 420px;
}

/* Background image */
.cta-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Cards row */
.cta-cards {
  position: absolute;
  bottom: 22px;
  left: 50%;
  transform: translateX(-50%);

  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;

  width: calc(100% - 60px);
}

/* Individual card */
.cta-card {
  background: rgb(249, 249, 249);
  border-radius: 16px;
  padding: 18px 18px 20px;
  text-align: left;

  
}

/* Icon */
.cta-icon {
  width: 40px;
  height: 40px;
  margin-bottom: 10px;
}

/* Title */
.cta-card h4 {
  font-family: "General Sans Medium";
  font-size: 17px;
  font-weight: 100;
  color: rgba(0,0,0,1);
  margin-bottom: 6px;
}

/* Text */
.cta-card p {
  font-family: "General Sans Medium";
  font-size: 11.5px;
  font-weight: 100;
  line-height: 1.6;
  color: rgba(116,113,114,1);
}





/* =========================
   FOOTER
========================= */
.site-footer {
  width: 100%;
  background: rgba(20, 20, 20, 1);
  padding: 70px 20px 40px;
  color: #ffffff;
  position: relative;
  overflow: hidden;
}

/* CONTAINER */
.footer-container {
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.4fr 1fr 1.4fr;
  gap: 70px;
  color: #fff;
}

.footer-container .footer-col:nth-child(2) {
  justify-self: center;
}


/* LEFT */
.footer-logo {
  width: 50px;
  margin-bottom: 25px;
}

.footer-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 14px;
}

.footer-item img {
  width: auto;
  height: auto;
  margin-top: 4px;
}

.footer-item span {
  font-size: 13px;
  line-height: 1.6;
  color: rgba(255,255,255,0.75);
}

/* CENTER */
.footer-links-col h4 {
  margin-bottom: 18px;
}

.footer-links-col a {
  display: block;
  font-size: 16px;
  color: rgba(255,255,255,0.65);
  margin-bottom: 14px;
  text-decoration: none;
}

.footer-links-col a:hover {
  color: #fff;
}

/* RIGHT */
.footer-about-col p {
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255,255,255,0.75);
  margin-bottom: 24px;
  margin-top: 18px;
}

/* SOCIAL */
.footer-social {
  display: flex;
  gap: 16px;
}

.footer-social img {
  width: 30px;
  opacity: 0.8;
  padding: 6px;
  border-radius: 6px;
  background: rgba(54, 54, 54, 0.75);
  transition: opacity 0.3s ease;
}

.footer-social img:hover {
  opacity: 1;
}



/* DIVIDER */
.footer-divider {
  max-width: 1000px;
  margin: 40px auto 20px;
  height: 1px;
  background: rgba(255, 255, 255, 0.08);
}

/* BOTTOM BAR */
.footer-bottom {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: "General Sans Regular";
  font-size: 12px;
  color: rgba(255, 255, 255, 0.55);
}

.footer-bottom-links {
  display: flex;
  gap: 18px;
}

.footer-bottom-links a {
  color: rgba(255, 255, 255, 0.55);
  text-decoration: none;
}

.footer-bottom-links a:hover {
  color: #ffffff;
}


/* =========================
   WAVING BRAND TEXT
========================= */

.footer-brand {
  margin-top: 60px;
  text-align: center;
  font-family: "Fanlste";
  font-size: 250px;
  line-height: 1;
  color: rgba(255, 255, 255, 1);
  pointer-events: none;
  white-space: nowrap;
}

/* wave container */
.wave-text span {
  display: inline-block;
  animation: waveMove 6s ease-in-out infinite;
}

/* stagger animation */
.wave-text span:nth-child(1) { animation-delay: 0s; }
.wave-text span:nth-child(2) { animation-delay: 0.2s; }
.wave-text span:nth-child(3) { animation-delay: 0.4s; }
.wave-text span:nth-child(4) { animation-delay: 0.6s; }
.wave-text span:nth-child(5) { animation-delay: 0.8s; }
.wave-text span:nth-child(6) { animation-delay: 1s; }
.wave-text span:nth-child(7) { animation-delay: 1.2s; }
.wave-text span:nth-child(8) { animation-delay: 1.4s; }
.wave-text span:nth-child(9) { animation-delay: 1.6s; }

/* =========================
   KEYFRAMES
========================= */
@keyframes waveMove {
  0% {
    transform: translateY(0);
  }
  25% {
    transform: translateY(-14px);
  }
  50% {
    transform: translateY(0);
  }
  75% {
    transform: translateY(12px);
  }
  100% {
    transform: translateY(0);
  }
}






















































/* =========================
   RESPONSIVE
========================= */




/* =========================
   (min-width: 1440px)
========================= */

@media (min-width: 1440px) {

  .hero { margin-bottom: 22.5px; padding-top: 103.5px;}
  .header { padding: 18px 22.5px 9px;}
  .header-container { max-width: 1080px; height: 76.5px;}
  .logo { font-size: 29.25px;}
  .nav { gap: 31.5px;}
  .nav a { font-size: 15.75px;}
    
    
  .contact-section { max-width: 1125px; margin: 45px auto; }
  .contact-title { font-size: 42.75px; }
  .contact-desc { max-width: 596.25px; margin: 15.75px auto 67.5px; font-size: 14.625px; }
  .contact-grid { gap: 33.75px; }
  .contact-form { gap: 15.75px; }
  .form-row.two { gap: 15.75px; }
  .input-box { height: 61.875px; padding: 0 13.5px; }
  .input-box img { width: 16.875px; margin-right: 9px; }
  .input-box input, .input-box textarea { font-size: 15.75px; }
  .input-box textarea { height: 168.75px; padding-top: 13.5px; }
  .dropdown-icon { right: 11.25px; }
  
  .btn { gap: 5.625px; height: 50.625px; padding: 6.75px 11.25px 6.75px 6.75px; font-size: 16.875px; }
  .btn-icon { width: 33.75px; height: 33.75px; }
  .btn-icon img { width: 14.625px; height: 14.625px; }
  .cta-btn { margin-top: 11.25px; }
  
  .contact-info { padding: 29.25px; }
  .contact-info h3 { font-size: 24.75px; margin-bottom: 9px; }
  .info-desc { max-width: 393.75px; font-size: 14.625px; margin-bottom: 20.25px; }
  .info-item { gap: 11.25px; margin-bottom: 11.25px; }
  .info-icon { width: 45px; height: 45px; }
  .info-icon img { width: 15.75px; }
  .info-item span { font-size: 18px; }
  
  .address-box { margin-top: 22.5px; padding: 20.25px; }
  .address-left h4 { font-size: 25.875px; margin-bottom: 11.25px; margin-top: 11.25px; }
  .address-left p { font-size: 14.625px; }
  .address-icons { gap: 11.25px; }
  .address-icons div { width: 45px; height: 45px; }
  .address-icons a img { width: 33.75px; height: 33.75px; padding: 6.75px;}
  
  .cta-image-section { max-width: 1237.5px; margin: 67.5px auto; padding: 0 22.5px; }
  .cta-image-wrapper { min-height: 472.5px; }
  .cta-cards { bottom: 24.75px; gap: 20.25px; width: calc(100% - 67.5px); }
  .cta-card { padding: 20.25px 20.25px 22.5px; }
  .cta-icon { width: 45px; height: 45px; margin-bottom: 11.25px; }
  .cta-card h4 { font-size: 19.125px; margin-bottom: 6.75px; }
  .cta-card p { font-size: 12.9375px; }



  .site-footer { padding: 78.75px 22.5px 45px;}
  .footer-container { max-width: 1125px; gap: 78.75px;}
  .footer-logo { width: 56.25px; margin-bottom: 28.125px;}
  .footer-item { gap: 13.5px; margin-bottom: 15.75px;}
  .footer-item img { margin-top: 4.5px;}
  .footer-item span { font-size: 14.625px;}
  .footer-links-col h4 { margin-bottom: 20.25px;}
  .footer-links-col a { font-size: 18px; margin-bottom: 15.75px;}
  .footer-about-col p { font-size: 16.875px; margin-bottom: 27px; margin-top: 20.25px;}
  .footer-social { gap: 18px;}
  .footer-social img { width: 33.75px; padding: 6.75px;}
  .footer-divider { max-width: 1125px; margin: 45px auto 22.5px; height: 1.125px;}
  .footer-bottom { max-width: 1125px; font-size: 13.5px;}
  .footer-bottom-links { gap: 20.25px;}
  .footer-brand { margin-top: 67.5px; font-size: 281.25px;}


  }
  
  
  
  
  /* =========================
     (min-width: 1600px)
  ========================= */
  
  @media (min-width: 1600px) {
  
    .hero { margin-bottom: 25px; padding-top: 115px; }
    .header { padding: 20px 25px 10px; }
    .header-container { max-width: 1200px; height: 85px; }
    .logo { font-size: 32.5px; }
    .nav { gap: 35px; }
    .nav a { font-size: 17.5px; }
    
    .contact-section { max-width: 1250px; margin: 50px auto; }
    .contact-title { font-size: 47.5px; }
    .contact-desc { max-width: 662.5px; margin: 17.5px auto 75px; font-size: 16.25px; }
    .contact-grid { gap: 37.5px; }
    .contact-form { gap: 17.5px; }
    .form-row.two { gap: 17.5px; }
    .input-box { height: 68.75px; padding: 0 15px; }
    .input-box img { width: 18.75px; margin-right: 10px; }
    .input-box input, .input-box textarea { font-size: 17.5px; }
    .input-box textarea { height: 187.5px; padding-top: 15px; }
    .dropdown-icon { right: 12.5px; }
    
    .btn { gap: 6.25px; height: 56.25px; padding: 7.5px 12.5px 7.5px 7.5px; font-size: 18.75px; }
    .btn-icon { width: 37.5px; height: 37.5px; }
    .btn-icon img { width: 16.25px; height: 16.25px; }
    .cta-btn { margin-top: 12.5px; }
    
    .contact-info { padding: 32.5px; }
    .contact-info h3 { font-size: 27.5px; margin-bottom: 10px; }
    .info-desc { max-width: 437.5px; font-size: 16.25px; margin-bottom: 22.5px; }
    .info-item { gap: 12.5px; margin-bottom: 12.5px; }
    .info-icon { width: 50px; height: 50px; }
    .info-icon img { width: 17.5px; }
    .info-item span { font-size: 20px; }
    
    .address-box { margin-top: 25px; padding: 22.5px; }
    .address-left h4 { font-size: 28.75px; margin-bottom: 12.5px; margin-top: 12.5px; }
    .address-left p { font-size: 16.25px; }
    .address-icons { gap: 12.5px; }
    .address-icons div { width: 50px; height: 50px; }
    .address-icons a img { width: 37.5px; height: 37.5px; padding: 7.5px;}
    
    .cta-image-section { max-width: 1375px; margin: 75px auto; padding: 0 25px; }
    .cta-image-wrapper { min-height: 525px; }
    .cta-cards { bottom: 27.5px; gap: 22.5px; width: calc(100% - 75px); }
    .cta-card { padding: 22.5px 22.5px 25px; }
    .cta-icon { width: 50px; height: 50px; margin-bottom: 12.5px; }
    .cta-card h4 { font-size: 21.25px; margin-bottom: 7.5px; }
    .cta-card p { font-size: 14.375px; }
    
    .site-footer { padding: 87.5px 25px 50px; }
  .footer-container { max-width: 1250px; gap: 87.5px;}
  .footer-logo { width: 62.5px; margin-bottom: 31.25px;}
  .footer-item { gap: 15px; margin-bottom: 17.5px;}
  .footer-item img { margin-top: 5px;}
  .footer-item span { font-size: 16.25px;}
  .footer-links-col h4 { margin-bottom: 22.5px;}
  .footer-links-col a { font-size: 20px; margin-bottom: 17.5px;}
  .footer-about-col p { font-size: 18.75px; margin-bottom: 30px; margin-top: 22.5px;}
  .footer-social { gap: 20px;}
  .footer-social img { width: 37.5px; padding: 7.5px;}
  .footer-divider { max-width: 1250px; margin: 50px auto 25px; height: 1.25px; }
  .footer-bottom { max-width: 1250px; font-size: 15px; }
  .footer-bottom-links { gap: 22.5px; }
  .footer-brand { margin-top: 75px; font-size: 312.5px; }
    
    

  }
  
  
  
  
  
  /* =========================
     (min-width: 1920px)
  ========================= */
  
  @media (min-width: 1920px) {
  
    .hero { margin-bottom: 30px; padding-top: 138px; }
    .header { padding: 24px 30px 12px; }
    .header-container { max-width: 1440px; height: 102px; }
    .logo { font-size: 39px; }
    .nav { gap: 42px; }
    .nav a { font-size: 21px; }
    
    
    .contact-section { max-width: 1500px; margin: 60px auto; }
    .contact-title { font-size: 57px; }
    .contact-desc { max-width: 795px; margin: 21px auto 90px; font-size: 19.5px; }
    .contact-grid { gap: 45px; }
    .contact-form { gap: 21px; }
    .form-row.two { gap: 21px; }
    .input-box { height: 82.5px; padding: 0 18px; }
    .input-box img { width: 22.5px; margin-right: 12px; }
    .input-box input, .input-box textarea { font-size: 21px; }
    .input-box textarea { height: 225px; padding-top: 18px; }
    .dropdown-icon { right: 15px; }
    
    .btn { gap: 7.5px; height: 67.5px; padding: 9px 15px 9px 9px; font-size: 22.5px; }
    .btn-icon { width: 45px; height: 45px; }
    .btn-icon img { width: 19.5px; height: 19.5px; }
    .cta-btn { margin-top: 15px; }
    
    .contact-info { padding: 39px; }
    .contact-info h3 { font-size: 33px; margin-bottom: 12px; }
    .info-desc { max-width: 525px; font-size: 19.5px; margin-bottom: 27px; }
    .info-item { gap: 15px; margin-bottom: 15px; }
    .info-icon { width: 60px; height: 60px; }
    .info-icon img { width: 21px; }
    .info-item span { font-size: 24px; }
    
    .address-box { margin-top: 30px; padding: 27px; }
    .address-left h4 { font-size: 34.5px; margin-bottom: 15px; margin-top: 15px; }
    .address-left p { font-size: 19.5px; }
    .address-icons { gap: 15px; }
    .address-icons div { width: 60px; height: 60px; }
    .address-icons a img { width: 45px; height: 45px; padding: 9px;}
    
    .cta-image-section { max-width: 1650px; margin: 90px auto; padding: 0 30px; }
    .cta-image-wrapper { min-height: 630px; }
    .cta-cards { bottom: 33px; gap: 27px; width: calc(100% - 90px); }
    .cta-card { padding: 27px 27px 30px; }
    .cta-icon { width: 60px; height: 60px; margin-bottom: 15px; }
    .cta-card h4 { font-size: 25.5px; margin-bottom: 9px; }
    .cta-card p { font-size: 17.25px; }


    

    .site-footer { padding: 105px 30px 60px; }
  .footer-container { max-width: 1500px; gap: 105px;}
  .footer-logo { width: 75px; margin-bottom: 37.5px;}
  .footer-item { gap: 18px; margin-bottom: 21px;}
  .footer-item img { margin-top: 6px;}
  .footer-item span { font-size: 19.5px;}
  .footer-links-col h4 { margin-bottom: 27px;}
  .footer-links-col a { font-size: 24px; margin-bottom: 21px;}
  .footer-about-col p { font-size: 22.5px; margin-bottom: 36px; margin-top: 27px;}
  .footer-social { gap: 24px;}
  .footer-social img { width: 45px; padding: 9px;}
  .footer-divider { max-width: 1500px; margin: 60px auto 30px; height: 1.5px; }
  .footer-bottom { max-width: 1500px; font-size: 18px; }
  .footer-bottom-links { gap: 27px; }
  .footer-brand { margin-top: 90px; font-size: 375px; }   

  }
  
  
  
  
  
  
  /* =========================
     (min-width: 2560px)
  ========================= */
  
  @media (min-width: 2560px) {
  
    .hero { margin-bottom: 40px; padding-top: 184px; }
    .header { padding: 32px 40px 16px; }
    .header-container { max-width: 1920px; height: 136px; }
    .logo { font-size: 52px; }
    .nav { gap: 56px; }
    .nav a { font-size: 28px; }
    

    
    .contact-section { max-width: 2000px; margin: 80px auto; }
    .contact-title { font-size: 76px; }
    .contact-desc { max-width: 1060px; margin: 28px auto 120px; font-size: 26px; }
    .contact-grid { gap: 60px; }
    .contact-form { gap: 28px; }
    .form-row.two { gap: 28px; }
    .input-box { height: 110px; padding: 0 24px; }
    .input-box img { width: 30px; margin-right: 16px; }
    .input-box input, .input-box textarea { font-size: 28px; }
    .input-box textarea { height: 300px; padding-top: 24px; }
    .dropdown-icon { right: 20px; }
    
    .btn { gap: 10px; height: 90px; padding: 12px 20px 12px 12px; font-size: 30px; }
    .btn-icon { width: 60px; height: 60px; }
    .btn-icon img { width: 26px; height: 26px; }
    .cta-btn { margin-top: 20px; }
    
    .contact-info { padding: 52px; }
    .contact-info h3 { font-size: 44px; margin-bottom: 16px; }
    .info-desc { max-width: 700px; font-size: 26px; margin-bottom: 36px; }
    .info-item { gap: 20px; margin-bottom: 20px; }
    .info-icon { width: 80px; height: 80px; }
    .info-icon img { width: 28px; }
    .info-item span { font-size: 32px; }
    
    .address-box { margin-top: 40px; padding: 36px; }
    .address-left h4 { font-size: 46px; margin-bottom: 20px; margin-top: 20px; }
    .address-left p { font-size: 26px; }
    .address-icons { gap: 20px; }
    .address-icons div { width: 80px; height: 80px; }
    .address-icons a img { width: 60px; height: 60px; padding: 12px;}
    
    .cta-image-section { max-width: 2200px; margin: 120px auto; padding: 0 40px; }
    .cta-image-wrapper { min-height: 840px; }
    .cta-cards { bottom: 44px; gap: 36px; width: calc(100% - 120px); }
    .cta-card { padding: 36px 36px 40px; }
    .cta-icon { width: 80px; height: 80px; margin-bottom: 20px; }
    .cta-card h4 { font-size: 34px; margin-bottom: 12px; }
    .cta-card p { font-size: 23px; }

    


    .site-footer { padding: 140px 40px 80px; }
    .footer-container { max-width: 2000px; gap: 140px;}
    .footer-logo { width: 100px; margin-bottom: 50px;}
    .footer-item { gap: 24px; margin-bottom: 28px;}
    .footer-item img { margin-top: 8px;}
    .footer-item span { font-size: 26px;}
    .footer-links-col h4 { margin-bottom: 36px;}
    .footer-links-col a { font-size: 32px; margin-bottom: 28px;}
    .footer-about-col p { font-size: 30px; margin-bottom: 48px; margin-top: 36px;}
    .footer-social { gap: 32px;}
    .footer-social img { width: 60px; padding: 12px;}
    .footer-divider { max-width: 2000px; margin: 80px auto 40px; height: 2px; }
    .footer-bottom { max-width: 2000px; font-size: 24px; }
    .footer-bottom-links { gap: 36px; }
    .footer-brand { margin-top: 120px; font-size: 500px; }   

  }





























    /* =========================
   MOBILE VIEW
========================= */
@media (max-width:480px){

  body{ overflow-x:hidden;}
  
  .hero{ padding-top:90px; align-items:center;}

  .header{ position:fixed; top:0; left:0; width:100%; z-index:9999; display:flex; justify-content:center; padding:12px 0;}

  .header-container{ width:92%; max-width:420px; height:56px; display:flex; align-items:center; justify-content:space-between; margin:0 auto;background: rgba(255, 255, 255, 0.65);backdrop-filter: blur(8px);-webkit-backdrop-filter: blur(12px);border-radius: 999px;border: 0.5px solid rgba(0, 0, 0, 0.05);box-shadow:0 24px 60px rgba(0, 0, 0, 0.055),inset 0 1px 0 rgba(255, 255, 255, 0.32);}

  .logo{ font-size:20px;}

  .menu-toggle{ display:block; font-size:22px; color: #000; background:none; border:none; cursor:pointer;}

  .nav{ display:none; position:absolute; top:70px; left:50%; transform:translateX(-50%); width:92%; max-width:420px; background:#fff; border-radius:16px; padding:18px; flex-direction:column; gap:16px; box-shadow:0 20px 40px rgba(0,0,0,0.08);}

  .nav.show{ display:flex;}

  .nav a{ font-size:15px; text-align:center;}

  .contact-section{margin:40px auto;padding:0 14px;text-align:center;}

  .contact-title{font-size:26px;line-height:1.3;}
  
  .contact-desc{font-size:13px;line-height:1.6;margin:12px auto 30px;max-width:100%;}
  
  .contact-grid{grid-template-columns:1fr;gap:20px;}
  
  .form-row.two{grid-template-columns:1fr;gap:12px;}
  
  .contact-form{gap:12px;}
  
  .input-box{height:50px;padding:0 12px;border-radius:22px;}
  
  .input-box img{width:14px;margin-right:6px;}
  
  .input-box input,
  .input-box textarea,
  .input-box select{font-size:13px;}
  
  .input-box textarea{height:130px;padding-top:10px;}
  
  .dropdown-icon{right:12px;}
  
  .cta-btn{margin-top:8px;}
  
  .contact-info{padding:20px;border-radius:16px;}
  
  .contact-info h3{font-size:20px;margin-bottom:6px;}
  
  .info-desc{font-size:13px;line-height:1.6;margin-bottom:16px;max-width:100%;}
  
  .info-item{gap:8px;margin-bottom:10px;}
  
  .info-icon{width:36px;height:36px;}
  
  .info-icon img{width:13px;}
  
  .info-item span{font-size:14px;}
  
  .address-box{flex-direction:column;gap:14px;padding:16px;}
  
  .address-left h4{font-size:20px;margin-top:0;}
  
  .address-left p{font-size:13px;}
  
  .address-icons{flex-direction:row;gap:10px;}
  
  .address-icons a img{width:26px;height:26px;padding:5px;}
  
  .cta-image-section{margin:40px auto;padding:0 14px;}

  .cta-image-wrapper{min-height:300px;border-radius:18px;}
  
  .cta-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:top;}
  
  .cta-cards{position:relative;bottom:auto;left:auto;transform:none;grid-template-columns:1fr;gap:14px;width:100%;margin-top:220px;padding-bottom:14px;}
  
  .cta-card{padding:16px;border-radius:14px;}
  
  .cta-icon{width:34px;height:34px;margin-bottom:8px;}
  
  .cta-card h4{font-size:16px;margin-bottom:6px;}
  
  .cta-card p{font-size:13px;line-height:1.6;}  
  
  .site-footer{padding:40px 14px 24px;}
  
  .footer-container{grid-template-columns:1fr;gap:30px;text-align:center;}
  
  .footer-container .footer-col:nth-child(2){justify-self:center;}
  
  .footer-logo{width:42px;margin:0 auto 18px;}
  
  .footer-item{justify-content:center;text-align:center;}
  
  .footer-item span{font-size:12px;line-height:1.5;}
  
  .footer-links-col a{font-size:14px;margin-bottom:10px;}
  
  .footer-about-col p{font-size:13px;margin:10px 0 18px;}
  
  .footer-social{justify-content:center;gap:12px;}
  
  .footer-social img{width:26px;padding:5px;}
  
  .footer-divider{margin:24px auto 16px;}
  
  .footer-bottom{flex-direction:column;gap:10px;font-size:11px;text-align:center;}
  
  .footer-bottom-links{gap:12px;flex-wrap:wrap;justify-content:center;}
  
  .footer-brand{margin-top:30px;font-size:80px;}
  
  .wave-text span{animation-duration:5s;}
  
  
}