*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{

font-family:'Poppins',sans-serif;

background:
linear-gradient(rgba(20,20,20,.65),rgba(20,20,20,.65)),
url('../images/library-bg.jpg');

background-size:cover;

background-position:center;

background-attachment:fixed;

color:#fff;

min-height:100vh;

overflow-x:hidden;

}

.overlay{

position:fixed;

top:0;
left:0;

width:100%;
height:100%;

background:rgba(0,0,0,.35);

z-index:-1;

}

.hero{

min-height:100vh;

display:flex;

justify-content:center;

align-items:center;

padding:60px 20px;

}

.hero-box{

max-width:900px;

width:100%;

text-align:center;

background:rgba(20,20,20,.45);

backdrop-filter:blur(12px);

padding:60px;

border-radius:24px;

border:1px solid rgba(255,255,255,.15);

box-shadow:0 25px 60px rgba(0,0,0,.35);

}

.badge{

display:inline-block;

background:#b8860b;

padding:10px 24px;

border-radius:50px;

font-size:13px;

letter-spacing:2px;

text-transform:uppercase;

margin-bottom:25px;

font-weight:600;

}

h1{

font-family:'Cinzel',serif;

font-size:52px;

font-weight:700;

margin-bottom:15px;

}

h2{

font-size:24px;

letter-spacing:8px;

margin-bottom:30px;

color:#f2d48a;

font-weight:600;

}

p{

font-size:18px;

line-height:1.9;

color:#f3f3f3;

max-width:760px;

margin:auto;

}

.instruction{

margin-top:35px;

font-size:20px;

font-weight:600;

color:#ffd66b;

}

.file-link{

display:inline-block;

margin-top:45px;

text-decoration:none;

}

.file-cover{

width:280px;

margin:auto;

border-radius:14px;

overflow:hidden;

box-shadow:0 25px 50px rgba(0,0,0,.45);

transition:.35s;

position:relative;

}

.file-cover:hover{

transform:translateY(-10px) scale(1.03);

}

.file-cover img{

width:100%;

display:block;

}

.shine{

position:absolute;

top:0;

left:-120%;

width:50%;

height:100%;

background:

linear-gradient(

90deg,

transparent,

rgba(255,255,255,.45),

transparent

);

transform:skewX(-25deg);

transition:.8s;

}

.file-cover:hover .shine{

left:170%;

}

.caption{

margin-top:18px;

font-size:18px;

font-weight:600;

line-height:1.7;

}

.grid{

margin-top:45px;

}

.grid>div{

transition:.3s;

}

.grid>div:hover{

transform:translateY(-6px);

background:rgba(255,255,255,.18);

}

@media(max-width:768px){

.hero-box{

padding:35px 25px;

}

h1{

font-size:36px;

}

h2{

font-size:18px;

letter-spacing:4px;

}

p{

font-size:16px;

}

.file-cover{

width:220px;

}

}