*{

margin:0;

padding:0;

box-sizing:border-box;

scroll-behavior:smooth;

}

:root{

--primary:#D7264F;

--primary-dark:#B41D42;

--dark:#111111;

--light:#f7f7f7;

--text:#666;

--white:#fff;

}

body{

font-family:Poppins,sans-serif;

color:var(--dark);

line-height:1.6;

}

.container{

width:min(90%,1200px);

margin:auto;

}

/* NAVIGATION */

header{

position:fixed;

width:100%;

top:0;

left:0;

z-index:1000;

background:rgba(17,17,17,.75);

backdrop-filter:blur(12px);

}

nav{

height:85px;

display:flex;

align-items:center;

justify-content:space-between;

}

.logo img{
    height: 80px;
    width: auto;
    display: block;
}

.nav-links{

display:flex;

gap:40px;

list-style:none;

}

.nav-links a{

color:white;

text-decoration:none;

font-weight:500;

transition:.3s;

}

.nav-links a:hover{

color:var(--primary);

}

.btn{

display:inline-block;

padding:14px 34px;

background:var(--primary);

color:white;

border-radius:50px;

text-decoration:none;

transition:.3s;

font-weight:600;

}

.btn:hover{

background:var(--primary-dark);

transform:translateY(-3px);

}

.secondary{

background:transparent;

border:2px solid white;

}

.secondary:hover{

background:white;

color:var(--dark);

}

/* HERO */

.hero{

position:relative;

height:100vh;

background:url("assets/hero_silver.jpeg") center center/cover no-repeat;

display:flex;

align-items:center;


}

.overlay{

position:absolute;

inset:0;

background:rgba(0,0,0,.55);

}

.hero-content{

position:relative;

color:white;

max-width:650px;

z-index:2;

}

.tagline{

letter-spacing:3px;

color:#f3b5c2;

margin-bottom:20px;

font-weight:600;

}

.hero h1{

font-family:"Playfair Display",serif;

font-size:4.5rem;

line-height:1.1;

margin-bottom:25px;

}

.hero p{

font-size:1.1rem;

margin-bottom:40px;

}

.hero-buttons{

display:flex;

gap:20px;

flex-wrap:wrap;

}

/* ================= ABOUT ================= */

.about{

    padding:120px 0;

    background:var(--light);

}

.about-container{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:center;

}

.about-image{

    overflow:hidden;

    border-radius:20px;

}

.about-image img{

    width:100%;

    display:block;

    border-radius:20px;

    transition:.5s;

}

.about-image img:hover{

    transform:scale(1.05);

}

.section-tag{

    color:var(--primary);

    font-weight:600;

    letter-spacing:2px;

    margin-bottom:15px;

}

.about-content h2{

    font-family:"Playfair Display", serif;

    font-size:3rem;

    margin-bottom:25px;

    line-height:1.2;

}

.about-content p{

    color:var(--text);

    margin-bottom:20px;

}

/* ================= PROGRAMS ================= */

.programs{

    padding:120px 0;

    background:#fff;

}

.section-heading{

    text-align:center;

    max-width:700px;

    margin:0 auto 70px;

}

.section-heading h2{

    font-family:"Playfair Display",serif;

    font-size:3rem;

    margin:15px 0;

}

.section-heading p{

    color:var(--text);

}

.program-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:30px;

}

.program-card{

    background:var(--light);

    padding:40px 30px;

    border-radius:20px;

    transition:.35s;

    text-align:center;

    box-shadow:0 10px 25px rgba(0,0,0,.05);

}

.program-card:hover{

    transform:translateY(-10px);

    box-shadow:0 20px 40px rgba(0,0,0,.1);

}

.program-icon{

    width:70px;

    height:70px;

    border-radius:50%;

    background:var(--primary);

    color:white;

    display:flex;

    justify-content:center;

    align-items:center;

    margin:0 auto 25px;

    font-size:2rem;

}

.program-card h3{

    margin-bottom:15px;

}

.program-card p{

    color:var(--text);

}

/* ================= WHY US ================= */

.why-us{

    padding:120px 0;

    background:var(--light);

}

.why-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:35px;

}

.why-card{

    background:white;

    padding:40px;

    border-radius:20px;

    transition:.35s;

    box-shadow:0 10px 30px rgba(0,0,0,.06);

}

.why-card:hover{

    transform:translateY(-8px);

}

.why-number{

    font-size:3rem;

    font-weight:700;

    color:var(--primary);

    opacity:.18;

    margin-bottom:20px;

    font-family:"Playfair Display",serif;

}

.why-card h3{

    margin-bottom:15px;

}

.why-card p{

    color:var(--text);

}

/* ================= GALLERY ================= */

.gallery{

    padding:120px 0;

    background:#fff;

}

.gallery-grid{

    display:grid;

    grid-template-columns:2fr 1fr 1fr;

    grid-auto-rows:250px;

    gap:20px;

}

.gallery-grid img{

    width:100%;

    height:100%;

    object-fit:cover;

    border-radius:18px;

    transition:.4s;

    cursor:pointer;

}

.gallery-grid img:hover{

    transform:scale(1.03);

}

.gallery-grid img:nth-child(1){

    grid-row:span 2;

}

.gallery-grid img:nth-child(5){

    grid-column:span 2;

}

/* ================= TESTIMONIALS ================= */

.testimonials{

padding:120px 0;

background:var(--light);

}

.testimonial-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}

.testimonial-card{

background:white;

padding:40px;

border-radius:20px;

box-shadow:0 10px 30px rgba(0,0,0,.05);

transition:.3s;

}

.testimonial-card:hover{

transform:translateY(-8px);

}

.quote{

font-size:4rem;

line-height:1;

color:var(--primary);

opacity:.2;

}

.testimonial-card p{

margin:20px 0;

color:var(--text);

font-style:italic;

}

.testimonial-card h4{

color:var(--primary);

}

.contact{

padding:120px 0;

background:white;

}

.contact-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:60px;

align-items:center;

}

.contact iframe{

width:100%;

height:450px;

border:none;

border-radius:20px;

}

.contact-item{

margin-top:25px;

}

/* ================= FOOTER ================= */

footer{

    background:#111;

    color:white;

    padding-top:80px;

}

.footer-grid{

    display:grid;

    grid-template-columns:2fr 1fr 1fr 1fr;

    gap:40px;

    padding-bottom:50px;

}

.footer-brand img{

    width:180px;

    margin-bottom:20px;

}

.footer-brand p{

    color:#bbb;

}

footer h3{

    margin-bottom:20px;

    color:white;

}

footer ul{

    list-style:none;

}

footer li{

    margin-bottom:12px;

    color:#bbb;

}

footer a{

    text-decoration:none;

    color:#bbb;

    transition:.3s;

}

footer a:hover{

    color:var(--primary);

}

footer p{

    color:#bbb;

    line-height:1.8;

}

.portfolio-credit{
    margin-top:20px;
    font-size:.9rem;
    color:#888;
}

.portfolio-credit a{
    color:var(--accent);
}

.copyright{

    border-top:1px solid rgba(255,255,255,.08);

    padding:25px;

    text-align:center;

}

/* ================= WHATSAPP ================= */

.whatsapp{

    position:fixed;

    right:25px;

    bottom:25px;

    width:65px;

    height:65px;

    background:#25D366;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    box-shadow:0 10px 30px rgba(0,0,0,.25);

    transition:.3s;

    z-index:999;

}

.whatsapp:hover{

    transform:scale(1.12);

}

.page-hero{

height:65vh;

background:url("assets/hero.jpg") center/cover;

position:relative;

display:flex;

align-items:center;

}

.page-overlay{

position:absolute;

inset:0;

background:rgba(0,0,0,.6);

}

.page-content{

position:relative;

color:white;

z-index:2;

max-width:650px;

}

.page-content h1{

font-family:"Playfair Display",serif;

font-size:4rem;

margin:20px 0;

}

.mission{

padding:110px 0;

background:var(--light);

}

.mission-grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:40px;

}

.mission-grid div{

background:white;

padding:45px;

border-radius:20px;

box-shadow:0 10px 25px rgba(0,0,0,.05);

}

/* MOBILE */

@media(max-width:768px){

nav{

height:75px;

}

.logo img{

height:48px;

}

.nav-links{

display:none;

}

.nav-btn{

display:none;

}

.hero{

text-align:center;

}

.hero-content{

margin:auto;

}

.hero h1{

font-size:2.8rem;

}

.hero-buttons{

justify-content:center;

}

.about-container{

    grid-template-columns:1fr;

}

.about{

    text-align:center;

}

.why-grid{

    grid-template-columns:1fr;

}

.gallery-grid{

    grid-template-columns:1fr;

}

.gallery-grid img{

    grid-column:unset !important;

    grid-row:unset !important;

    height:260px;

}

/* ================= CTA ================= */

.cta{

padding:100px 0;

text-align:center;

background:linear-gradient(rgba(215,38,79,.95),rgba(180,29,66,.95));

color:white;

}

.cta h2{

font-family:"Playfair Display",serif;

font-size:3rem;

margin-bottom:20px;

}

.cta p{

max-width:650px;

margin:auto auto 40px;

}

.cta .btn{

background:white;

color:var(--primary);

}

.cta .btn:hover{

background:#f4f4f4;

}

.testimonial-grid,
.contact-grid{

grid-template-columns:1fr;

}

.footer-grid{

    grid-template-columns:1fr;

    text-align:center;

}

.footer-brand img{

    margin:auto auto 20px;

}

.cta h2{

    font-size:2.3rem;

}

.page-content h1{

font-size:2.7rem;

}

.mission-grid{

grid-template-columns:1fr;

}

}