/* =============================================
   AVC Beach Tour – Raja Ampat Open 2026
   Home / Landing Page Stylesheet
   ============================================= */

:root {
    --blue:        #003f7f;
    --blue-deep:   #001a3a;
    --blue-mid:    #00509e;
    --blue-bright: #0077cc;
    --sky:         #00b4d8;
    --sand:        #f5d9a0;
    --sand-light:  #fdf1db;
    --orange:      #ff6b00;
    --orange-glow: #ff9800;
    --white:       #ffffff;
    --gray-200:    #e5e7eb;
    --gray-400:    #9ca3af;
    --gray-700:    #374151;
    --gray-900:    #111827;
    --dark:        #0a1628;
    --font:        'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-head:   'Oswald', 'Inter', sans-serif;
    --font-hero:   'Bebas Neue', 'Oswald', sans-serif;
    --radius:      10px;
    --radius-lg:   16px;
    --ease:        cubic-bezier(.4,0,.2,1);
}

/* Reset */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px}
body{font-family:var(--font);color:var(--gray-700);background:var(--dark);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
a{text-decoration:none;color:inherit;transition:.25s var(--ease)}
ul{list-style:none}
img{max-width:100%;height:auto;display:block}
button{font-family:var(--font);cursor:pointer}

.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}

/* ========================================
   NAVBAR — transparent, fixed on top
   ======================================== */
.navbar{position:fixed;top:0;left:0;right:0;z-index:100;padding:0;transition:.35s var(--ease)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px}

.nav-brand{display:flex;align-items:center;gap:10px}
.nav-logo{height:40px;width:auto;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}
.nav-brand-text{display:flex;flex-direction:column;line-height:1.25}
.nav-brand-text strong{font-size:.88rem;color:var(--white);font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.nav-brand-text span{font-size:.65rem;color:rgba(255,255,255,.55);font-weight:500}

.nav-menu{display:flex;align-items:center;gap:2px}
.nav-menu a{padding:7px 13px;font-size:.78rem;font-weight:600;color:rgba(255,255,255,.75);border-radius:6px;text-transform:uppercase;letter-spacing:.04em;transition:.2s var(--ease)}
.nav-menu a:hover{color:var(--white);background:rgba(255,255,255,.1)}

.nav-toggle{display:none;flex-direction:column;gap:5px;background:0;border:0;padding:8px}
.nav-toggle span{display:block;width:22px;height:2.5px;background:var(--white);border-radius:2px;transition:.25s var(--ease)}
.nav-toggle.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* scrolled state */
.navbar.scrolled{background:rgba(0,26,58,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 4px 30px rgba(0,0,0,.25)}

/* ========================================
   HERO — Full viewport
   ======================================== */
.hero{position:relative;width:100%;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}

/* --- Background layers --- */
.hero-bg{position:absolute;inset:0;z-index:0}

.hero-gradient{position:absolute;inset:0;background:
    radial-gradient(ellipse 120% 80% at 50% 30%, rgba(0,63,127,.95) 0%, transparent 70%),
    radial-gradient(ellipse 100% 60% at 80% 70%, rgba(0,180,216,.2) 0%, transparent 60%),
    radial-gradient(ellipse 80% 50% at 15% 80%, rgba(255,107,0,.12) 0%, transparent 50%),
    linear-gradient(170deg, #001a3a 0%, #003060 30%, #004a80 55%, #00587a 75%, #1a6b6a 100%);
}

/* Volleyball net silhouette */
.hero-net{position:absolute;top:38%;left:0;right:0;height:2px;background:rgba(255,255,255,.04);z-index:1}
.hero-net::before{content:'';position:absolute;top:-60px;left:5%;right:5%;bottom:-60px;
    background:repeating-linear-gradient(90deg,transparent,transparent 28px,rgba(255,255,255,.02) 28px,rgba(255,255,255,.02) 29px),
    repeating-linear-gradient(0deg,transparent,transparent 28px,rgba(255,255,255,.02) 28px,rgba(255,255,255,.02) 29px)}

/* Waves */
.hero-wave{position:absolute;bottom:0;left:0;width:200%;height:120px;opacity:.35;animation:wave-drift 20s linear infinite}
.hero-wave-1{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120'%3E%3Cpath fill='%2300b4d8' fill-opacity='.3' d='M0,64L60,58.7C120,53,240,43,360,48C480,53,600,75,720,80C840,85,960,75,1080,64C1200,53,1320,43,1380,37.3L1440,32L1440,120L0,120Z'/%3E%3C/svg%3E") repeat-x bottom;background-size:1440px 120px}
.hero-wave-2{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120'%3E%3Cpath fill='%23f5d9a0' fill-opacity='.18' d='M0,96L48,90.7C96,85,192,75,288,74.7C384,75,480,85,576,90.7C672,96,768,96,864,85.3C960,75,1056,53,1152,48C1248,43,1344,53,1392,58.7L1440,64L1440,120L0,120Z'/%3E%3C/svg%3E") repeat-x bottom;background-size:1440px 120px;animation-duration:28s;animation-direction:reverse}

@keyframes wave-drift{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* Sand floor */
.hero-sand-floor{position:absolute;bottom:0;left:0;right:0;height:40px;background:linear-gradient(0deg,rgba(245,217,160,.2) 0%,transparent 100%)}

/* Floating particles */
.hero-particles{position:absolute;inset:0;z-index:1;pointer-events:none}
.hero-particles .dot{position:absolute;border-radius:50%;background:rgba(255,255,255,.12);animation:float-y linear infinite}
@keyframes float-y{0%{transform:translateY(100vh) scale(0);opacity:0}10%{opacity:1}90%{opacity:.6}100%{transform:translateY(-10vh) scale(1);opacity:0}}

/* Decorative volleyball */
.hero-ball{position:absolute;right:6%;top:16%;width:180px;height:180px;opacity:.35;animation:spin-slow 60s linear infinite}
@keyframes spin-slow{to{transform:rotate(360deg)}}
.hero-ball svg{width:100%;height:100%}

/* --- Hero content --- */
.hero-content{position:relative;z-index:2;text-align:center;padding:100px 20px 120px;max-width:880px;width:100%;animation:fadeIn .8s var(--ease) both}
@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* Badge */
.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 22px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:50px;color:rgba(255,255,255,.7);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:32px;backdrop-filter:blur(8px)}
.hero-badge i{color:var(--orange-glow);font-size:.68rem}

/* Title */
.hero-title{margin-bottom:28px}
.title-top{display:block;font-family:var(--font-head);font-size:1.35rem;font-weight:500;color:rgba(255,255,255,.6);letter-spacing:.22em;text-transform:uppercase}
.title-main{display:block;font-family:var(--font-hero);font-size:6rem;color:var(--white);line-height:.95;letter-spacing:.04em;text-transform:uppercase;text-shadow:0 4px 40px rgba(0,0,0,.3)}
.title-year{display:block;font-family:var(--font-hero);font-size:4.5rem;line-height:1;letter-spacing:.08em;background:linear-gradient(135deg,var(--orange) 0%,var(--orange-glow) 40%,var(--sand) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* Meta pills */
.hero-meta{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-bottom:36px}
.meta-pill{display:inline-flex;align-items:center;gap:8px;padding:9px 20px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:50px;color:rgba(255,255,255,.85);font-size:.88rem;font-weight:500;backdrop-filter:blur(6px)}
.meta-pill i{color:var(--orange-glow);font-size:.85rem}

/* Countdown */
.countdown{display:flex;justify-content:center;gap:8px;margin-bottom:48px}
.cd-block{display:flex;flex-direction:column;align-items:center;min-width:76px;padding:16px 12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);backdrop-filter:blur(8px)}
.cd-num{font-family:var(--font-hero);font-size:2.6rem;color:var(--white);line-height:1;letter-spacing:.04em}
.cd-lbl{font-size:.6rem;color:rgba(255,255,255,.45);text-transform:uppercase;letter-spacing:.12em;margin-top:5px;font-weight:700}
.cd-sep{font-family:var(--font-hero);font-size:2.4rem;color:rgba(255,255,255,.2);margin-top:8px}

/* ========================================
   NAVIGATION CARDS — Menu inside hero
   ======================================== */
.hero-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;max-width:780px;margin:0 auto}

.hero-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px 8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);color:rgba(255,255,255,.8);transition:.3s var(--ease);backdrop-filter:blur(6px);text-align:center}
.hero-card i{font-size:1.4rem;color:rgba(255,255,255,.65);transition:.25s var(--ease)}
.hero-card span{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1.3}

.hero-card:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.22);transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.25)}
.hero-card:hover i{color:var(--orange-glow);transform:scale(1.15)}
.hero-card:hover span{color:var(--white)}

/* ========================================
   HERO BOTTOM BAR
   ======================================== */
.hero-bottom{position:absolute;bottom:0;left:0;right:0;z-index:3;padding:14px 0;background:rgba(0,0,0,.2);backdrop-filter:blur(8px)}
.hero-bottom-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.hero-copy{font-size:.72rem;color:rgba(255,255,255,.35)}
.hero-bottom-right{display:flex;align-items:center;gap:18px}
.hero-link{font-size:.72rem;color:rgba(255,255,255,.45);font-weight:600}
.hero-link:hover{color:var(--orange-glow)}

.hero-social{display:flex;gap:6px}
.hero-social a{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.45);font-size:.78rem;transition:.25s var(--ease)}
.hero-social a:hover{background:var(--orange);border-color:var(--orange);color:var(--white);transform:translateY(-2px)}

/* ========================================
   RESPONSIVE
   ======================================== */
@media(max-width:1024px){
    .hero-grid{grid-template-columns:repeat(4,1fr);max-width:520px}
    .hero-ball{width:130px;height:130px;right:4%;top:12%}
}

@media(max-width:768px){
    html{font-size:15px}

    .nav-toggle{display:flex}
    .nav-menu{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,26,58,.97);backdrop-filter:blur(20px);flex-direction:column;align-items:center;justify-content:center;gap:6px;z-index:200}
    .nav-menu.open{display:flex}
    .nav-menu a{font-size:1.1rem;padding:14px 24px;color:rgba(255,255,255,.8)}
    .nav-menu a:hover{background:rgba(255,255,255,.08);color:var(--white)}
    .nav-toggle{z-index:250;position:relative}

    .title-main{font-size:3.5rem}
    .title-year{font-size:2.8rem}
    .title-top{font-size:1.05rem}

    .hero-content{padding:100px 16px 130px}

    .cd-block{min-width:60px;padding:12px 8px}
    .cd-num{font-size:2rem}
    .cd-sep{font-size:1.8rem}

    .hero-grid{grid-template-columns:repeat(4,1fr);gap:8px;max-width:400px}
    .hero-card{padding:14px 6px;gap:5px}
    .hero-card i{font-size:1.1rem}
    .hero-card span{font-size:.6rem}

    .hero-ball{display:none}
    .hero-net{display:none}

    .hero-bottom-inner{justify-content:center;text-align:center;flex-direction:column;gap:8px}
}

@media(max-width:480px){
    .title-main{font-size:2.6rem}
    .title-year{font-size:2.1rem}
    .title-top{font-size:.9rem;letter-spacing:.15em}

    .hero-meta{flex-direction:column;align-items:center;gap:8px}

    .countdown{gap:4px}
    .cd-block{min-width:50px;padding:10px 6px}
    .cd-num{font-size:1.6rem}
    .cd-sep{font-size:1.5rem;margin-top:4px}

    .hero-grid{grid-template-columns:repeat(3,1fr);gap:6px;max-width:300px}
    .hero-card:last-child{grid-column:span 1}

    .hero-badge{font-size:.62rem;padding:6px 14px}
}

@media(max-width:360px){
    .hero-grid{grid-template-columns:repeat(2,1fr)}
}
