:root{--brand:#941426;--brand-dark:#63101d;--brand-soft:#f7ecef;--ink:#1e2329;--muted:#6d737a;--line:#e9e4e5;--cream:#fbf8f6;--gold:#c9a357}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:#fff;line-height:1.65}a{text-decoration:none;color:inherit}.topbar{font-size:.83rem;background:#241f20;color:#f5eded}.topbar a{color:#fff}.brand-lockup{display:flex;align-items:center;gap:.72rem;line-height:1}.brand-mark{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,var(--brand),var(--brand-dark));color:#fff;display:inline-grid;place-items:center;font-family:Playfair Display,serif;font-size:1.15rem;font-weight:700;box-shadow:0 8px 22px rgba(148,20,38,.2)}.brand-lockup strong{display:block;font-family:Playfair Display,serif;letter-spacing:.06em;font-size:1.28rem;color:var(--brand-dark)}.brand-lockup small{display:block;font-size:.58rem;letter-spacing:.23em;color:#6c6163;margin-top:.28rem}.navbar .nav-link{font-weight:500;color:#34383d;padding:.65rem .8rem!important}.navbar .nav-link.active,.navbar .nav-link:hover{color:var(--brand)}.btn-brand{background:var(--brand);color:#fff;border:1px solid var(--brand);border-radius:12px;padding:.7rem 1.1rem;font-weight:600}.btn-brand:hover{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}.btn-outline-brand{border:1px solid var(--brand);color:var(--brand);border-radius:12px}.btn-outline-brand:hover{background:var(--brand);color:#fff}.hero-carousel .carousel-item{min-height:650px;background-size:cover;background-position:center;position:relative}.hero-carousel .carousel-item:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(26,18,20,.84) 0%,rgba(45,22,27,.64) 48%,rgba(32,24,25,.15) 100%)}.hero-content{position:relative;z-index:2;padding-top:9rem;padding-bottom:7rem;color:#fff;max-width:760px}.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.19em;font-size:.75rem;font-weight:700;color:var(--brand);margin-bottom:.8rem}.hero-content .eyebrow{color:#ffd4da}.hero-content h1,.page-banner h1,.section-title{font-family:Playfair Display,serif;font-weight:700}.hero-content h1{font-size:clamp(2.6rem,6vw,5.4rem);line-height:1.03;margin-bottom:1.2rem}.hero-content p{font-size:1.08rem;color:#f0e9ea;max-width:650px}.hero-card{background:#fff;border-radius:22px;padding:1.35rem;box-shadow:0 18px 60px rgba(29,20,22,.14)}.stat-card{padding:1.2rem;border-radius:18px;background:var(--cream);height:100%}.stat-card strong{font-size:1.25rem;color:var(--brand);display:block}.section-pad{padding:80px 0}.section-title{font-size:clamp(2rem,4vw,3.2rem);line-height:1.1}.section-copy{color:var(--muted);max-width:720px}.service-card,.property-card,.testimonial-card,.team-card,.contact-card{border:1px solid var(--line);border-radius:22px;background:#fff;transition:.25s ease;height:100%;overflow:hidden}.service-card:hover,.property-card:hover,.team-card:hover{transform:translateY(-4px);box-shadow:0 16px 45px rgba(54,34,38,.09)}.service-card{padding:1.6rem}.service-icon{width:52px;height:52px;border-radius:15px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-size:1.35rem;margin-bottom:1rem}.property-image{height:245px;width:100%;object-fit:cover}.property-card .card-body{padding:1.25rem}.property-meta{display:flex;gap:.7rem;flex-wrap:wrap;color:#72777d;font-size:.85rem}.price{font-weight:700;color:var(--brand);font-size:1.1rem}.badge-soft{background:var(--brand-soft);color:var(--brand);font-weight:600}.split-image{width:100%;height:520px;object-fit:cover;border-radius:24px}.gallery-item{position:relative;overflow:hidden;border-radius:20px;height:310px;background:#eee}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.35s}.gallery-item:hover img{transform:scale(1.04)}.gallery-caption{position:absolute;left:15px;right:15px;bottom:15px;background:rgba(22,17,18,.76);color:#fff;border-radius:14px;padding:.75rem 1rem;backdrop-filter:blur(4px)}.testimonial-card{padding:1.6rem}.rating{color:#d49a25}.team-card img{height:330px;width:100%;object-fit:cover}.team-card .card-body{padding:1.25rem}.cta-band{background:linear-gradient(135deg,var(--brand-dark),var(--brand));color:#fff;border-radius:28px;padding:2.5rem}.page-banner{background:linear-gradient(135deg,#fbf3f5,#f4eaec);border-bottom:1px solid #efe0e3}.page-banner h1{font-size:clamp(2.5rem,5vw,4rem);margin:.15rem 0}.page-banner p{color:#6d6163;max-width:760px}.filter-panel{border:1px solid var(--line);border-radius:20px;padding:1.2rem;background:#fff;box-shadow:0 10px 35px rgba(45,35,37,.05)}.form-control,.form-select{border-radius:12px;border-color:#ded8da;padding:.75rem .9rem}.form-control:focus,.form-select:focus{border-color:#c99099;box-shadow:0 0 0 .22rem rgba(148,20,38,.1)}.detail-hero{height:520px;border-radius:24px;overflow:hidden;background:#eee}.detail-hero img{width:100%;height:100%;object-fit:cover}.feature-list{columns:2;column-gap:2rem}.feature-list li{margin-bottom:.55rem}.contact-card{padding:1.5rem}.map-frame{width:100%;height:430px;border:0;border-radius:22px}.site-footer{background:#201b1c;color:#e9e0e2}.site-footer .brand-lockup strong{color:#fff}.site-footer .brand-lockup small{color:#cbbfc2}.site-footer h6{color:#fff}.footer-copy{color:#bfb4b6}.footer-links li{margin:.4rem 0}.footer-links a{color:#cfc4c6}.footer-links a:hover,.site-footer a:hover{color:#fff}.footer-rule{border-color:#4b4143}.social-btn{width:38px;height:38px;display:grid;place-items:center;border:1px solid #4e4345;border-radius:10px}.floating-whatsapp{position:fixed;right:22px;bottom:22px;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#25D366;color:#fff;font-size:1.45rem;box-shadow:0 10px 28px rgba(0,0,0,.22);z-index:1050}.floating-whatsapp:hover{color:#fff;transform:translateY(-2px)}.empty-state{padding:3rem;text-align:center;border:1px dashed #d8cfd1;border-radius:18px;color:#777}.rich-content img{max-width:100%;height:auto}.rich-content h2,.rich-content h3{font-family:Playfair Display,serif;margin-top:1.5rem}.ratio-portrait{aspect-ratio:4/5;object-fit:cover}@media(max-width:991px){.hero-carousel .carousel-item{min-height:580px}.hero-content{padding-top:7rem}.split-image{height:420px}.feature-list{columns:1}}@media(max-width:767px){.section-pad{padding:58px 0}.hero-carousel .carousel-item{min-height:540px}.hero-content h1{font-size:2.65rem}.hero-content{padding-top:6rem;padding-bottom:4rem}.detail-hero{height:330px}.gallery-item{height:260px}.brand-lockup strong{font-size:1.05rem}.brand-mark{width:42px;height:42px}}
