@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700;900&display=swap');

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

body{font-family:'Inter',sans-serif;background:#001020;color:#fff;overflow-x:hidden;}

/* ===== WATER CANVAS ===== */
#water-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;}

/* ===== GATEKEEPER ===== */
#gatekeeper{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1000;}
.overlay{position:absolute;inset:0;pointer-events:none;}
.logo-container{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;}
.logo-circle{width:320px;height:320px;background:rgba(255,255,255,0.95);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 0 50px rgba(255,255,255,0.2);transition:transform .5s cubic-bezier(.4,0,.2,1),box-shadow .5s ease;}
.logo-circle:hover{transform:scale(1.05);box-shadow:0 0 80px rgba(255,255,255,0.4);}
.logo-circle:active{transform:scale(0.95);}
.logo-content{text-align:center;color:#1a1a1a;padding:20px;user-select:none;}
.logo-icon{width:80px;height:80px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;}
.drop{width:40px;height:40px;background:linear-gradient(135deg,#60c0e0,#2090b0);border-radius:0 50% 50% 50%;transform:rotate(45deg);}
.logo-content h1{font-size:2rem;font-weight:900;letter-spacing:-2px;line-height:1;margin-bottom:5px;}
.logo-content p{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:3px;color:#666;}
.helper-text{margin-top:40px;font-size:10px;text-transform:uppercase;letter-spacing:6px;color:rgba(255,255,255,0.4);font-weight:600;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:0.4;}50%{opacity:0.8;}}

/* ===== MAIN CONTENT ===== */
#main-content{position:relative;z-index:10;}
.hidden{display:none!important;}

/* ===== SCROLLYTELLING ===== */
.sticky-text-wrapper{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;text-align:center;pointer-events:none;z-index:10;}
.text-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;max-width:800px;}
.hero-subtitle{font-size:14px;font-weight:300;text-transform:uppercase;letter-spacing:8px;color:rgba(255,255,255,0.5);margin-bottom:20px;}
.hero-title{font-size:clamp(3rem,8vw,7rem);font-weight:900;letter-spacing:-3px;line-height:1;margin-bottom:24px;background:linear-gradient(135deg,#fff 0%,#a0e0ff 50%,#60c0e0 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow: 0 10px 30px rgba(0,0,0,0.3);}
.hero-desc{font-size:18px;font-weight:300;color:rgba(255,255,255,0.45);line-height:1.8;letter-spacing:.5px;}
.hero-link{color:#60c0e0;text-decoration:none;font-weight:600;pointer-events:auto;}
.hero-link:hover{color:#fff;}
.scroll-trigger-section{height:100vh;width:100%;pointer-events:none;}
.scroll-indicator{position:fixed;bottom:40px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;opacity:0.4;z-index:20;}
.scroll-line{width:1px;height:50px;background:linear-gradient(to bottom,rgba(255,255,255,0.6),transparent);animation:scrollPulse 2s ease-in-out infinite;}
@keyframes scrollPulse{0%,100%{transform:scaleY(1);opacity:0.6;}50%{transform:scaleY(0.5);opacity:0.2;}}
.scroll-indicator span{font-size:9px;text-transform:uppercase;letter-spacing:4px;color:rgba(255,255,255,0.5);}

/* ===== CONTENT SECTIONS ===== */
.content-section{position:relative;z-index:5;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:120px 40px;}
.section-inner{max-width:1200px;width:100%;text-align:center;margin:0 auto;}
.section-label{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:6px;color:rgba(255,255,255,0.35);margin-bottom:20px;}
.section-heading{font-size:clamp(2rem,5vw,4rem);font-weight:900;letter-spacing:-2px;margin-bottom:50px;background:linear-gradient(135deg,#fff 0%,#80d0f0 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.section-text{font-size:18px;font-weight:300;color:rgba(255,255,255,0.5);line-height:1.9;max-width:700px;margin:0 auto 40px;}

/* ===== SERVICE CARDS GRID ===== */
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;margin-top:20px;}
.service-card{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);backdrop-filter:blur(12px);padding:50px 35px;border-radius:20px;text-align:center;transition:all .4s ease;}
.service-card:hover{background:rgba(255,255,255,0.1);border-color:rgba(96,192,224,0.25);transform:translateY(-8px);box-shadow:0 20px 60px rgba(0,0,0,0.3);}
.card-icon{font-size:48px;margin-bottom:24px;color:#60c0e0;}
.service-card h3{font-size:20px;font-weight:700;margin-bottom:16px;letter-spacing:1px;color:rgba(255,255,255,0.9);}
.service-card p{font-size:15px;color:rgba(255,255,255,0.4);line-height:1.7;}
.card-link{display:inline-block;margin-top:15px;color:#60c0e0;font-size:14px;text-decoration:none;font-weight:600;letter-spacing:1px;transition:color .3s;}
.card-link:hover{color:#fff;}

/* ===== CTA BUTTON ===== */
.cta-button{display:inline-block;padding:18px 50px;border:1px solid rgba(255,255,255,0.2);background:rgba(255,255,255,0.05);backdrop-filter:blur(10px);color:#fff;font-family:'Inter',sans-serif;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:4px;cursor:pointer;border-radius:60px;transition:all .4s ease;text-decoration:none;}
.cta-button:hover{background:rgba(255,255,255,0.12);border-color:rgba(96,192,224,0.4);box-shadow:0 0 40px rgba(96,192,224,0.15);transform:translateY(-3px);}

/* ===== TWO COLUMN LAYOUT ===== */
.two-col-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;text-align:left;}
.text-left{text-align:left!important;}
.text-center{text-align:center!important;}
.mt-2{margin-top:20px;}
.values-title{font-size:22px;font-weight:700;margin-bottom:20px;color:#fff;}

/* ===== VALUES LIST ===== */
.values-list{display:flex;flex-direction:column;gap:16px;}
.value-item{display:flex;align-items:center;gap:20px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);backdrop-filter:blur(12px);padding:20px 30px;border-radius:16px;transition:transform .3s ease,border-color .3s ease;}
.value-item:hover{transform:translateX(10px);border-color:rgba(96,192,224,0.3);}
.value-number{font-size:24px;font-weight:900;color:rgba(96,192,224,0.5);}
.value-item h4{font-size:18px;font-weight:600;color:#fff;}

/* ===== ICON VALUES GRID ===== */
.icon-values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;}
.icon-value-card{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.06);backdrop-filter:blur(12px);padding:50px 30px;border-radius:20px;text-align:center;transition:all .4s ease;}
.icon-value-card:hover{background:rgba(255,255,255,0.08);border-color:rgba(96,192,224,0.2);transform:translateY(-6px);}
.iv-icon{font-size:42px;color:#60c0e0;margin-bottom:20px;}
.icon-value-card h4{font-size:18px;font-weight:700;color:#fff;}

/* ===== TESTIMONIALS MARQUEE ===== */
.testimonials-marquee{overflow:hidden;white-space:nowrap;position:relative;width:100vw;left:50%;transform:translateX(-50%);padding:20px 0;mask-image:linear-gradient(to right,transparent,black 10%,black 90%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 10%,black 90%,transparent);}
.marquee-track{display:inline-flex;gap:30px;animation:scrollMarquee 50s linear infinite;}
.marquee-track:hover{animation-play-state:paused;}
@keyframes scrollMarquee{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.testimonial-card{width:400px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.05);padding:40px;border-radius:20px;white-space:normal;text-align:left;display:flex;flex-direction:column;justify-content:space-between;}
.testimonial-card p{font-size:16px;color:rgba(255,255,255,0.6);line-height:1.6;margin-bottom:30px;font-style:italic;}
.testimonial-card h4{font-size:18px;font-weight:700;color:#fff;margin-bottom:5px;}
.testimonial-card span{font-size:14px;color:#60c0e0;}

/* ===== CONTACT FORM ===== */
.contact-form-wrap{display:flex;flex-direction:column;gap:15px;margin-bottom:25px;}
.contact-form-wrap label{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:rgba(255,255,255,0.5);}
.form-select,.form-input{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);padding:15px 20px;border-radius:12px;color:#fff;font-family:inherit;font-size:15px;outline:none;transition:border-color .3s;}
.form-select:focus,.form-input:focus{border-color:rgba(96,192,224,0.4);}
.form-select option{background:#0a1928;color:#fff;}
textarea.form-input{resize:vertical;}
.contact-note{font-size:14px;color:rgba(255,255,255,0.4);line-height:1.7;margin-top:10px;}

/* ===== FOOTER GRID ===== */
.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;text-align:left;background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.05);backdrop-filter:blur(20px);padding:60px;border-radius:30px;}
.footer-col h4{font-size:18px;font-weight:700;margin-bottom:15px;color:#fff;}
.footer-col h4 i{margin-right:8px;color:#60c0e0;}
.footer-col p{font-size:16px;color:rgba(255,255,255,0.5);line-height:1.6;}
.footer-col a{color:rgba(255,255,255,0.5);text-decoration:none;transition:color .3s;}
.footer-col a:hover{color:#60c0e0;}

/* ===== SITE FOOTER ===== */
#site-footer{position:relative;z-index:5;padding:0 40px 40px;}
.footer-inner{max-width:1200px;margin:0 auto;background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.05);backdrop-filter:blur(20px);border-radius:30px;padding:60px;}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px;text-align:left;}
.ft-col h4{font-size:18px;font-weight:700;margin-bottom:15px;color:#fff;}
.ft-col p{font-size:15px;color:rgba(255,255,255,0.45);line-height:1.7;}
.ft-col a{color:rgba(255,255,255,0.5);text-decoration:none;transition:color .3s;}
.ft-col a:hover{color:#60c0e0;}
.footer-logo{font-size:28px;font-weight:900;letter-spacing:-1px;margin-bottom:15px;background:linear-gradient(135deg,#fff,#60c0e0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.subscribe-form{display:flex;margin-top:15px;}
.subscribe-form input{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);padding:15px 20px;border-radius:30px 0 0 30px;color:#fff;font-family:inherit;outline:none;flex-grow:1;}
.subscribe-form button{background:#60c0e0;border:none;padding:15px 30px;border-radius:0 30px 30px 0;color:#001020;font-weight:900;cursor:pointer;transition:background .3s;}
.subscribe-form button:hover{background:#fff;}
.footer-bottom{margin-top:40px;padding-top:30px;border-top:1px solid rgba(255,255,255,0.05);text-align:center;}
.footer-bottom p{font-size:13px;color:rgba(255,255,255,0.3);}

/* ========================================
   HEADER — Reza City Inspired Mega Menu
   ======================================== */
#main-header{position:fixed;top:0;left:0;width:100%;height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 40px;z-index:100;background:rgba(0,16,32,0.5);backdrop-filter:blur(15px);border-bottom:1px solid rgba(255,255,255,0.05);transition:opacity .5s ease,visibility .5s ease;}
.header-left{display:flex;align-items:center;gap:15px;}
.logo{font-size:22px;font-weight:900;color:#fff;letter-spacing:-1px;}
.ham-btn{background:none;border:none;color:#fff;font-size:20px;cursor:pointer;display:none;}
.main-nav ul{list-style:none;display:flex;gap:25px;margin:0;padding:0;}
.main-nav a.nav-link{color:rgba(255,255,255,0.8);text-decoration:none;font-weight:600;font-size:14px;padding:24px 0;display:inline-flex;align-items:center;gap:6px;transition:color .3s; text-shadow: 0 2px 10px rgba(0,0,0,0.5);}
.main-nav a.nav-link:hover{color:#60c0e0;}
.dd-arrow{font-size:9px;transition:transform .3s;}
.has-dropdown:hover .dd-arrow{transform:rotate(180deg);}
/* Interactive Menu (Reza City Style) */
.interactive-menu-inner { max-width: 900px; }
.reza-city-nav { margin-top: 40px; }
.center-cluster { justify-content: center; display: flex; flex-wrap: wrap; gap: 15px; }
.pill-btn {
    display: inline-flex; align-items: center; gap: 10px; 
    background: rgba(235, 240, 248, 0.9); border: 1px solid rgba(255, 255, 255, 0.8);
    color: #1a2a3a; text-decoration: none; padding: 14px 28px; border-radius: 50px;
    font-size: 16px; font-weight: 700; box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); cursor: pointer;
}
.pill-btn:hover {
    background: #ffffff; transform: translateY(-3px); box-shadow: 0 10px 25px rgba(0,0,0,0.2); color: #000;
}
.pill-btn i { font-size: 18px; color: #60c0e0; }
.back-pill { background: rgba(0, 16, 32, 0.6); color: #fff; border-color: rgba(255,255,255,0.2); }
.back-pill:hover { background: rgba(96, 192, 224, 0.2); color: #fff; }
.back-pill i { color: #fff; }

/* Bottom Bar (Reza City Style) */
.bottom-bar{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);display:flex;gap:8px;background:rgba(8,20,35,0.75);backdrop-filter:blur(25px);border:1px solid rgba(255,255,255,0.1);border-radius:20px;padding:10px 20px;z-index:100;opacity:0;visibility:hidden;transition:all .5s ease;}
.bb-btn{background:none;border:none;color:rgba(255,255,255,0.6);display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;padding:8px 18px;border-radius:14px;transition:all .3s;}
.bb-btn:hover,.bb-btn.active{background:rgba(255,255,255,0.08);color:#60c0e0;}
.bb-btn i{font-size:18px;}
.bb-btn span{font-size:10px;text-transform:uppercase;letter-spacing:1px;font-weight:600;}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
    .mega-menu{width:90vw!important;left:0;transform:translateX(-20%) translateY(15px);}
    .has-dropdown:hover .mega-menu{transform:translateX(-20%) translateY(0);}
    .icon-values-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:768px){
    .ham-btn{display:block; font-size: 24px; padding: 10px; z-index: 101;}
    #main-header{background: rgba(0,16,32,0.9); backdrop-filter: blur(20px); border-bottom: 1px solid rgba(255,255,255,0.1);}
    .main-nav{position:fixed;top:0;left:0;width:100%;height:100vh;background:rgba(0,8,20,0.98);backdrop-filter:blur(30px);padding:100px 20px 40px;overflow-y:auto;transform:translateX(-100%);transition:transform .4s cubic-bezier(0.4, 0, 0.2, 1);z-index:99; display: flex; flex-direction: column; align-items: center;}
    .main-nav.open{transform:translateX(0);}
    .main-nav ul{flex-direction:column;gap:10px; width: 100%; text-align: center;}
    .main-nav a.nav-link{padding:20px 0; border-bottom:1px solid rgba(255,255,255,0.05); width:100%; font-size: 1.2rem; justify-content: center;}
    
    .hero-title{font-size: 3.5rem; letter-spacing: -1px;}
    .hero-subtitle{letter-spacing: 4px; font-size: 12px;}
    .hero-desc{font-size: 16px; line-height: 1.6;}
    
    .section-heading{font-size: 2.2rem; margin-bottom: 25px;}
    .section-text{font-size: 16px; color: rgba(255,255,255,0.8) !important;}
    h3, .category-content h3 { color: #fff !important; }
    p, .category-content p { color: rgba(255,255,255,0.9) !important; }
    
    .two-col-layout{grid-template-columns:1fr; gap: 40px;}
    .footer-grid{grid-template-columns:1fr; padding:40px 20px; border-radius: 20px;}
    .footer-top{grid-template-columns:1fr; gap: 40px;}
    .services-grid{grid-template-columns:1fr; gap: 20px;}
    .icon-values-grid{grid-template-columns:1fr; gap: 20px;}
    .content-section{padding:60px 20px;}
    
    .service-card{padding: 40px 25px;}
    .icon-value-card{padding: 40px 25px;}
    
    .pill-cluster{gap: 10px;}
    .pill-btn{padding: 12px 20px; font-size: 14px;}
    
    .logo-circle{width: 250px; height: 250px;}
    .logo-content h1{font-size: 1.5rem;}
}
