
:root{
  --brand-primary:#0A2342;
  --brand-bg:#F1F1F1;
  --brand-accent:#C9B07A;
  --brand-cta:#00A67D; /* emerald accent */
  --proptech-accent:#2F855A; /* stable green for Real Estate */
}
*{box-sizing:border-box}
.text-brand{color:var(--brand-primary)}
.bg-brand{background:var(--brand-primary)}
.btn-brand{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border-radius:.75rem;background:var(--brand-primary);color:#fff;font-weight:600}
.btn-brand:hover{opacity:.92}
.btn-outline{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border-radius:.75rem;border:1px solid var(--brand-primary);color:var(--brand-primary);font-weight:600}
.btn-outline-light{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border-radius:.75rem;border:1px solid #fff;color:#fff;font-weight:600}
.footer-link{color:#334155}.footer-link:hover{color:var(--brand-primary)}
.accent-line{height:4px;background:var(--brand-accent);border-radius:999px}
/* Animations */
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.reveal{opacity:0;transform:translateY(12px);transition:opacity .5s,transform .5s}
.reveal.in{opacity:1;transform:none;animation:fadeUp .6s ease both}
.card-shine{position:relative;overflow:hidden}
.card-shine::after{content:"";position:absolute;top:-100%;left:-100%;width:200%;height:200%;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.22) 40%,transparent 50%)}
.card-shine:hover::after{animation:shine .9s ease}
@keyframes shine{to{top:100%;left:100%}}
.hover-lift{transition:transform .15s ease,box-shadow .15s ease}
.hover-lift:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.08)}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.45)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to right, rgba(10,35,66,.6), rgba(10,35,66,.35))}
.hero-content{position:relative;color:#fff}
@media (prefers-reduced-motion:reduce){.reveal,.hover-lift{animation:none;transition:none}}
/* Carousel */
.carousel{position:relative}
.carousel-track{display:flex;gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.5rem}
.carousel-track::-webkit-scrollbar{height:8px}
.carousel-track::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}
.carousel-slide{flex:0 0 86%;max-width:86%;scroll-snap-align:start}
@media(min-width:768px){.carousel-slide{flex-basis:48%;max-width:48%}}
@media(min-width:1024px){.carousel-slide{flex-basis:31%;max-width:31%}}
.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);padding:.6rem;border-radius:.75rem;border:1px solid #e2e8f0;background:#fff}
.carousel-btn:hover{background:#f8fafc}
.carousel-btn.prev{left:-.5rem}
.carousel-btn.next{right:-.5rem}


/* ===== Footer Dark Theme Overrides ===== */
footer{background:var(--brand-primary)!important;color:#fff}
footer .footer-link{color:#e2e8f0}
footer .footer-link:hover{color:#fff}
footer .border-slate-200{border-color:rgba(255,255,255,.18)!important}
footer .text-slate-500{color:rgba(255,255,255,.7)!important}
footer .text-slate-600{color:rgba(255,255,255,.8)!important}
footer .accent-line{background:var(--brand-accent)}
footer a{color:#fff}
footer .inline-flex.p-2{border-color:rgba(255,255,255,.35)!important}
footer .inline-flex.p-2:hover{background:rgba(255,255,255,.08)!important}
/* Accent helpers */
.text-cta{color:var(--brand-cta)}
.bg-cta{background:var(--brand-cta)}
.btn-cta{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border-radius:.75rem;background:var(--brand-cta);color:#fff;font-weight:700}
.btn-cta:hover{filter:brightness(.97)}
.lang-btn{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .55rem;border-radius:.6rem;border:1px solid #e2e8f0;font-weight:800;font-size:.75rem;line-height:1;background:#fff;color:var(--brand-primary)}
.lang-btn:hover{background:#f8fafc}
.lang-btn.lang-active{border-color:var(--brand-cta);color:var(--brand-cta)}

/* Section background image slots (optional) */
.section-bg{position:relative;overflow:hidden}
.section-bg::before{content:"";position:absolute;inset:0;background-image:var(--section-bg-image, none);background-size:cover;background-position:center;opacity:var(--section-bg-opacity,.14);filter:saturate(1.1) contrast(1.05)}
.section-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(241,241,241,.92), rgba(241,241,241,.98))}
.section-bg .section-content{position:relative;z-index:1}
.section-bg-hero::after{background:linear-gradient(180deg, rgba(241,241,241,.86), rgba(241,241,241,.98))}
.section-bg-white::after{background:linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,255,255,.98))}
.section-bg-muted{--section-bg-opacity:.12}

/* Profile photo slot */
.profile-photo{background-image:var(--profile-photo, linear-gradient(135deg,#cbd5e1,#e2e8f0));background-size:cover;background-position:center;position:relative}
.profile-photo::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg, rgba(10,35,66,.08), rgba(10,35,66,0))}
