
:root{--black:#0d0d0d;--dark:#1a1a1a;--gold:#c9a84c;--gold2:#e2c060;--white:#fff;--off:#f8f7f4;--grey:#5e6674;--line:#e7e3d8;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;padding-bottom:88px;font-family:'Open Sans',Arial,sans-serif;color:var(--dark);background:var(--white);line-height:1.65}a{color:inherit}img{max-width:100%;display:block}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.75rem;z-index:999}.topbar{background:var(--gold);color:#000;padding:.45rem 6%;display:flex;justify-content:space-between;gap:1rem;font:700 .78rem Montserrat, sans-serif}.topbar a{text-decoration:none}.site-nav{position:sticky;top:0;z-index:100;background:var(--black);height:82px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;box-shadow:0 8px 28px rgba(0,0,0,.28)}.brand img{height:58px;width:auto}.nav-links{display:flex;align-items:center;gap:.2rem}.nav-links a{color:rgba(255,255,255,.82);text-decoration:none;text-transform:uppercase;letter-spacing:.05em;font:700 .8rem Montserrat,sans-serif;padding:.9rem}.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--gold)}.nav-cta{background:var(--gold);color:#000!important;border-radius:4px;margin-left:.4rem}.menu-toggle{display:none;background:transparent;border:0;width:44px;height:44px}.menu-toggle span{display:block;height:2px;background:#fff;margin:7px}.sr-only,.hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.hero{background:#0d0d0d;color:#fff;display:grid;grid-template-columns:1.08fr .92fr;min-height:610px}.hero-content{padding:7rem 6%;align-self:center}.kicker{color:var(--gold);font:800 .75rem Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.2em;margin:0 0 1rem}.hero h1,.page-hero h1{font:800 clamp(2.3rem,5vw,4.4rem)/1.05 Montserrat,sans-serif;margin:.2rem 0 1.25rem}.hero p{max-width:620px;color:rgba(255,255,255,.72);font-size:1.05rem}.hero picture{height:100%;min-height:420px;overflow:hidden}.hero picture img{height:100%;width:100%;object-fit:cover}.actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:4px;padding:.9rem 1.4rem;text-decoration:none;font:800 .92rem Montserrat,sans-serif;border:2px solid transparent;cursor:pointer}.primary{background:var(--gold);color:#000}.primary:hover{background:var(--gold2)}.secondary{border-color:rgba(255,255,255,.35);color:#fff}.section{padding:5rem 6%;max-width:calc(var(--max) + 12%);margin:auto}.section.alt{background:var(--off);max-width:none}.section-head{max-width:720px;margin:0 auto 2.5rem;text-align:center}.section h2,.cta h2{font:800 clamp(1.8rem,3vw,2.7rem)/1.15 Montserrat,sans-serif;margin:.25rem 0 1rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}.card{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.05)}.card img{height:180px;width:100%;object-fit:cover}.card h3{font:800 1.15rem Montserrat,sans-serif;margin:1.2rem 1.2rem .4rem}.card p{margin:.2rem 1.2rem 1rem;color:var(--grey)}.card a{display:inline-block;margin:0 1.2rem 1.3rem;color:#7a6120;font-weight:800}.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;max-width:var(--max);margin:auto}.reviews blockquote{margin:0;background:#fff;border-left:4px solid var(--gold);padding:1.4rem;border-radius:10px;box-shadow:0 10px 28px rgba(0,0,0,.05)}.split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;max-width:var(--max);margin:auto}.ticks{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}.ticks li{padding:.85rem 1rem .85rem 2.4rem;background:var(--off);border:1px solid var(--line);border-radius:8px;position:relative}.ticks li:before{content:'✓';position:absolute;left:1rem;color:#7a6120;font-weight:900}.cta{text-align:center;background:var(--black);color:#fff;padding:4.5rem 6%}.cta p{color:rgba(255,255,255,.72)}.page-hero{background:var(--black);color:#fff;padding:6rem 6%;text-align:center}.page-hero p{max-width:720px;margin:auto;color:rgba(255,255,255,.72)}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:2rem;max-width:var(--max);margin:auto}.contact-card,.form{background:var(--off);padding:2rem;border-radius:14px;border:1px solid var(--line)}.form{display:grid;gap:1rem}.form label{font-weight:800}.form input,.form select,.form textarea{width:100%;margin-top:.35rem;padding:.9rem;border:1px solid #ccc;border-radius:6px;font:inherit}.form-note{font-size:.88rem;color:var(--grey)}.footer{background:#111;color:rgba(255,255,255,.72);padding:4rem 6% 1.5rem}.footer-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:2rem}.footer h2{color:#fff;font:800 1rem Montserrat,sans-serif}.footer a{display:block;color:rgba(255,255,255,.78);text-decoration:none;margin:.35rem 0}.footer-logo{height:64px;width:auto;margin-bottom:1rem}.copyright{max-width:var(--max);margin:2rem auto 0;border-top:1px solid rgba(255,255,255,.1);padding-top:1.25rem;font-size:.9rem}@media(max-width:900px){.topbar{display:none}.menu-toggle{display:block}.site-nav{height:76px}.nav-links{position:absolute;inset:76px 0 auto 0;background:#111;display:none;flex-direction:column;align-items:stretch;padding:1rem 6%;box-shadow:0 18px 32px rgba(0,0,0,.28)}.nav-links.open{display:flex}.nav-links a{padding:1rem;border-bottom:1px solid rgba(255,255,255,.08)}.nav-cta{margin:.75rem 0 0;text-align:center}.hero{grid-template-columns:1fr}.hero-content{padding:4.5rem 6%}.hero picture{min-height:300px;order:-1}.cards,.reviews,.split,.contact-grid,.footer-grid{grid-template-columns:1fr}.section{padding:4rem 6%}}@media(max-width:520px){body{padding-bottom:76px}.brand img{height:48px}.actions{flex-direction:column}.btn{width:100%}.hero h1,.page-hero h1{font-size:2.35rem}.section{padding:3rem 5%}}

/* Social and WhatsApp buttons */
.topbar-social{display:flex;align-items:center;gap:.8rem}.topbar-social a,.social-links a{display:inline-flex;align-items:center;gap:.4rem;text-decoration:none}.topbar-social svg{width:16px;height:16px;fill:#000}.social-links{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}.social-links a{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:.5rem .8rem;color:#fff!important;font:800 .82rem Montserrat,sans-serif}.social-links svg{width:18px;height:18px;fill:currentColor}.contact-social a{background:#fff;border-color:var(--line);color:var(--dark)!important}.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:999;display:inline-flex;align-items:center;gap:.55rem;background:#25D366;color:#071b0c;text-decoration:none;border-radius:999px;padding:.8rem 1rem;font:800 .9rem Montserrat,sans-serif;box-shadow:0 12px 30px rgba(0,0,0,.28)}.whatsapp-float svg{width:24px;height:24px;fill:currentColor}@media(max-width:900px){.topbar-social{display:none}.whatsapp-float{right:16px;bottom:16px;padding:.8rem}.whatsapp-float span{display:none}.whatsapp-float svg{width:28px;height:28px}}

/* Form alerts + focus polish */
.alert{display:flex;gap:.7rem;align-items:flex-start;padding:1rem 1.1rem;border-radius:10px;font:600 .95rem 'Open Sans',sans-serif;margin:0 0 .4rem;border:1px solid}
.alert svg{flex:0 0 auto;width:20px;height:20px;margin-top:1px}
.alert-error{background:#fcf0ee;border-color:#e9c4bd;color:#8f2f1d}
.alert-error svg{fill:#c0432c}
.alert-success{background:#eef7f0;border-color:#bfe0c8;color:#235c36}
.alert-success svg{fill:#2f8f4e}
.form input:focus-visible,.form select:focus-visible,.form textarea:focus-visible{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,168,76,.28)}
.form input,.form select,.form textarea{transition:border-color .15s ease,box-shadow .15s ease}
@keyframes alert-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.alert{animation:alert-in .3s ease}
@media(prefers-reduced-motion:reduce){.alert{animation:none}}
/* Thank-you success badge */
.success-badge{width:84px;height:84px;border-radius:999px;background:rgba(201,168,76,.16);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}
.success-badge svg{width:44px;height:44px;fill:var(--gold)}

/* Gallery carousel */
.gallery-carousel{position:relative;max-width:980px;margin:auto}
.gc-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:14px;background:#0d0d0d;box-shadow:0 16px 40px rgba(0,0,0,.18);scrollbar-width:none;-webkit-overflow-scrolling:touch}
.gc-track::-webkit-scrollbar{display:none}
.gc-track:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.gc-slide{flex:0 0 100%;margin:0;scroll-snap-align:start;scroll-snap-stop:always;position:relative}
.gc-slide img{width:100%;height:min(72vh,620px);object-fit:contain}
.gc-slide figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.6rem 1.4rem 1.1rem;background:linear-gradient(transparent,rgba(0,0,0,.78));color:#fff;font:600 .95rem 'Open Sans',sans-serif;text-align:center}
.gc-btn{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:999px;border:0;background:var(--gold);color:#000;font-size:1.15rem;font-weight:900;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center}
.gc-btn:hover{background:var(--gold2)}
.gc-prev{left:-23px}.gc-next{right:-23px}
.gc-dots{display:flex;justify-content:center;gap:.55rem;margin-top:1.2rem}
.gc-dot{width:11px;height:11px;border-radius:999px;border:0;padding:0;background:var(--line);cursor:pointer;transition:background .2s,transform .2s}
.gc-dot.on{background:var(--gold);transform:scale(1.25)}
@media(max-width:900px){.gc-prev{left:8px}.gc-next{right:8px}.gc-slide img{height:62vh}}


/* FAQ Section */
.faq-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

.faq-item {
    background: #fff;
    padding: 2rem;
    border-radius: 8px;
    border-left: 4px solid var(--gold);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: transform 0.2s, box-shadow 0.2s;
}

.faq-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

.faq-item h3 {
    font-size: 1.1rem;
    margin-bottom: 0.8rem;
    color: var(--dark);
    font-family: Montserrat, sans-serif;
    font-weight: 600;
}

.faq-item p {
    color: #666;
    font-size: 0.95rem;
    line-height: 1.7;
}

@media (max-width: 768px) {
    .faq-grid {
        grid-template-columns: 1fr;
    }
}

/* Floating Buttons */
.floating-btn {
    position: fixed;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
    z-index: 999;
    bottom: 20px;
    transition: transform 0.2s, box-shadow 0.2s;
    font-size: 0;
}

.floating-btn:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 16px rgba(0,0,0,0.4);
}

.floating-btn svg {
    width: 32px;
    height: 32px;
    fill: white;
}

.floating-btn.whatsapp {
    background: #25d366;
    right: 20px;
}

.floating-btn.call-now {
    background: #d4a574;
    right: 100px;
}

.floating-btn span {
    font-size: 0;
}

@media (max-width: 480px) {
    .floating-btn {
        width: 56px;
        height: 56px;
        bottom: 15px;
    }
    
    .floating-btn.call-now {
        right: 85px;
    }
    
    .floating-btn svg {
        width: 28px;
        height: 28px;
    }
}

/* Blog */
.post-wrap{max-width:760px;margin-inline:auto}
.post-back{margin-top:1.2rem}
.post-back a{color:var(--gold);font:800 .85rem Montserrat,sans-serif;text-decoration:none}
.post h2{font:800 1.45rem Montserrat,sans-serif;margin:2rem 0 .6rem;color:var(--dark)}
.post p{margin:0 0 1.1rem}
.post ul{margin:0 0 1.3rem;padding-left:1.2rem}
.post li{margin:.4rem 0}
.post a{color:#7a6120;font-weight:700}




.post-comments .post-wrap{padding-top:.5rem}
.post-comments h2{font:800 1.6rem Montserrat,sans-serif;margin:0 0 .4rem}
#disqus_thread{margin-top:1.4rem}
.post-meta{color:var(--grey);font:600 .85rem 'Open Sans',sans-serif;margin:.2rem 0 0}
.page-hero .post-meta{color:rgba(255,255,255,.6)}


/* Service area photo support */
.card img[onerror], .hero picture img[onerror]{background:#f4f1e9;}
.section .ticks a{color:#7a6120;font-weight:800;text-decoration:none;}
.section .ticks a:hover{text-decoration:underline;}
