/* Mobile-first responsive styles for strategic partnership hero */
*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial; color:#fff; background:#000; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; overflow-x:hidden}

.hero{
	min-height:100vh;
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	background-image:url('bg.jpg');
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
}
.hero::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,0.5)}

.hero__inner{position:relative;z-index:1;width:100%;padding:calc(5vh) 7vw;display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}

.slogan{color:#fff;font-weight:600;letter-spacing:0.02em;margin:0;font-size:1.5rem}
.lead{color:#fff;opacity:0.95;margin:0 0 0.25rem 0;font-size:1.2rem;line-height:1.35}

.vulture{
	display:block;
	width:48vw;
	max-width:260px;
	height:auto;
	will-change:transform;
	animation:rotate-burst 10s cubic-bezier(.2,.9,.2,1) infinite;
	animation-delay:3s;
}
.vulture--main{margin:4vw 0}

.partners{width:100%;display:flex;flex-direction:column;gap:12px;align-items:center;margin-top:6vw}
.partner{display:inline-block;position:relative;transition:transform .28s ease}
.partner img{display:block;width:66vw;max-width:260px;height:auto}
.partner:focus{outline:2px solid rgba(255,193,0,0.18);outline-offset:4px}

/* Floating shadow effect: subtle ellipse under the logo instead of an outer glow */
.partner::before{
	pointer-events:none;
	position:absolute;
	z-index:-1;
	content:'';
	top:100%;
	left:5%;
	height:10px;
	width:90%;
	opacity:0;
	background:radial-gradient(ellipse at center, rgba(0,0,0,.35) 0%, rgba(0,0,0,0) 80%);
	transition:transform .28s ease, opacity .28s ease;
	transform:translateY(0);
}

.partner:hover{transform:translateY(-5px)}
.partner:hover::before{opacity:1;transform:translateY(5px)}

/* Preloader */
#preloader{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.75);transition:opacity .6s ease}
.preloader__icon{width:22vw;max-width:140px;animation:spin 1.1s linear infinite}
.preloader--hidden{opacity:0;pointer-events:none}

@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}

/* Rotate burst: a quick full spin once every 4s, then hold */
@keyframes rotate-burst{
	0%{transform:rotate(0deg)}
	50%{transform:rotate(360deg)}
	100%{transform:rotate(360deg)}
}

@media (prefers-reduced-motion: reduce){
	.vulture, .partner img, .preloader__icon{animation:none !important}
}

/* Tablet adjustments */
@media (min-width:768px){
	.slogan{font-size:2.05rem;max-width:1200px}
	.lead{font-size:1.2rem;max-width:1200px}
	.vulture{width:36vw;max-width:340px}
	.partner img{width:30vw;max-width:300px}
	.partners{gap:18px;margin-top:4vw}
	.preloader__icon{width:120px}
}

/* Desktop layout: center title, two partners top row, vulture below, then slogan */
@media (min-width:1024px){
	.hero__inner{padding:6vh 7vw;align-items:center}

	/* reorder elements visually */
	.lead{order:1;margin-bottom:0rem}
  .slogan{font-size:2.05rem;max-width:1200px}
	.lead{font-size:2.05rem;max-width:1200px}
	.partners{order:2;flex-direction:row;justify-content:space-between;align-items:flex-start;gap:2rem;max-width:70vw}
	.vulture--main{order:3;margin:0 auto;margin-top:6vh;width:40vw;max-width:420px}
	.slogan{order:4;margin-top:6.2rem}

	.partner img{width:100%;max-width:460px}
	.partner{transition:transform .32s cubic-bezier(.2,.9,.2,1)}
	.partner:hover{transform:translateY(-6px)}
	.partner:hover::before{opacity:1;transform:translateY(6px)}
}

/* Accessibility and small touches */
img{max-width:100%;height:auto;border:0}
a{color:inherit;text-decoration:none}

