:root{--gold:#c8a46b;--dark:#0d0f14;--light:#f8f6f2;}


h1,h2,h3,h4,h5{
    font-family:'Cormorant Garamond',serif;
    font-weight:700;
}

section#authors h2 {
    color: #000!important;
}
.section-padding{padding:110px 0;}

/* HERO */
.hero-section{min-height:100vh;position:relative;overflow:hidden;background:linear-gradient(rgba(6,8,14,.75),rgba(6,8,14,.88)),url('images/bookfair-hero.jpg');background-size:cover;background-position:center;display:flex;align-items:center;}
.hero-section::before{content:'';position:absolute;width:700px;height:700px;background:rgba(200,164,107,.08);border-radius:50%;top:-250px;right:-250px;}
.hero-section::after{content:'';position:absolute;width:500px;height:500px;border:1px solid rgba(255,255,255,.08);border-radius:50%;bottom:-250px;left:-250px;}
.hero-content{position:relative;z-index:2;}
.hero-badge{display:inline-block;padding:12px 24px;background: rgb(255 255 255);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);color: #000000;border-radius:50px;font-size: 18px;letter-spacing:1px;margin-bottom:30px;font-weight: bold;}
.hero-content h1{font-size:82px;line-height:1;color:#fff;margin-bottom:28px;}
.hero-content p{color:#d6d6d6;font-size:18px;line-height:1.9;max-width:780px;}
.hero-btn{margin-top:35px;display:inline-block;padding:16px 38px;background:var(--gold);color:#fff;border-radius:6px;font-weight:600;transition:.4s;text-decoration:none;}
.hero-btn:hover{background:#fff;color:#111;}

/* TITLES */
.section-title{margin-bottom:60px;}
.section-title span{color:var(--gold);letter-spacing:2px;font-size:14px;font-weight:600;}
.section-title h2{font-size:58px;margin-top:15px;margin-bottom:20px;color:#fff!important;}
.section-title p{line-height:1.9;color:#666;font-size: 18px;}

/* CARDS */
.modern-card{background:#fff;padding:45px 35px;border-radius:24px;box-shadow:0 15px 60px rgba(0,0,0,.06);height:100%;position:relative;overflow:hidden;transition:.4s;}
.modern-card:hover{transform:translateY(-10px);}
.modern-card::before{content:'';position:absolute;width:120px;height:120px;background:rgba(200,164,107,.08);border-radius:50%;top:-40px;right:-40px;}
.modern-card h4{font-size: 30px;margin-bottom:22px;}
.modern-card ul{padding-left:18px;}
.modern-card li{margin-bottom:14px;color:#555;line-height:1.8;}

/* EXPERIENCE */
.experience-section{background:#0d1017;color:#fff;position:relative;}
.experience-section .section-title p{color:#bbb;}
.feature-box{border:1px solid rgba(255,255,255,.08);padding:35px;border-radius:20px;background:rgba(255,255,255,.03);backdrop-filter:blur(10px);height:100%;}
.feature-box h5{font-size:30px;margin-bottom:15px;color:#fff!important;}
.feature-box p{color:#cfcfcf;line-height:1.8;margin:0;}

/* GALLERY */
.gallery-section{background:#fff;}
.gallery-item{position:relative;overflow:hidden;border-radius:22px;margin: 0 0 30px;}
.gallery-item img{width:100%;height:380px;object-fit:cover;transition:.5s;}
.gallery-item:hover img{transform:scale(1.1);}
.gallery-overlay{position:absolute;inset:0;background:linear-gradient(transparent,rgba(0,0,0,.92));display:flex;align-items:flex-end;padding:30px;}
.gallery-overlay h5{color:#fff;font-size:24px;line-height:1.4;}

/* SUPPORT */
.support-wrapper{background:#fff;padding:70px;border-radius:30px;box-shadow:0 15px 60px rgba(0,0,0,.05);}
.support-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:40px;}
.support-item{padding: 20px;border-radius:18px;background:#f6f4ef;transition:.3s;}
.support-item:hover{background:var(--gold);color:#fff;}
.support-item h5{font-size: 16px;margin:0;}

/* CTA */
.cta-section{background:linear-gradient(rgba(12,12,12,.85),rgba(12,12,12,.85)),url('images/cta-bg.jpg');background-size:cover;background-position:center;border-radius:30px;padding:110px 50px;text-align:center;color:#fff;}
.cta-section h2{font-size:72px;margin-bottom:25px;}
.cta-section p{max-width:850px;margin:auto;line-height:1.9;color:#d2d2d2;font-size:18px;}
.cta-btn{display:inline-block;margin-top:35px;padding:16px 40px;background:var(--gold);color:#fff;border-radius:6px;font-weight:600;text-decoration:none;}

/* FOOTER */
.footer{background:#0d1017;padding:35px 0;color:#bbb;text-align:center;margin-top:100px;}
.footer p{margin:0;}

section.section-padding.gallery-section h2 {
    color: #000!important;
}

section.section-padding.sss {
    background: #f6f4ef;
}

section.section-padding.sss h2 {
    color: #000!important;
}

section.section99 {
    background: #f5f3ee;
}
section.section99 h2 {
    color: #fff;
}
span.hero-badge.sec22 h1 {
    color: #000!important;
}

.hero-content.sec22 h1 {
    color: #000!important;
    font-size: 56px;
}
section.hero-banner-v1.position-relative.sec22 {
    padding: 160px 0 100px;
}

.hero-content.sec22 p {
    color: #000;
    padding: 0;
}
/* RESPONSIVE */
@media(max-width:991px){
    .hero-content h1{font-size:52px;}
    .section-title h2{font-size:42px;}
    .cta-section h2{font-size:44px;}
    .support-list{grid-template-columns:1fr;}
    .support-wrapper{padding:40px;}
}

@media(max-width:767px){
   .modern-card {height: auto;margin: 0 0 30px;}
   .feature-box {margin: 0 0 30px; height: auto; }
   .support-item h5 {font-size: 20px; margin: 0; }
   section.section99 h2 {color: #fff; font-size: 30px; }
.hero-badge {

    font-size: 17px;
 
}

.hero-banner-v1 .shape-one{display: none;}
}
.sec22 {
    text-align: center;
}

.sec22 p {margin: 20px 0;color: #000;}




/** THUMBNAILS **/
.thumbnails {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}
.thumbnails a {
    position: relative;
    flex-grow: 1;
    height: 200px;
    border-radius: 2px;
    overflow: hidden;
}

.thumbnails img {
    min-width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}
.thumbnails a:hover img {
    transform: scale(1.05);
}

.thumbnails p {
    position: absolute;
    bottom: 0px;
    width: 100%;
    padding: 10px;
    z-index: 10;
    background: rgba(20, 20, 20, 0.6);
    opacity: 0;
    transition: opacity 0.3s;
}
.thumbnails a:hover p {
    opacity: 1;
}

.galtop {
    text-align: center;
    margin: 0 0 30px;
}

section.gallery.section {
    padding: 0 0 60px;
}