:root {
  --primary: #0c4a6e;
  --secondary: #0ea5e9;
  --accent: #f97316;
  --dark: #0f172a;
  --light: #f8fafc;
}

.custom-gradient {
  background: linear-gradient(135deg, var(--dark) 0%, var(--primary) 100%);
}

.ocean-pattern {
  background-color: var(--primary);
  background-image: url("data:image/svg+xml,%3Csvg width='100' height='20' viewBox='0 0 100 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.184 20c.357-.13.72-.264.888-.14 1.24.916 1.854 1.925 3.45.38 1.184-1.14 1.454-.234 2.288.097 2.625 1.24 3.14-.706 4.87-1.335 1.757-.63 1.63.362 3.175-.775 1.306-.965 2.042-1.453 3.49-.77 1.45.682 1.724-.365 2.56-1.128.837-.762.896-1.304 1.86-1.447.962-.145 1.372.334 2.334.48.96.15 1.303-.312 2.262.165.958.477 1.022.973 2.155.5 1.134-.479 1.56-.76 2.684-1.255 1.124-.497 1.19-.142 2.284.358 1.097.5 1.45.83 2.492.414 1.043-.417 1.12-1.152 2.063-1.597.943-.444.443-.618 1.388-1.07.944-.45 1.337 0 2.28-.417.943-.418.784-1.155 1.725-1.492.94-.337 1.29.25 2.182-.138.892-.387.684-.947 1.483-1.524.8-.576 1.676-.122 2.363-.83.686-.708 0-1.102.595-1.856.597-.75 1.65-.21 2.097-1.044.236-.43.158-.899.43-1.356.27-.457.706-.697.91-1.202.204-.505.283-1.009.217-1.544-.064-.534-.326-.962-.55-1.446-.225-.483-.483-.917-.659-1.425-.175-.507-.207-1.039-.063-1.557.147-.52.47-.96.747-1.443.279-.48.385-1.018.254-1.547-.13-.528-.477-.979-.857-1.395-.39-.417-.785-.822-1.061-1.31-.285-.487-.394-1.04-.246-1.576.145-.535.51-.971.815-1.44.307-.47.418-1.02.256-1.548-.162-.528-.541-.959-.951-1.35-.409-.393-.812-.786-1.087-1.258-.28-.472-.37-1.016-.22-1.54.146-.524.523-.938.856-1.38.337-.44.458-.984.308-1.511-.15-.527-.515-.941-.923-1.303-.41-.363-.818-.724-1.089-1.165-.27-.433-.337-.962-.17-1.457.165-.495.565-.864.92-1.265.35-.4.48-.935.348-1.44-.13-.505-.477-.887-.864-1.208-.389-.32-.813-.632-1.05-1.033-.238-.4-.274-.905-.09-1.344.185-.44.619-.758.99-1.109.37-.35.516-.858.4-1.346-.115-.487-.445-.846-.818-1.125-.374-.28-.786-.541-1.012-.904-.226-.365-.237-.81-.035-1.213.204-.4.646-.644 1.036-.934.39-.288.55-.736.446-1.204-.104-.47-.42-.8-.77-1.047-.352-.26-.75-.473-.944-.795-.195-.322-.172-.76.047-1.103.22-.343.668-.542 1.07-.787.404-.246.584-.664.49-1.097-.094-.435-.395-.755-.72-.97-.325-.212-.697-.39-.885-.666-.18-.276-.124-.698.098-.994.223-.292.68-.45 1.085-.647.405-.197.617-.567.532-.98-.088-.412-.37-.726-.675-.91-.303-.18-.65-.328-.822-.555-.172-.227-.082-.608.137-.872.219-.26.691-.374 1.098-.52.405-.148.634-.48.557-.85-.077-.368-.346-.648-.644-.8-.298-.15-.618-.242-.757-.426-.14-.182-.048-.445.173-.67.222-.22.691-.274 1.102-.35.41-.078.652-.356.581-.687-.07-.33-.322-.59-.606-.71-.284-.12-.59-.178-.73-.32-.14-.143-.03-.373.195-.53.224-.15.684-.167 1.099-.205.415-.04.668-.234.604-.534-.064-.29-.298-.556-.563-.64-.266-.085-.557-.097-.682-.222-.125-.123-.02-.323.21-.41.232-.087.682-.07 1.087-.09.406-.03.675-.111.618-.37-.056-.254-.276-.484-.524-.542-.247-.058-.525-.034-.646-.113-.121-.08-.02-.232.205-.291.227-.06.676.003 1.08.04.405.035.68.008.63-.204-.05-.21-.252-.399-.492-.427-.237-.028-.48.03-.594 0-.114-.03-.02-.14.194-.196.213-.056.673.023 1.06.12.39.096.685.108.641-.07-.043-.177-.226-.33-.424-.37-.198-.04-.423-.02-.516-.09-.093-.07-.013-.148.18-.18.19-.03.633.096 1.028.235.39.14.688.205.645.078-.045-.128-.2-.248-.366-.285-.166-.037-.36-.02-.434-.07-.073-.05 0-.108.163-.127.162-.02.596.132.983.318.386.188.691.3.647.202-.044-.098-.176-.176-.305-.193-.13-.018-.263.01-.316-.01-.053-.02.006-.076.14-.078.134-.001.535.19.893.396.358.206.695.386.642.322-.054-.064-.15-.103-.24-.1-.09.001-.163.034-.203.023-.04-.01 0-.05.11-.04.11.012.471.217.793.445.322.228.694.465.628.43-.065-.035-.126-.035-.176-.005-.05.03-.074.075-.1.072-.025-.003.003-.026.08-.01.075.016.389.268.67.51.282.24.684.528.605.528-.078 0-.102.018-.115.05-.013.035-.012.073-.038.077-.025.004 0-.007.05.014.05.02.304.294.545.55.24.258.657.593.553.624-.104.031-.155.063-.163.107-.009.044.009.086-.013.095-.021.01 0 0 .017.03.018.034.19.342.407.627.218.283.592.66.468.71-.124.05-.21.097-.22.161-.007.063.023.107 0 .124-.024.019.002.004-.009.037-.01.034.09.347.267.636.177.288.508.678.353.747-.155.068-.257.133-.265.218-.007.085.04.147.011.173-.03.025.003.01-.04.051-.044.04-.018.337.12.62.14.282.413.654.226.751-.189.097-.317.18-.33.29-.015.108.055.199.016.23-.038.032.007.013-.07.062-.077.051-.127.32-.03.594.096.274.313.623.086.746-.227.123-.373.235-.387.364-.013.13.073.26.022.297-.051.038.007.018-.099.068-.107.048-.23.307-.176.56.055.252.21.583-.039.728-.248.146-.415.281-.43.432-.013.15.093.313.027.36-.066.046.012.022-.126.07-.138.049-.336.279-.32.509.016.23.113.544-.153.699-.266.155-.448.31-.46.482-.012.17.114.353.033.41-.08.057.012.028-.156.074-.17.047-.43.256-.448.46-.018.214.023.5-.252.66-.275.16-.472.323-.481.514-.01.19.134.384.039.451-.095.068.017.034-.186.077-.202.042-.528.213-.578.393-.05.18-.06.44-.345.592-.284.153-.487.31-.491.518-.004.21.154.407.044.48-.11.075.02.038-.216.077-.236.04-.61.176-.686.326-.076.15-.136.366-.432.502-.296.135-.5.27-.5.483 0 .212.173.415.05.496-.124.082.021.045-.256.083-.277.038-.687.124-.791.24-.104.118-.206.282-.51.398-.304.116-.504.232-.5.44.004.21.188.413.057.505-.13.092.038.055-.263.087-.3.032-.742.08-.868.172-.126.09-.272.19-.577.282-.304.092-.502.18-.493.38.008.202.204.4.063.503-.14.104.04.064-.286.086-.325.022-.778.026-.923.086-.145.06-.334.1-.631.17-.3.07-.492.125-.477.315.015.19.22.377.069.49-.15.115.041.075-.307.083-.348.008-.796-.04-.94-.017-.144.026-.39.01-.677.06-.287.048-.47.067-.45.24.02.174.24.341.078.468-.162.127.037.09-.326.079-.362-.01-.798-.121-.944-.135-.146-.014-.443-.082-.716-.047-.274.034-.437.007-.407.16.03.155.251.293.085.432-.166.14.04.105-.335.073-.375-.033-.791-.212-.932-.257-.141-.045-.493-.17-.753-.157-.26.013-.414-.055-.374.076.04.13.27.235.09.384-.178.15.03.123-.357.062-.387-.061-.77-.313-.903-.382-.133-.07-.538-.259-.78-.263-.242-.004-.378-.118-.328-.004.05.114.278.17.09.332-.188.161.025.139-.372.05-.398-.09-.743-.413-.864-.5-.121-.085-.577-.343-.8-.362-.224-.02-.348-.176-.288-.082.06.095.292.099.085.272-.207.173.01.154-.39.044-.4-.11-.694-.49-.81-.594-.115-.105-.61-.425-.807-.453-.198-.028-.308-.223-.24-.145.07.079.3.028.077.208-.223.18.005.165-.397.043-.4-.122-.646-.566-.75-.68-.105-.114-.642-.5-.812-.536-.17-.035-.274-.268-.193-.199.08.07.302-.02.066.14-.236.16-.012.17-.405.033-.393-.137-.585-.628-.678-.75-.093-.121-.682-.569-.825-.605-.142-.036-.232-.288-.14-.232.093.057.302-.077.048.065-.254.142-.03.171-.408.016-.382-.155-.524-.686-.605-.814-.081-.128-.709-.622-.83-.658-.12-.036-.196-.31-.099-.258.098.052.285-.117.028-.012-.256.105-.037.168-.403-.007-.367-.176-.468-.74-.536-.872-.068-.133-.734-.676-.828-.707-.094-.031-.16-.327-.054-.279.106.048.281-.167.009-.09-.273.077-.05.156-.395-.032-.346-.188-.404-.784-.46-.92-.056-.137-.738-.716-.815-.74-.077-.023-.119-.336 0-.293.118.043.265-.201-.01-.148-.275.054-.05.142-.38-.056-.334-.2-.354-.824-.396-.962-.042-.137-.737-.754-.792-.77-.054-.014-.09-.342.03-.303.12.04.236-.215-.031-.184-.267.031-.043.119-.353-.077-.31-.196-.293-.848-.323-.987-.03-.139-.728-.782-.76-.791-.03-.008-.064-.345.055-.306.12.038.215-.224-.05-.208-.266.017-.035.098-.332-.1-.297-.2-.26-.874-.278-1.01-.017-.136-.703-.793-.718-.792-.014 0-.044-.351.073-.308.117.042.191-.225-.066-.225-.258 0-.02.066-.307-.12-.288-.186-.217-.886-.224-1.018-.006-.132-.673-.802-.668-.793.005.01-.023-.342.09-.298.111.043.166-.222-.082-.236-.248-.014 0 .037-.27-.136-.268-.174-.178-.886-.175-1.014.003-.128-.639-.795-.618-.781.022.014 0-.338.107-.287.106.051.14-.218-.093-.24-.234-.023.016.003-.25-.147-.266-.151-.146-.874-.125-1 0-.125-.58-.774-.55-.754.032.02.017-.324.118-.271.1.054.115-.208-.11-.234-.224-.028.022-.02-.218-.154-.24-.134-.11-.85-.08-.969 0-.12-.532-.749-.48-.72.052.029.036-.309.134-.251.097.058.094-.191-.122-.22-.216-.03.027-.04-.192-.159-.219-.119-.077-.823-.03-.936 0-.113-.48-.709-.413-.676.067.034.05-.293.14-.23.09.063.072-.177-.132-.205-.204-.027 0 0 0 0.003 0'  fill='none' stroke='rgba(255,255,255,0.05)' stroke-width='2'/%3E%3C/svg%3E");
}

.wave-bg {
  position: relative;
  overflow: hidden;
}

.wave-bg::before {
  content: "";
  position: absolute;
  width: 200%;
  height: 200%;
  top: -50%;
  left: -50%;
  z-index: 0;
  background: radial-gradient(circle at center, rgba(12, 74, 110, 0.1) 0%, rgba(12, 74, 110, 0) 70%);
  animation: rotate 30s linear infinite;
}

@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.depth-card {
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
}

.depth-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.depth-card::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 4px;
  background: var(--secondary);
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform 0.3s ease;
}

.depth-card:hover::after {
  transform: scaleY(1);
}

.animate-float {
  animation: float 6s ease-in-out infinite;
}

@keyframes float {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-20px);
  }
  100% {
    transform: translateY(0px);
  }
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 6px;
}

::-webkit-scrollbar-track {
  background: var(--dark);
}

::-webkit-scrollbar-thumb {
  background: var(--secondary);
  border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--accent);
} 