:root {
  --cor-vermelha: #a4222d
}
html { scroll-behavior: smooth; }
body { font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
#header.scrolled { background: rgba(2, 6, 23, .88); backdrop-filter: blur(18px); box-shadow: 0 10px 30px rgba(0,0,0,.12); }
.nav-link { color: rgba(255,255,255,.78); font-size: .875rem; font-weight: 600; transition: color .2s; }
.nav-link:hover { color: #fff; }
.mobile-link { display:block; padding:.75rem 1rem; border-radius:.75rem; color:#e2e8f0; font-weight:600; }
.mobile-link:hover { background:rgba(255,255,255,.08); color:#fff; }
.section-kicker { display:inline-block; text-transform:uppercase; letter-spacing:.16em; font-size:.72rem; font-weight:800; color:var(--cor-vermelha); }
.section-title { margin-top:.65rem; font-size:clamp(2.2rem,5vw,3.6rem); line-height:1.05; font-weight:900; letter-spacing:-.04em; color:#020617; }
.section-text { margin-top:1.25rem; color:#64748b; font-size:1.05rem; line-height:1.8; }
.service-card { border:1px solid #e2e8f0; border-radius:1.5rem; padding:1.6rem; transition:transform .25s, box-shadow .25s, border-color .25s; background:#fff; }
.service-card:hover { transform:translateY(-6px); box-shadow:0 20px 45px rgba(15,23,42,.09); border-color:#fed7aa; }
.service-icon { display:flex; align-items:center; justify-content:center; width:3.2rem; height:3.2rem; border-radius:1rem; background:#fff7ed; font-size:1.45rem; }
.service-card h3 { margin-top:1.35rem; font-size:1.15rem; font-weight:800; color:#020617; }
.service-card p { margin-top:.55rem; font-size:.9rem; line-height:1.65; color:#64748b; }
.service-card a { display:inline-block; margin-top:1.2rem; color:var(--cor-vermelha); font-size:.85rem; font-weight:800; }
.check { flex:none; display:flex; align-items:center; justify-content:center; width:2rem; height:2rem; border-radius:999px; background:#ffedd5; color:var(--cor-vermelha); font-weight:900; }
.gallery-img { width:100%; height:100%; object-fit:cover; border-radius:1.35rem; transition:transform .3s, filter .3s; }
.gallery-img:hover { transform:scale(1.015); filter:saturate(1.08); }
.process-card { border-top:1px solid rgba(255,255,255,.14); padding-top:1.4rem; }
.process-card span { color:var(--cor-vermelha); font-size:.75rem; font-weight:900; letter-spacing:.1em; }
.process-card h3 { margin-top:.8rem; font-weight:800; font-size:1.15rem; }
.process-card p { margin-top:.5rem; color:#94a3b8; font-size:.9rem; line-height:1.65; }
.quote-card { background:#fff; border:1px solid #e2e8f0; border-radius:1.5rem; padding:1.7rem; }
.stars { color:var(--cor-vermelha); letter-spacing:.15em; font-size:.85rem; }
.quote-card p { margin-top:1rem; color:#475569; line-height:1.75; }
.quote-card footer { margin-top:1.5rem; display:flex; flex-direction:column; }
.quote-card footer strong { color:#0f172a; font-size:.9rem; }
.quote-card footer span { color:#94a3b8; font-size:.78rem; margin-top:.2rem; }
.faq-item { border:1px solid #e2e8f0; border-radius:1rem; padding:1.25rem 1.4rem; }
.faq-item summary { cursor:pointer; list-style:none; font-weight:800; color:#0f172a; padding-right:1rem; position:relative; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:'+'; position:absolute; right:0; color:var(--cor-vermelha); font-size:1.25rem; }
.faq-item[open] summary::after { content:'−'; }
.faq-item p { margin-top:.8rem; color:#64748b; font-size:.9rem; line-height:1.7; }
.field { display:block; font-size:.8rem; font-weight:800; color:#334155; }
.field input, .field textarea { margin-top:.45rem; width:100%; border:1px solid #cbd5e1; border-radius:.9rem; padding:.85rem 1rem; outline:none; color:#0f172a; background:#f8fafc; transition:border .2s, box-shadow .2s; font-weight:500; }
.field input:focus, .field textarea:focus { border-color:var(--cor-vermelha); box-shadow:0 0 0 4px rgba(249,115,22,.12); background:#fff; }
.footer-link { display:block; transition:color .2s; }
.footer-link:hover { color:#fff; }
.cor-padrao {
  color: #a4222d!important;
}
/* Hide scrollbar when lightbox is open */
body.lightbox-open {
  overflow: hidden;
}

/* Transition effect for zoom in lightbox */
.lightbox-img-container img {
  transition: transform 0.2s cubic-bezier(0.2, 0, 0.2, 1);
  cursor: grab;
}

.lightbox-img-container img:active {
  cursor: grabbing;
}

/* Custom smooth transition for grid cards */
.gallery-card {
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease, box-shadow 0.3s ease;
}
@media (max-width: 640px) {
  .gallery-img { min-height: 180px; }
}
