/* Original Bakking GSAP styling extracted from TRAE BAKKING GSAP */

/* Hide built-in header/footer on this homepage to avoid duplication */
.navbar, .footer { display: none !important; }

/* Fonts */
@font-face { font-family: 'Bauhaus Demi'; src: url('https://assets.unlayer.com/stock-files/bauhaus-demi-1718873722731.otf') format('opentype'); }
@font-face { font-family: 'Bauhaus Medium'; src: url('https://assets.unlayer.com/stock-files/bauhaus-medium-1718873720743.otf') format('opentype'); }

/* Global helpers */
.color-transition { transition: background-color 1s ease-in-out; }
.ripple-cursor { cursor: default; position: relative; overflow: hidden; }
.ripple-cursor::after { content:''; position:absolute; width:100px; height:100px; background:rgba(255,255,255,0.3); border-radius:50%; transform:scale(0); animation:ripple 0.6s linear; pointer-events:none; }
@keyframes ripple { to { transform: scale(4); opacity: 0; } }
.fade-in-up { opacity:0; transform:translateY(20px); transition: opacity .8s cubic-bezier(0.65,0,0.35,1), transform .8s cubic-bezier(0.65,0,0.35,1); }
.fade-in-up.is-visible { opacity:1; transform:translateY(0); }
.slide-in-left { opacity:0; transform:translateX(-50px); transition: opacity 1s ease-out, transform 1s ease-out; }
.slide-in-left.is-visible { opacity:1; transform:translateX(0); }
.slide-in-right { opacity:0; transform:translateX(50px); transition: opacity 1s ease-out, transform 1s ease-out; }
.slide-in-right.is-visible { opacity:1; transform:translateX(0); }
.button-interactive { transition: transform .2s cubic-bezier(0.34,1.56,0.64,1), box-shadow .2s ease-in-out; }
.button-interactive:hover { transform: translateY(-3px); box-shadow:0 10px 20px -10px rgba(0,0,0,0.2); }
.button-interactive:active { transform: translateY(-1px); box-shadow:0 5px 10px -5px rgba(0,0,0,0.2); }
.parallax-bg { background-color: black; background-attachment: fixed; background-position:center; background-repeat:no-repeat; background-size:cover; }

/* Hero */
.hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(0.85); }
.hero-overlay { position: absolute; inset: 0; background: radial-gradient(60% 60% at 50% 50%, rgba(0,0,0,0.2), rgba(0,0,0,0.75)); }
.text-gradient { background: linear-gradient(90deg, #fff, #d1d5db); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.hero-text { position: relative; z-index: 20; pointer-events: auto; }
.hero-text h1, .hero-text p { color: #fff; text-shadow: 0 2px 6px rgba(0,0,0,0.35), 0 0 10px rgba(0,0,0,0.25); }
.hero-text h1 { animation: heroGlow 6s ease-in-out infinite; }
@keyframes heroGlow { 0%, 100% { text-shadow: 0 2px 6px rgba(0,0,0,0.35), 0 0 10px rgba(0,0,0,0.25); } 50% { text-shadow: 0 3px 10px rgba(0,0,0,0.45), 0 0 18px rgba(255,255,255,0.35); } }
@media (max-width: 640px) { .hero-text h1 { text-shadow: 0 1px 4px rgba(0,0,0,0.35); } }

/* Get Started sequential pop + dashed line */
.step-hidden { opacity:0; transform:scale(0.92) translateY(8px); filter:blur(1px); }
.step-show { animation: stepPop 600ms cubic-bezier(0.2,0.8,0.2,1) forwards; }
@keyframes stepPop { 0%{opacity:0; transform:scale(0.92) translateY(12px);} 60%{opacity:1; transform:scale(1.06);} 100%{opacity:1; transform:scale(1);} }
.progress-line { height:0; }
.progress-fill { height:0; border-top:2px dashed #d5ad68; display:block; }
.line-hidden { width:0%; opacity:0.6; }
.line-reveal { animation: lineGrowWidth var(--line-duration,2600ms) ease-out forwards; }
@keyframes lineGrowWidth { 0%{width:0%; opacity:.6;} 100%{width:100%; opacity:1;} }

/* Decorative rotating elements */
.deco-item { position:absolute; opacity:0.18; z-index:0; pointer-events:none; }
.spin-slow { animation: spin 18s linear infinite; }
.spin-medium { animation: spin 12s linear infinite; }
.spin-fast { animation: spin 8s linear infinite reverse; }
@keyframes spin { from{transform:rotate(0deg);} to{transform:rotate(360deg);} }