   *,
   *::before,
   *::after {
       margin: 0;
       padding: 0;
       box-sizing: border-box;
   }

   html {
       scroll-behavior: smooth;
   }

   body {
       font-family: 'Poppins', sans-serif;
       overflow-x: hidden;
       min-height: 100vh;
       background: #F9FAFB;
   }

   /* Preloader */
   .preloader {
       position: fixed;
       inset: 0;
       background: linear-gradient(135deg, #0F766E, #14B8A6);
       z-index: 99999;
       display: flex;
       align-items: center;
       justify-content: center;
       flex-direction: column;
       transition: opacity .5s, visibility .5s;
   }

   .preloader.hidden {
       opacity: 0;
       visibility: hidden;
       pointer-events: none;
   }

   .preloader-plane {
       animation: flyPlane 2s ease-in-out infinite;
   }

   @keyframes flyPlane {

       0%,
       100% {
           transform: translate(0, 0) rotate(0);
       }

       25% {
           transform: translate(18px, -10px) rotate(5deg);
       }

       50% {
           transform: translate(0, -20px);
       }

       75% {
           transform: translate(-18px, -10px) rotate(-5deg);
       }
   }

   .preloader-text {
       color: #fff;
       font-size: 1.4rem;
       font-weight: 700;
       font-family: 'Playfair Display', serif;
       letter-spacing: 4px;
       margin-top: 16px;
   }

   .preloader-dots span {
       display: inline-block;
       width: 8px;
       height: 8px;
       background: #fff;
       border-radius: 50%;
       margin: 0 4px;
       animation: dotBounce 1.4s ease-in-out infinite;
   }

   .preloader-dots span:nth-child(2) {
       animation-delay: .2s;
   }

   .preloader-dots span:nth-child(3) {
       animation-delay: .4s;
   }

   @keyframes dotBounce {

       0%,
       80%,
       100% {
           transform: scale(.6);
           opacity: .5;
       }

       40% {
           transform: scale(1);
           opacity: 1;
       }
   }

   ::-webkit-scrollbar {
       width: 6px;
   }

   ::-webkit-scrollbar-track {
       background: #f1f1f1;
   }

   ::-webkit-scrollbar-thumb {
       background: #0F766E;
       border-radius: 10px;
   }

   /* 404 Illustration animations */
   @keyframes float {

       0%,
       100% {
           transform: translateY(0);
       }

       50% {
           transform: translateY(-18px);
       }
   }

   @keyframes floatSm {

       0%,
       100% {
           transform: translateY(0);
       }

       50% {
           transform: translateY(-10px);
       }
   }

   @keyframes wiggle {

       0%,
       100% {
           transform: rotate(-3deg);
       }

       50% {
           transform: rotate(3deg);
       }
   }

   @keyframes drift {

       0%,
       100% {
           transform: translateX(0);
       }

       50% {
           transform: translateX(12px);
       }
   }

   @keyframes pulse2 {

       0%,
       100% {
           opacity: .2;
       }

       50% {
           opacity: .5;
       }
   }

   @keyframes spin {
       from {
           transform: rotate(0deg);
       }

       to {
           transform: rotate(360deg);
       }
   }

   .anim-float {
       animation: float 5s ease-in-out infinite;
   }

   .anim-float-d {
       animation: float 5s ease-in-out 1.5s infinite;
   }

   .anim-float-sm {
       animation: floatSm 4s ease-in-out infinite;
   }

   .anim-wiggle {
       animation: wiggle 6s ease-in-out infinite;
   }

   .anim-drift {
       animation: drift 8s ease-in-out infinite;
   }

   .anim-pulse2 {
       animation: pulse2 3s ease-in-out infinite;
   }

   .anim-spin-slow {
       animation: spin 20s linear infinite;
   }

   /* Glow behind 404 */
   .glow-circle {
       position: absolute;
       border-radius: 50%;
       filter: blur(60px);
       opacity: .15;
       pointer-events: none;
   }

   /* Search */
   .search-input:focus {
       border-color: #0F766E;
       box-shadow: 0 0 0 4px rgba(15, 118, 110, .08);
   }

   /* Quick Link Card */
   .link-card {
       transition: all .35s ease;
   }

   .link-card:hover {
       transform: translateY(-6px);
       box-shadow: 0 18px 40px -12px rgba(15, 118, 110, .15);
   }

   .link-card:hover .link-icon {
       background: #0F766E;
       color: white;
       transform: rotateY(180deg);
   }

   .link-icon {
       transition: all .5s ease;
   }

   /* Btn */
   .btn-primary {
       position: relative;
       overflow: hidden;
       transition: all .3s;
   }

   .btn-primary::before {
       content: '';
       position: absolute;
       inset: 0;
       background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .18), transparent);
       transform: translateX(-100%);
       transition: transform .5s;
   }

   .btn-primary:hover::before {
       transform: translateX(100%);
   }

   .btn-primary:active {
       transform: scale(.97);
   }

   /* Fun facts ticker */
   @keyframes ticker {
       0% {
           transform: translateX(0);
       }

       100% {
           transform: translateX(-50%);
       }
   }

   .ticker-track {
       animation: ticker 25s linear infinite;
   }

   .ticker-track:hover {
       animation-play-state: paused;
   }

   /* Countdown redirect */
   .countdown-ring {
       stroke-dasharray: 113;
       stroke-dashoffset: 113;
       animation: countdown-anim 15s linear forwards;
   }

   @keyframes countdown-anim {
       to {
           stroke-dashoffset: 0;
       }
   }

   /* Pattern */
   .dots-bg {
       background-image: radial-gradient(#D1D5DB .8px, transparent .8px);
       background-size: 20px 20px;
   }