/* ================= GLOBAL ================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:Arial, sans-serif;
}

html{
    scroll-behavior:smooth;
}

body{
    line-height:1.6;
    background:#fff;
    overflow-x:hidden;
}
	/* Paragraph Spacing */
p{
    line-height:1.8;
    margin-bottom:20px;
}

img{
    max-width:100%;
}

/* ================= HERO ================= */

.hero,
section.hero{
    position:relative;
    width:100%;
    max-width:100%;
    margin:0;
    padding:0;
    height:calc(100vh - var(--header-height, 120px));
    min-height:520px;
    overflow:hidden;
    color:white;
}

.hero-slides{
    position:relative;
    width:100%;
    height:100%;
}

.hero-slide{
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    width:100%;
    height:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    padding:20px;
    opacity:0;
    visibility:hidden;
    transition:opacity 0.8s ease, visibility 0.8s ease;
}

.hero-slide-bg{
    position:absolute;
    inset:0;
    z-index:0;
    width:100%;
    height:100%;
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
}

.hero-slide-overlay{
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(rgba(0,0,0,0.7), rgba(0,0,0,0.7));
    pointer-events:none;
}

.hero-slide.is-active{
    opacity:1;
    visibility:visible;
    z-index:1;
}

.hero--single .hero-slide{
    opacity:1;
    visibility:visible;
    z-index:1;
}

.hero-content{
    position:relative;
    z-index:2;
    max-width:850px;
}

.hero-content h1{
    font-size:72px;
    margin-bottom:20px;
    font-family:"Playfair Display", serif;
    font-style:italic;
}

.hero-content p{
    font-size:22px;
    margin-top:10px;
    margin-bottom:12px;
}

.hero-nav{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:3;
    width:48px;
    height:48px;
    border:0;
    border-radius:50%;
    background:rgba(11,47,78,0.85);
    color:#fff;
    font-size:24px;
    line-height:1;
    cursor:pointer;
    transition:background 0.3s ease;
}

.hero-nav:hover{
    background:#000;
}

.hero-nav--prev{
    left:20px;
}

.hero-nav--next{
    right:20px;
}

.hero-dots{
    position:absolute;
    left:50%;
    bottom:28px;
    transform:translateX(-50%);
    z-index:3;
    display:flex;
    gap:10px;
}

.hero-dot{
    width:12px;
    height:12px;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,0.45);
    cursor:pointer;
    padding:0;
}

.hero-dot.is-active,
.hero-dot:hover{
    background:#fff;
}

/* BUTTON */
.btn{
    display:inline-block;
    margin-top:30px;
    padding:15px 35px;
    background:#0B2F4E;
    color:white;
    text-decoration:none;
    font-weight:bold;
    border-radius:5px;
    transition:0.3s;
}

.btn:hover{
    background:#000;
}

/* ================= SECTIONS ================= */

section:not(.hero){
    padding:90px 10%;
}

.section-title{
    font-size:45px;
    margin-bottom:25px;
    text-align:center;
    color:#0B2F4E;
}

/* ================= QUALITY ================= */

.quality{
    background:#f9f9f9;
}

.quality-boxes{
    display:flex;
    gap:25px;
    flex-wrap:wrap;
    margin-top:40px;
}

.quality-card{
    flex:1;
    min-width:260px;
    background:white;
    padding:30px;
    border-top:5px solid #0B2F4E;
    border-radius:10px;
    box-shadow:0 3px 10px rgba(0,0,0,0.08);
}

/* ================= HISTORY ================= */

.history{
    background:#0B2F4E;
    color:white;
}

.history .section-title{
    color:white;
}

.timeline-item{
    margin-bottom:30px;
    border-left:4px solid white;
    padding-left:20px;
}

.timeline-item h3{
    margin-bottom:10px;
}

/* ================= ABOUT ================= */

.about{
    background:#fff;
}

.box-container{
    display:flex;
    gap:25px;
    flex-wrap:wrap;
    margin-top:40px;
}

.box{
    flex:1;
    min-width:250px;
    background:#f5f5f5;
    padding:25px;
    border-left:5px solid #0B2F4E;
    border-radius:6px;
}

/* ================= SPECIAL ================= */

.special{
    background:
    linear-gradient(rgba(0,0,0,0.7),rgba(0,0,0,0.7)),
    url('../imgs/home-page-2.jpg');
    background-size:cover;
    background-position:center;
    color:white;
    text-align:center;
}

.special .section-title{
    color:white;
}

/* ================= FOOTER ================= */

footer{
    background:#0B2F4E;
    color:white;
    text-align:center;
    padding:40px 20px;
}

.footer-nav{
    margin-bottom:15px;
}

.footer-nav a{
    color:white;
    margin:0 10px;
    text-decoration:none;
}

.footer-nav a:hover{
    text-decoration:underline;
}

.contact-info{
    line-height:2;
}

.contact-info a{
    color:white;
    text-decoration:none;
}

.contact-info a:hover{
    text-decoration:underline;
}

/* ================= RESPONSIVE ================= */

@media(max-width:900px){

    .hero-nav{
        width:40px;
        height:40px;
        font-size:20px;
    }

    .hero-nav--prev{
        left:10px;
    }

    .hero-nav--next{
        right:10px;
    }

    .hero-content h1{
        font-size:45px;
    }

    .hero-content p{
        font-size:18px;
    }

    .quality-boxes,
    .box-container{
        flex-direction:column;
    }

    .section-title{
        font-size:35px;
    }
}
