 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
 }

 body {
     background: #0a0a0a;
     color: #fff;
     font-family: 'Montserrat', sans-serif;
     overflow-x: hidden;
     min-height: 100vh;
 }

 /* ===== CANVAS BACKGROUNDS ===== */
 #particles-canvas {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     z-index: 0;
     pointer-events: none;
 }

 #glitter-canvas {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     z-index: 0;
     pointer-events: none;
     opacity: 0.7;
 }

 /* ===== GLOW ORB ===== */
 .glow-orb {
     position: fixed;
     width: 600px;
     height: 600px;
     border-radius: 50%;
     background: radial-gradient(circle, rgba(255, 182, 193, 0.1), transparent 70%);
     top: 15%;
     left: 50%;
     transform: translateX(-50%);
     pointer-events: none;
     z-index: 0;
     animation: pulseOrb 6s ease-in-out infinite;
 }

 @keyframes pulseOrb {

     0%,
     100% {
         transform: translateX(-50%) scale(1);
         opacity: 0.5;
     }

     50% {
         transform: translateX(-50%) scale(1.3);
         opacity: 0.9;
     }
 }

 /* ===== MAIN ===== */
 .coming-soon {
     position: relative;
     z-index: 1;
     min-height: 100vh;
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
     padding: 40px 20px;
 }

 /* ===== GLASS CARD ===== */
 .glass-card {
     background: rgba(255, 255, 255, 0.02);
     backdrop-filter: blur(24px);
     -webkit-backdrop-filter: blur(24px);
     border: 1px solid rgba(255, 182, 193, 0.12);
     border-radius: 28px;
     padding: 60px 50px;
     max-width: 950px;
     width: 100%;
     text-align: center;
     box-shadow:
         0 0 100px rgba(255, 182, 193, 0.06),
         inset 0 1px 0 rgba(255, 255, 255, 0.04);
     animation: floatIn 1.2s cubic-bezier(0.22, 1, 0.36, 1) forwards;
     opacity: 0;
     transform: translateY(40px);
 }

 @keyframes floatIn {
     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 /* ===== LOGO ===== */
 .logo-area {
     margin-bottom: 30px;
     position: relative;
 }

 .logo-bg-text {
     font-family: 'Playfair Display', serif;
     font-size: clamp(4rem, 14vw, 9rem);
     font-weight: 700;
     color: rgba(255, 182, 193, 0.06);
     letter-spacing: 25px;
     position: absolute;
     top: 50%;
     left: 50%;
     transform: translate(-50%, -50%);
     white-space: nowrap;
     user-select: none;
     pointer-events: none;
 }

 .logo-main {
     font-family: 'Playfair Display', serif;
     font-size: clamp(2.5rem, 6vw, 4.5rem);
     font-style: italic;
     font-weight: 400;
     color: #fff;
     letter-spacing: 3px;
     position: relative;
     z-index: 1;
 }

 .logo-main span {
     color: #ffb6c1;
     font-weight: 700;
 }

 .logo-sub {
     font-family: 'Montserrat', sans-serif;
     font-size: 0.75rem;
     letter-spacing: 10px;
     text-transform: uppercase;
     color: rgba(255, 255, 255, 0.35);
     margin-top: 10px;
     font-weight: 300;
 }

 .divider {
     width: 60px;
     height: 1px;
     background: linear-gradient(90deg, transparent, #ffb6c1, transparent);
     margin: 30px auto;
     opacity: 0.5;
 }

 .coming-text {
     font-size: 0.8rem;
     letter-spacing: 14px;
     text-transform: uppercase;
     color: rgba(255, 182, 193, 0.8);
     margin-bottom: 12px;
     font-weight: 300;
 }

 .tagline {
     font-family: 'Playfair Display', serif;
     font-size: clamp(1.1rem, 2.5vw, 1.5rem);
     font-style: italic;
     color: rgba(255, 255, 255, 0.65);
     margin-bottom: 35px;
     font-weight: 300;
 }

 /* ===== NOTIFICATION FORM ===== */
 .notify-section {
     margin: 35px 0;
     padding: 30px;
     background: rgba(255, 182, 193, 0.03);
     border: 1px solid rgba(255, 182, 193, 0.1);
     border-radius: 20px;
     max-width: 500px;
     margin-left: auto;
     margin-right: auto;
 }

 .notify-title {
     font-family: 'Playfair Display', serif;
     font-size: 1.1rem;
     font-style: italic;
     color: rgba(255, 255, 255, 0.8);
     margin-bottom: 8px;
 }

 .notify-subtitle {
     font-size: 0.7rem;
     letter-spacing: 3px;
     text-transform: uppercase;
     color: rgba(255, 255, 255, 0.3);
     margin-bottom: 20px;
 }

 .notify-form {
     display: flex;
     gap: 10px;
     flex-wrap: wrap;
     justify-content: center;
 }

 .notify-input {
     flex: 1;
     min-width: 220px;
     padding: 14px 22px;
     background: rgba(255, 255, 255, 0.04);
     border: 1px solid rgba(255, 182, 193, 0.2);
     border-radius: 50px;
     color: #fff;
     font-family: 'Montserrat', sans-serif;
     font-size: 0.85rem;
     letter-spacing: 0.5px;
     outline: none;
     transition: all 0.4s ease;
 }

 .notify-input::placeholder {
     color: rgba(255, 255, 255, 0.25);
 }

 .notify-input:focus {
     border-color: rgba(255, 182, 193, 0.5);
     box-shadow: 0 0 20px rgba(255, 182, 193, 0.1);
     background: rgba(255, 255, 255, 0.06);
 }

 .notify-btn {
     padding: 14px 32px;
     background: linear-gradient(135deg, #ffb6c1, #ff69b4);
     border: none;
     border-radius: 50px;
     color: #0a0a0a;
     font-family: 'Montserrat', sans-serif;
     font-size: 0.8rem;
     font-weight: 600;
     letter-spacing: 2px;
     text-transform: uppercase;
     cursor: pointer;
     transition: all 0.4s ease;
     position: relative;
     overflow: hidden;
 }

 .notify-btn:hover {
     transform: translateY(-2px);
     box-shadow: 0 10px 30px rgba(255, 182, 193, 0.35);
 }

 .notify-btn:active {
     transform: scale(0.97);
 }

 .notify-btn::after {
     content: '';
     position: absolute;
     top: -50%;
     left: -50%;
     width: 200%;
     height: 200%;
     background: linear-gradient(45deg,
             transparent 40%,
             rgba(255, 255, 255, 0.3) 50%,
             transparent 60%);
     animation: btnShimmer 3s infinite;
 }

 @keyframes btnShimmer {
     0% {
         transform: translateX(-100%) rotate(45deg);
     }

     100% {
         transform: translateX(100%) rotate(45deg);
     }
 }

 .notify-success {
     display: none;
     margin-top: 15px;
     padding: 12px 20px;
     background: rgba(255, 182, 193, 0.1);
     border: 1px solid rgba(255, 182, 193, 0.3);
     border-radius: 12px;
     color: #ffb6c1;
     font-size: 0.85rem;
     animation: fadeInUp 0.5s ease;
 }

 @keyframes fadeInUp {
     from {
         opacity: 0;
         transform: translateY(10px);
     }

     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 /* ===== GALLERY ===== */
 .gallery-section {
     margin: 40px 0;
 }

 .gallery-title {
     font-size: 0.7rem;
     letter-spacing: 6px;
     text-transform: uppercase;
     color: rgba(255, 255, 255, 0.25);
     margin-bottom: 25px;
 }

 .gallery-grid {
     display: grid;
     grid-template-columns: repeat(4, 1fr);
     gap: 12px;
     max-width: 600px;
     margin: 0 auto;
 }

 .gallery-item {
     aspect-ratio: 1;
     border-radius: 14px;
     overflow: hidden;
     position: relative;
     cursor: pointer;
     transition: all 0.5s cubic-bezier(0.22, 1, 0.36, 1);
     border: 1px solid rgba(255, 182, 193, 0.1);
 }

 .gallery-item:hover {
     transform: translateY(-8px) scale(1.05);
     border-color: rgba(255, 182, 193, 0.4);
     box-shadow: 0 20px 40px rgba(255, 182, 193, 0.15);
 }

 .gallery-item img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform 0.6s ease;
 }

 .gallery-item:hover img {
     transform: scale(1.1);
 }

 .gallery-overlay {
     position: absolute;
     inset: 0;
     background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
     display: flex;
     align-items: flex-end;
     justify-content: center;
     padding-bottom: 12px;
     opacity: 0;
     transition: opacity 0.4s ease;
 }

 .gallery-item:hover .gallery-overlay {
     opacity: 1;
 }

 .gallery-overlay span {
     font-size: 0.65rem;
     letter-spacing: 2px;
     text-transform: uppercase;
     color: #ffb6c1;
     font-weight: 500;
 }

 .gallery-item::after {
     content: '';
     position: absolute;
     top: -50%;
     left: -50%;
     width: 200%;
     height: 200%;
     background: linear-gradient(45deg,
             transparent 40%,
             rgba(255, 182, 193, 0.1) 50%,
             transparent 60%);
     animation: shimmer 5s infinite;
     pointer-events: none;
 }

 @keyframes shimmer {
     0% {
         transform: translateX(-100%) rotate(45deg);
     }

     100% {
         transform: translateX(100%) rotate(45deg);
     }
 }

 /* ===== SOCIAL ===== */
 .social-section {
     margin-top: 40px;
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 20px;
 }

 .instagram-btn {
     display: inline-flex;
     align-items: center;
     gap: 10px;
     padding: 14px 32px;
     background: linear-gradient(135deg, rgba(255, 182, 193, 0.12), rgba(255, 182, 193, 0.04));
     border: 1px solid rgba(255, 182, 193, 0.25);
     border-radius: 50px;
     color: #ffb6c1;
     text-decoration: none;
     font-size: 0.8rem;
     letter-spacing: 2px;
     text-transform: uppercase;
     transition: all 0.4s ease;
     position: relative;
     overflow: hidden;
 }

 .instagram-btn::before {
     content: '';
     position: absolute;
     inset: 0;
     background: linear-gradient(135deg, #ffb6c1, #ff69b4);
     opacity: 0;
     transition: opacity 0.4s ease;
 }

 .instagram-btn:hover::before {
     opacity: 1;
 }

 .instagram-btn:hover {
     color: #0a0a0a;
     transform: translateY(-2px);
     box-shadow: 0 10px 30px rgba(255, 182, 193, 0.3);
 }

 .instagram-btn span,
 .instagram-btn svg {
     position: relative;
     z-index: 1;
 }

 .contact-info {
     display: flex;
     gap: 30px;
     flex-wrap: wrap;
     justify-content: center;
 }

 .contact-item {
     display: flex;
     align-items: center;
     gap: 8px;
     color: rgba(255, 255, 255, 0.35);
     font-size: 0.75rem;
     letter-spacing: 1px;
 }

 .contact-item svg {
     width: 14px;
     height: 14px;
     stroke: #ffb6c1;
     opacity: 0.6;
     fill: none;
 }

 .contact-item a {
     color: rgba(255, 255, 255, 0.35);
     text-decoration: none;
     transition: color 0.3s ease;
 }

 .contact-item a:hover {
     color: #ffb6c1;
 }

 .footer-text {
     margin-top: 40px;
     font-size: 0.65rem;
     letter-spacing: 4px;
     text-transform: uppercase;
     color: rgba(255, 255, 255, 0.15);
 }

 /* ===== SCROLL HINT ===== */
 .scroll-hint {
     position: absolute;
     bottom: 30px;
     left: 50%;
     transform: translateX(-50%);
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 8px;
     opacity: 0.25;
     animation: bounce 2.5s infinite;
 }

 .scroll-hint span {
     font-size: 0.6rem;
     letter-spacing: 3px;
     text-transform: uppercase;
 }

 .scroll-line {
     width: 1px;
     height: 30px;
     background: linear-gradient(to bottom, #ffb6c1, transparent);
 }

 @keyframes bounce {

     0%,
     100% {
         transform: translateX(-50%) translateY(0);
     }

     50% {
         transform: translateX(-50%) translateY(8px);
     }
 }

 /* ===== RESPONSIVE ===== */
 @media (max-width: 700px) {
     .glass-card {
         padding: 40px 22px;
     }

     .gallery-grid {
         grid-template-columns: repeat(2, 1fr);
     }

     .notify-form {
         flex-direction: column;
     }

     .notify-input {
         width: 100%;
     }

     .contact-info {
         gap: 15px;
     }

     .notify-section {
         padding: 22px 18px;
     }
 }