@charset "utf-8";
/* CSS Document */

/* ==========================================
   PHOTO GALLERY HERO
========================================== */

.gallery-hero{

    position:relative;
    min-height:70vh;

    display:flex;
    align-items:center;

    overflow:hidden;

    color:#fff;

}

/* Background */

.gallery-hero__bg{

    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;

}

/* Overlay */

.gallery-hero__overlay{

    position:absolute;
    inset:0;

    background:

    linear-gradient(

        90deg,

        rgba(8,16,30,.82) 0%,

        rgba(8,16,30,.60) 38%,

        rgba(8,16,30,.28) 70%,

        rgba(8,16,30,.08) 100%

    );

}

/* Container */

.gallery-hero .container{

    position:relative;

    z-index:5;

    width:min(92%,1280px);

    margin:auto;

    padding-top:150px;
    padding-bottom:90px;

}

/* Content */

.gallery-hero__content{

    max-width:720px;

}

/* Breadcrumb */

.gallery-hero .breadcrumb{

    margin-bottom:40px;

    color:rgba(255,255,255,.75);

    font-size:.92rem;

}

.gallery-hero .breadcrumb a{

    color:#fff;

    text-decoration:none;

}

.gallery-hero .breadcrumb span{

    margin:0 8px;

}

/* Eyebrow */

.gallery-hero .section-eyebrow{

    color:#D8B16A;

}

/* Heading */

.gallery-hero h1{

    font-size:clamp(58px, 6vw, 72px);
	font-family: var(--font-heading);

    line-height:1.08;

    font-weight:300;

    margin-bottom:1.25rem;

    color:#fff;

}

.gallery-hero h1 em{

    display: block;
    margin-top: 10px;
    color: #ead6ae;
    font-style: italic;
    font-weight: 400;

}

/* Intro */

.gallery-hero p{

    max-width:650px;

    font-size:16px;

    line-height:2;

    color:rgba(255,255,255,.88);

    margin-bottom:45px;

}

/* Buttons */

.gallery-hero .hero-buttons{

    display:flex;

    gap:18px;

    flex-wrap:wrap;

}

.gallery-hero .btn-primary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:18px 36px;

    border-radius:999px;

    background:#D8B16A;

    color:#fff;

    text-decoration:none;

    font-weight:600;

    transition:.35s;

}

.gallery-hero .btn-primary:hover{

    transform:translateY(-4px);

}

.gallery-hero .btn-secondary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:18px 36px;

    border-radius:999px;

    border:1px solid rgba(255,255,255,.30);

    backdrop-filter:blur(10px);

    color:#fff;

    text-decoration:none;

    transition:.35s;

}

.gallery-hero .btn-secondary:hover{

    background:rgba(255,255,255,.10);

}

/* Tablet */

@media(max-width:991px){

.gallery-hero{

    min-height:85vh;

}

.gallery-hero .container{

    padding-top:140px;
    padding-bottom:70px;

}

.gallery-hero__content{

    max-width:100%;

    text-align:center;

}

.gallery-hero p{

    margin-left:auto;
    margin-right:auto;

}

.gallery-hero .hero-buttons{

    justify-content:center;

}

}

/* Mobile */

@media(max-width:768px){

.gallery-hero{

    min-height:100vh;

}

.gallery-hero .container{

    padding-top:120px;
    padding-bottom:60px;

}

.gallery-hero h1{

    font-size:2.8rem;

}

.gallery-hero p{

    font-size:1rem;

    line-height:1.85;

}

.gallery-hero .hero-buttons{

    flex-direction:column;

}

.gallery-hero .btn-primary,
.gallery-hero .btn-secondary{

    width:100%;

}

.gallery-hero .breadcrumb{

    text-align:center;

}

}

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

.gallery-intro{

    padding:130px 0 90px;
    background:#fff;

}

.gallery-intro .container{

    width:min(92%,900px);
    margin:auto;
    text-align:center;

}

.gallery-intro h2{

  margin: 0;
  color: var(--bav-blue-deep);
  font-family: var(--font-heading);
  font-size: clamp(50px, 5vw, 66px);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: -0.035em;

}

.gallery-intro h2 em{

    display: block;

    margin-top: 8px;

    color: var(--bav-blue);

    font-weight: 400;

}

.gallery-intro__content{

    max-width:760px;

    margin:auto;

}

.gallery-intro__content p{

    color:#666;

    line-height:1.95;

    font-size:1.05rem;

    margin-bottom:22px;

}

.gallery-intro__content p:last-child{

    margin-bottom:0;

}

/* Mobile */

@media(max-width:768px){

.gallery-intro{

    padding:90px 0 70px;

}

.gallery-intro h2{

    font-size:2.5rem;

}

.gallery-intro__content p{

    font-size:1rem;

}

}

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

.gallery-collections{

    padding:120px 0;

    background:#faf8f3;
}

.gallery-collections .container{

    width:min(92%,900px);

    margin:0 auto;

}

.gallery-collections .section-heading{

    text-align:center;

}

.gallery-collections .section-heading h2{

    margin:18px 0 25px;

}

.gallery-collections .section-heading p{

    max-width:760px;

    margin:0 auto;

    color:#666;

    line-height:1.9;

}

.gallery-links{

    margin-top:25px !important;

}

.gallery-links a{

    font-weight:600;

}

.collection-grid{

    max-width:1320px;

    margin:70px auto 0;

    padding:0 40px;

}

.collection-grid{

max-width:1320px;

margin:70px auto 0;

display:grid;

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

gap:40px;

}

.collection-card{

    background:#fff;

    border-radius:28px;

    overflow:hidden;

    cursor:pointer;

    transition:.35s ease;

    box-shadow:
    0 15px 40px rgba(0,0,0,.05);
}

.collection-card:hover{

    transform:translateY(-6px);

    box-shadow:
    0 25px 50px rgba(0,0,0,.08);
}

.collection-card img{

    width:100%;

    height:340px;

    object-fit:cover;

    display:block;

    transition:.8s;

}

.collection-content{

    padding:25px;
}

.collection-content h3{

    margin-bottom:8px;

    font-size:1.2rem;
}

.collection-content span{

    color:#888;
}

.gallery-modal{

    position:fixed;

    inset:0;

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

    display:none;

    z-index:99999;

    overflow-y:auto;

    text-align:center;

    padding:80px 40px;
}

.gallery-modal.active{

    display:block;
}

.gallery-modal-image{

    display:block;

    width:auto;

    max-width:1200px;

    width:90%;

    max-height:70vh;

    object-fit:contain;

    margin:0 auto;

    border-radius:16px;
}

.close-gallery{

    position:absolute;

    top:30px;
    right:40px;

    color:#fff;

    font-size:40px;

    cursor:pointer;
}

.gallery-prev,
.gallery-next{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    background:none;

    border:none;

    color:#fff;

    font-size:60px;

    cursor:pointer;
}

.gallery-prev{

    left:40px;
}

.gallery-next{

    right:40px;
}

.gallery-caption{

    color:#fff;

    text-align:center;

    max-width:900px;

    margin:25px auto 0;

    font-size:1rem;

    line-height:1.8;
}

.gallery-links{

margin-top:28px;

font-size:1rem;

color:#666;

}

.gallery-links a{

color:var(--accent);

font-weight:600;

text-decoration:none;

}

.gallery-links span{

margin:0 10px;

color:#aaa;

}

.photo-count{
    position:absolute;
    top:15px;
    right:15px;

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

    color:white;

    padding:8px 14px;

    border-radius:999px;

    font-size:.95rem;
}

.collection-card{
    position:relative;
	overflow:hidden;
    transition:.35s ease;
}

.collection-card:hover{

    transform:translateY(-8px);

    box-shadow:
    0 25px 60px rgba(0,0,0,.08);
}

.collection-content p{

    color:#888;

    margin-top:8px;

    font-size:.9rem;
}

.gallery-counter{

    position:fixed;

    top:30px;

    left:40px;

    color:#fff;

    background:rgba(255,255,255,.1);

    padding:10px 18px;

    border-radius:999px;

    backdrop-filter:blur(10px);

    z-index:100000;
}

.gallery-thumbnails{

    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:10px;

    margin:25px auto 0;

    max-width:1000px;
}

.gallery-thumb{

    width:90px;

    height:70px;

    object-fit:cover;

    border-radius:10px;

    cursor:pointer;

    opacity:.65;

    transition:.3s;
}

.gallery-thumb:hover{

    opacity:1;

    transform:translateY(-2px);
}

.gallery-thumb.active{

    opacity:1;

    border:2px solid #d8b16a;
}

@media (max-width:768px){

.collection-grid{

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

    gap:18px;

    padding:0 18px;

    margin-top:45px;

}

.collection-card{

    border-radius:18px;

}

.collection-card img{

    height:170px;

}

.collection-content{

    padding:16px;

}

.collection-content h3{

    font-size:1rem;

    line-height:1.35;

    margin:0;

}

.photo-count{

    top:10px;
    right:10px;

    font-size:.78rem;

    padding:6px 10px;

}

}
/* ==========================================
   GALLERY FEATURE
========================================== */

.gallery-feature{

    padding:0 0 130px;

    background:#fff;

}

.gallery-feature__image{

    width:min(92%,1400px);

    margin:0 auto;

    overflow:hidden;

    border-radius:32px;

}

.gallery-feature__image img{

    width:100%;

    height:620px;

    object-fit:cover;

    display:block;

}

.gallery-feature__content{

    width:min(92%,820px);

    margin:70px auto 0;

    text-align:center;

}

.gallery-feature h2{

  margin: 0;
  color: var(--bav-blue-deep);
  font-family: var(--font-heading);
  font-size: clamp(50px, 5vw, 66px);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: -0.035em;

}

.gallery-feature h2 em{

    display: block;

    margin-top: 8px;

    color: var(--bav-blue);

    font-weight: 400;

}

.gallery-feature p{

    color:#666;

    line-height:1.95;

    max-width:700px;

    margin:0 auto 40px;

}

.gallery-feature .btn-primary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:18px 36px;

    border-radius:999px;

    background:var(--bav-blue-deep);

    color:#fff;

    text-decoration:none;

    font-weight:600;

    transition:.35s;

}

.gallery-feature .btn-primary:hover{

    transform:translateY(-4px);

}

@media(max-width:768px){

.gallery-feature{

    padding-bottom:90px;

}

.gallery-feature__image{

    border-radius:22px;

}

.gallery-feature__image img{

    height:320px;

}

.gallery-feature__content{

    margin-top:45px;

}

.gallery-feature h2{

    font-size:2.4rem;

}

}