:root{
color-scheme:dark;
--bg:#111111;
--bg-alt:#181818;
--surface:#1f1f1f;
--surface-border:rgba(255,255,255,.08);
--text:#f2f2f2;
--text-muted:rgba(242,242,242,.72);
--gold:#d4a574;
--gold-deep:#9c6b30;
}

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;
scroll-behavior:smooth;
}

body{
background:var(--bg);
color:var(--text);
overflow-x:hidden;
}

section{
padding:90px 0;
}

.section-alt{
background:var(--bg-alt);
}

.navbar{
background:transparent;
backdrop-filter:none;
box-shadow:none;
padding-top:14px;
padding-bottom:14px;
transition:background .3s ease, box-shadow .3s ease, padding .3s ease;
}

.navbar.scrolled,
.navbar.menu-open{
background:rgba(12,12,12,.94);
backdrop-filter:blur(14px);
box-shadow:0 10px 30px rgba(0,0,0,.28);
}

.navbar-brand{
font-size:28px;
font-weight:700;
color:#d4a574!important;
display:flex;
align-items:center;
padding:6px 10px;
border-radius:12px;
background:rgba(0,0,0,.28);
border:1px solid rgba(255,255,255,.12);
}

.logo{
height:54px;
width:auto;
object-fit:contain;
display:block;
}

.navbar .nav-link{
position:relative;
margin-left:8px;
padding:8px 12px!important;
font-weight:500;
font-size:15px;
color:rgba(255,255,255,.88)!important;
transition:color .25s ease;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus{
color:#d4a574!important;
}

.navbar .nav-link::after{
content:'';
position:absolute;
left:12px;
right:12px;
bottom:2px;
height:2px;
background:#d4a574;
transform:scaleX(0);
transform-origin:left;
transition:transform .25s ease;
}

.navbar .nav-link:hover::after,
.navbar .nav-link:focus::after{
transform:scaleX(1);
}

.nav-quote-item{
margin-left:18px;
}

.btn-nav-quote{
display:inline-flex;
align-items:center;
justify-content:center;
padding:10px 22px;
border-radius:40px;
background:#9c6b30;
color:#fff;
font-size:14px;
font-weight:600;
letter-spacing:.04em;
text-decoration:none;
text-transform:uppercase;
transition:background .25s ease, transform .25s ease;
}

.btn-nav-quote:hover{
background:#7b4f1c;
color:#fff;
transform:translateY(-2px);
}

.navbar-toggler{
border:1px solid rgba(255,255,255,.35);
padding:.4rem .55rem;
}

.navbar-toggler:focus{
box-shadow:0 0 0 .15rem rgba(212,165,116,.35);
}

.navbar-toggler-icon{
width:1.2em;
height:1.2em;
background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.92%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Mobile */
@media (max-width: 991.98px) {
.logo{
height:46px;
}

.navbar .navbar-collapse{
margin-top:12px;
padding:16px 14px 18px;
border-radius:16px;
background:rgba(12,12,12,.96);
border:1px solid rgba(255,255,255,.08);
}

.navbar .nav-link{
margin-left:0;
padding:12px 8px!important;
}

.navbar .nav-link::after{
display:none;
}

.nav-quote-item{
margin:12px 0 0;
}

.btn-nav-quote{
width:100%;
}
}

@media (max-width: 768px) {
.logo{
height:42px;
}
}

.hero{
position:relative;
width:100%;
min-height:100vh;
min-height:100dvh;
margin:0;
padding:0 !important;
display:flex;
align-items:center;
overflow:hidden;
background:#1a1a1a;
}

.hero-cover{
position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:cover;
object-position:center center;
}

.hero-shade{
position:absolute;
inset:0;
background:
linear-gradient(90deg, rgba(12,12,12,.88) 0%, rgba(12,12,12,.62) 42%, rgba(12,12,12,.22) 72%, rgba(12,12,12,.08) 100%),
linear-gradient(180deg, rgba(12,12,12,.35) 0%, transparent 28%, transparent 72%, rgba(12,12,12,.45) 100%);
pointer-events:none;
}

.hero-inner{
position:relative;
z-index:1;
width:100%;
padding-top:120px;
padding-bottom:80px;
}

.hero-copy{
max-width:640px;
color:#fff;
}

.hero-brand{
margin:0 0 4px;
font-size:16px;
font-weight:600;
letter-spacing:.28em;
text-transform:uppercase;
color:#d4a574 !important;
}

.hero-eyebrow{
margin:0 0 18px;
font-size:13px;
font-weight:500;
letter-spacing:.22em;
text-transform:uppercase;
color:rgba(255,255,255,.78);
}

.brand-lockup{
margin:0 0 20px;
}

.brand-lockup .hero-brand{
margin-bottom:4px;
color:#d4a574 !important;
}

.brand-lockup .hero-eyebrow{
margin-bottom:0;
}

.hero-title{
margin:0 0 22px;
font-family:'Cormorant Garamond',serif;
font-size:clamp(48px, 7vw, 78px);
font-weight:600;
line-height:1.05;
letter-spacing:.01em;
color:#fff;
}

.hero-title span{
color:#d4a574;
}

.hero-lead{
margin:0 0 34px;
max-width:520px;
font-size:17px;
font-weight:300;
line-height:1.7;
color:rgba(255,255,255,.86);
}

.hero-services{
display:flex;
flex-wrap:wrap;
gap:18px 34px;
margin:0 0 38px;
padding:0;
list-style:none;
}

.hero-services li{
display:flex;
align-items:center;
gap:10px;
font-size:15px;
font-weight:500;
color:#fff;
}

.hero-services i{
color:#d4a574;
font-size:16px;
}

.hero-actions{
display:flex;
flex-wrap:wrap;
gap:14px;
}

.btn-outline-light{
display:inline-flex;
align-items:center;
justify-content:center;
padding:15px 32px;
border:1px solid rgba(255,255,255,.75);
border-radius:40px;
color:#fff;
text-decoration:none;
font-weight:500;
transition:.3s;
}

.btn-outline-light:hover{
background:rgba(255,255,255,.12);
color:#fff;
border-color:#fff;
}

.btn-main{
background:#9c6b30;
color:white;
padding:15px 35px;
border-radius:40px;
text-decoration:none;
display:inline-block;
transition:.3s;
}

.btn-main:hover{
background:#7b4f1c;
color:#fff;
transform:translateY(-3px);
}

.section-title{
text-align:center;
margin-bottom:60px;
}

.section-title h2{
margin:0 0 12px;
font-family:'Cormorant Garamond',serif;
font-size:46px;
font-weight:600;
color:#fff;
}

.section-title p{
margin:0;
color:var(--text-muted);
font-size:16px;
}

#about h3,
.service-card h4,
.contact-box h4,
.contact-box h5,
.section-alt h5,
#about ~ section h5{
color:#fff;
}

#about p,
.service-card p,
.contact-box p,
.section-alt p{
color:var(--text-muted);
}

.about{
position:relative;
overflow:hidden;
isolation:isolate;
background:#111;
}

.about-bg{
position:absolute;
inset:0;
background:url("../../img/CoverPage.jpg") center center/cover no-repeat;
transform:scale(1.06);
filter:saturate(.85) brightness(.55);
z-index:0;
}

.about-overlay{
position:absolute;
inset:0;
background:
linear-gradient(135deg, rgba(10,10,10,.92) 0%, rgba(10,10,10,.78) 45%, rgba(10,10,10,.88) 100%),
radial-gradient(ellipse at top right, rgba(156,107,48,.18), transparent 55%);
z-index:1;
}

.about-content{
position:relative;
z-index:2;
}

.about .section-title h2{
color:#fff;
}

.about-card{
overflow:hidden;
border-radius:24px;
background:rgba(24,24,24,.82);
border:1px solid rgba(212,165,116,.22);
box-shadow:0 24px 60px rgba(0,0,0,.45);
backdrop-filter:blur(10px);
}

.about-media{
display:flex;
align-items:center;
justify-content:center;
height:100%;
min-height:360px;
padding:28px;
background:
radial-gradient(circle at center, rgba(212,165,116,.12), transparent 65%),
linear-gradient(160deg, #1c1c1c 0%, #121212 100%);
border-right:1px solid rgba(212,165,116,.18);
}

.about-photo{
display:block;
width:100%;
height:auto;
max-height:320px;
object-fit:contain;
object-position:center;
border-radius:12px;
box-shadow:0 12px 30px rgba(0,0,0,.35);
}

.about-copy{
height:100%;
padding:42px 40px;
}

.about-copy > p{
margin:0 0 16px;
line-height:1.75;
color:rgba(242,242,242,.78)!important;
}

.about-copy .brand-lockup .hero-brand,
.contact-box .brand-lockup .hero-brand,
footer .brand-lockup .hero-brand,
.hero-copy .hero-brand{
color:#d4a574 !important;
}

.about-promise{
margin-top:10px!important;
margin-bottom:0!important;
padding-top:16px;
border-top:1px solid rgba(212,165,116,.28);
color:var(--gold)!important;
font-weight:600;
letter-spacing:.02em;
}

@media(max-width:991.98px){
.about-copy{
padding:28px 24px 32px;
}

.about-media{
min-height:240px;
padding:22px;
border-right:0;
border-bottom:1px solid rgba(212,165,116,.18);
}

.about-photo{
max-height:220px;
}
}

@media(max-width:768px){
.about-card{
border-radius:18px;
}
}

.service-card{
background:var(--surface);
padding:35px;
border-radius:18px;
border:1px solid var(--surface-border);
box-shadow:0 12px 30px rgba(0,0,0,.25);
transition:.3s;
height:100%;
}

.service-card:hover{
transform:translateY(-8px);
border-color:rgba(212,165,116,.35);
}

.service-card i{
font-size:40px;
color:var(--gold);
margin-bottom:20px;
}

.feature-icon,
.contact-icon{
color:var(--gold)!important;
}

.contact-link{
color:inherit;
}

.contact-link:hover{
color:var(--gold);
}

.counter{
text-align:center;
}

.counter h2{
font-size:45px;
color:var(--gold);
font-weight:700;
}

.portfolio-card{
position:relative;
display:block;
width:100%;
padding:0;
overflow:hidden;
border:0;
border-radius:15px;
background:#222;
cursor:pointer;
text-align:left;
box-shadow:0 12px 30px rgba(0,0,0,.35);
}

.portfolio-card .portfolio-img{
width:100%;
height:280px;
object-fit:cover;
transition:.3s;
}

.portfolio-card:hover .portfolio-img,
.portfolio-card:focus-visible .portfolio-img{
transform:scale(1.04);
}

.portfolio-card:focus-visible{
outline:3px solid var(--gold);
outline-offset:4px;
}

.portfolio-card-overlay{
position:absolute;
right:0;
bottom:0;
left:0;
display:flex;
flex-direction:column;
gap:4px;
padding:45px 22px 20px;
color:#fff;
background:linear-gradient(transparent,rgba(0,0,0,.86));
}

.portfolio-card-category{
font-size:13px;
font-weight:600;
letter-spacing:1.4px;
text-transform:uppercase;
color:var(--gold);
}

.portfolio-card-title{
font-size:22px;
font-weight:600;
}

.swiper{
padding-bottom:40px;
}

.swiper-pagination-bullet{
background:rgba(255,255,255,.45);
opacity:1;
}

.swiper-pagination-bullet-active{
background:var(--gold);
}

.gallery-mosaic{
display:grid;
grid-template-columns:repeat(4, minmax(0, 1fr));
grid-template-rows:repeat(2, minmax(180px, 28vh));
gap:12px;
grid-template-areas:
"a b b f"
"c d e f";
}

.gallery-tile{
position:relative;
display:block;
width:100%;
height:100%;
padding:0;
overflow:hidden;
border:0;
border-radius:4px;
background:#1a1a1a;
cursor:pointer;
}

.gallery-tile-a{grid-area:a;}
.gallery-tile-b{grid-area:b;}
.gallery-tile-c{grid-area:c;}
.gallery-tile-d{grid-area:d;}
.gallery-tile-e{grid-area:e;}
.gallery-tile-f{grid-area:f;}

.gallery-tile-stage{
position:absolute;
inset:0;
display:block;
overflow:hidden;
background:#1a1a1a;
}

.gallery-layer{
position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:cover;
display:block;
opacity:1;
transform:scale(1);
will-change:transform, opacity;
backface-visibility:hidden;
}

.gallery-layer.is-front{
z-index:2;
opacity:1;
transform:scale(1);
}

.gallery-layer.is-back{
z-index:1;
opacity:0;
transform:scale(1.08);
}

.gallery-tile.is-animating .gallery-layer{
transition:opacity 1.8s cubic-bezier(.22,.61,.36,1), transform 1.8s cubic-bezier(.22,.61,.36,1);
}

.gallery-tile.is-animating .gallery-layer.is-front.is-collapsing{
opacity:0;
transform:scale(0.86);
z-index:1;
}

.gallery-tile.is-animating .gallery-layer.is-back.is-expanding{
opacity:1;
transform:scale(1);
z-index:3;
}

.gallery-tile:hover .gallery-layer.is-front:not(.is-collapsing),
.gallery-tile:focus-visible .gallery-layer.is-front:not(.is-collapsing){
transform:scale(1.04);
transition:transform .55s ease;
}

.gallery-tile:focus-visible{
outline:2px solid var(--gold);
outline-offset:3px;
}

.gallery-tile::after{
content:'';
position:absolute;
inset:0;
z-index:3;
background:linear-gradient(180deg, transparent 55%, rgba(0,0,0,.28) 100%);
opacity:0;
transition:opacity .3s ease;
pointer-events:none;
}

.gallery-tile:hover::after,
.gallery-tile:focus-visible::after{
opacity:1;
}

.gallery-lightbox{
position:fixed;
inset:0;
width:100%;
height:100%;
background:rgba(0,0,0,.95);
display:none;
justify-content:center;
align-items:center;
z-index:100000;
}

.gallery-lightbox.active{
display:flex;
}

.gallery-lightbox-content{
width:min(90vw,1100px);
margin:0;
text-align:center;
}

.gallery-lightbox-content img{
display:block;
max-width:100%;
max-height:75vh;
margin:0 auto;
border-radius:12px;
box-shadow:0 10px 40px rgba(0,0,0,.5);
transition:opacity .25s;
}

.gallery-lightbox-content img.is-loading{
opacity:.35;
}

.gallery-lightbox-caption{
margin:16px auto 0;
color:#ddd;
font-size:14px;
text-align:center;
}

.gallery-lightbox-close,
.gallery-lightbox-prev,
.gallery-lightbox-next{
position:absolute;
border:0;
background:transparent;
color:#fff;
cursor:pointer;
line-height:1;
user-select:none;
}

.gallery-lightbox-close{
top:20px;
right:35px;
font-size:40px;
}

.gallery-lightbox-prev,
.gallery-lightbox-next{
top:50%;
transform:translateY(-50%);
font-size:45px;
padding:20px;
}

.gallery-lightbox-prev{left:20px;}
.gallery-lightbox-next{right:20px;}

.gallery-lightbox-close:focus-visible,
.gallery-lightbox-prev:focus-visible,
.gallery-lightbox-next:focus-visible{
outline:2px solid #d3a15f;
outline-offset:2px;
}

@media(max-width:991.98px){
.gallery-mosaic{
grid-template-columns:repeat(2, minmax(0, 1fr));
grid-template-rows:repeat(4, minmax(150px, 24vh));
grid-template-areas:
"a b"
"c c"
"d e"
"f f";
}
}

.foundation-card,
.foundation-values{
background:var(--surface);
padding:32px;
border-radius:18px;
border:1px solid var(--surface-border);
box-shadow:0 12px 30px rgba(0,0,0,.25);
height:100%;
}

.foundation-card-head,
.foundation-values-head{
display:flex;
align-items:center;
gap:12px;
margin-bottom:16px;
}

.foundation-card-head i,
.foundation-values-head i{
color:var(--gold);
font-size:22px;
}

.foundation-card-head h3,
.foundation-values-head h3{
margin:0;
font-family:'Cormorant Garamond',serif;
font-size:28px;
font-weight:600;
color:#fff;
}

.foundation-card p{
margin:0;
line-height:1.75;
color:var(--text-muted);
}

.foundation-values{
margin-top:24px;
}

.foundation-values-list{
display:flex;
flex-wrap:wrap;
gap:12px;
margin:0;
padding:0;
list-style:none;
}

.foundation-values-list li{
padding:10px 18px;
border-radius:40px;
border:1px solid rgba(212,165,116,.35);
background:rgba(212,165,116,.08);
color:#fff;
font-size:14px;
font-weight:500;
letter-spacing:.02em;
}

@media(max-width:768px){
.foundation-card,
.foundation-values{
padding:24px;
}

.foundation-card-head h3,
.foundation-values-head h3{
font-size:24px;
}

.foundation-values-list{
gap:10px;
}

.foundation-values-list li{
width:100%;
text-align:center;
}
}

.contact-box{
background:var(--surface);
padding:40px;
border-radius:20px;
border:1px solid var(--surface-border);
box-shadow:0 12px 30px rgba(0,0,0,.25);
height:100%;
}

#contact .row > [class*="col-"]{
display:flex;
}

.contact-map-box{
position:relative;
width:100%;
min-height:360px;
padding:0;
}

.contact-map{
position:absolute;
inset:0;
width:100%;
height:100%;
}

.contact-map iframe{
display:block;
width:100%;
height:100%;
border:0;
border-radius:20px;
filter:grayscale(.2) contrast(1.05);
}

.contact-box input,
.contact-box textarea{
margin-bottom:15px;
}

footer{
background:#0b0b0b;
color:rgba(255,255,255,.82);
padding:40px 0;
border-top:1px solid var(--surface-border);
}

footer h5{
color:#fff;
}

footer a{
color:rgba(255,255,255,.78)!important;
}

footer a:hover{
color:var(--gold)!important;
}

footer hr{
border-color:rgba(255,255,255,.12)!important;
opacity:1;
}

.whatsapp{
position:fixed;
bottom:20px;
right:20px;
width:60px;
height:60px;
background:#25D366;
border-radius:50%;
display:flex;
justify-content:center;
align-items:center;
font-size:30px;
color:white;
z-index:999;
text-decoration:none;
}

@media(max-width:768px){

.hero{
min-height:100svh;
min-height:100dvh;
align-items:flex-end;
}

.hero-inner{
padding-top:110px;
padding-bottom:56px;
}

.hero-shade{
background:
linear-gradient(180deg, rgba(12,12,12,.45) 0%, rgba(12,12,12,.55) 35%, rgba(12,12,12,.88) 100%);
}

.hero-brand{
margin-bottom:3px;
font-size:12px;
letter-spacing:.22em;
}

.hero-eyebrow{
margin-bottom:14px;
font-size:12px;
}

.hero-title{
margin-bottom:16px;
font-size:42px;
}

.hero-lead{
margin-bottom:26px;
font-size:15px;
line-height:1.65;
}

.hero-services{
flex-direction:column;
gap:14px;
margin-bottom:28px;
}

.hero-actions{
flex-direction:column;
align-items:stretch;
}

.hero-actions .btn-main,
.hero-actions .btn-outline-light{
width:100%;
text-align:center;
}

.section-title h2{
font-size:32px;
}

.gallery-mosaic{
grid-template-columns:repeat(2, minmax(0, 1fr));
grid-template-rows:repeat(4, minmax(140px, 22vh));
gap:10px;
grid-template-areas:
"a b"
"c c"
"d e"
"f f";
}

}

/* Portfolio Popup */

body.lightbox-open{
overflow:hidden;
}

.lightbox{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,.95);
display:none;
justify-content:center;
align-items:center;
z-index:99999;
}

.lightbox.active{
display:flex;
}

.lightbox-content{
width:min(90vw,1100px);
margin:0;
text-align:center;
}

.lightbox-content img{
display:block;
max-width:100%;
max-height:75vh;
margin:0 auto;
border-radius:12px;
box-shadow:0 10px 40px rgba(0,0,0,.5);
transition:opacity .25s;
}

.lightbox-content img.is-loading{
opacity:.35;
}

.lightbox-caption{
margin:16px auto 0;
color:#fff;
text-align:center;
}

.lightbox-counter{
font-size:14px;
color:#ddd;
}

.closeLightbox{
position:absolute;
top:20px;
right:35px;
border:0;
background:transparent;
font-size:40px;
line-height:1;
color:#fff;
cursor:pointer;
}

.prev,
.next{
position:absolute;
top:50%;
transform:translateY(-50%);
border:0;
background:transparent;
font-size:45px;
color:white;
cursor:pointer;
padding:20px;
user-select:none;
}

.prev{
left:20px;
}

.next{
right:20px;
}

.closeLightbox:focus-visible,
.prev:focus-visible,
.next:focus-visible{
outline:2px solid #d3a15f;
outline-offset:2px;
}

@media(max-width:768px){
.lightbox-content{
width:88vw;
}

.lightbox-content img{
max-height:68vh;
}

.closeLightbox{
top:14px;
right:16px;
}

.prev,
.next{
top:auto;
bottom:14px;
padding:10px 16px;
font-size:34px;
transform:none;
}

.prev{
left:12px;
}

.next{
right:12px;
}

.lightbox-caption{
padding:0 8px;
}

.gallery-lightbox-content{
width:88vw;
}

.gallery-lightbox-content img{
max-height:68vh;
}

.gallery-lightbox-close{
top:14px;
right:16px;
}

.gallery-lightbox-prev,
.gallery-lightbox-next{
top:auto;
bottom:14px;
padding:10px 16px;
font-size:34px;
transform:none;
}

.gallery-lightbox-prev{left:12px;}
.gallery-lightbox-next{right:12px;}

}