@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:wght@500;600;700&display=swap');

:root { --purple:#9f2a78; --purple-dark:#4c173e; --purple-pale:#f8eef5; --gold:#c49b47; --gold-pale:#f7edcf; --ink:#27232a; --muted:#746c75; --white:#fff; --base:#f7faf7; --line:#e5e2e4; --greenish:#eef8f0; --sans:'Manrope',Arial,sans-serif; --serif:'Playfair Display',Georgia,serif; --shadow:0 15px 35px rgba(58,18,47,.11); --text-xs:.75rem; --text-sm:.875rem; --text-base:1rem; --text-lg:1.125rem; --heading-sm:1.35rem; --heading-md:1.75rem; }
* { box-sizing:border-box; }
.card,.feature-card,.contact-card,.summary-card,.page-panel,.property-card { border-radius:14px; }
.meta-item { border-radius:9px; }
.map-panel { border-radius:14px; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--base); color:var(--ink); font:400 var(--text-base)/1.65 var(--sans); }
img,picture,svg { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button,input,textarea,select { font:inherit; }
h1,h2,h3,h4,p { margin-top:0; }
h1,h2,h3 { font-family:var(--sans); line-height:1.15; letter-spacing:-.045em; }
.container { width:min(1120px,calc(100% - 3rem)); margin:auto; }

.site-header { position:sticky; top:0; z-index:20; color:#fff; background:var(--purple-dark); }
.nav-wrap { min-height:68px; display:flex; align-items:center; gap:2rem; }
.brand { display:inline-block; color:#fff; font-size:.92rem; font-weight:800; letter-spacing:-.05em; }
.brand::before { content:'✦'; margin-right:.36rem; color:var(--gold); font-size:.75rem; }
.brand span { display:block; margin:.13rem 0 0 1.1rem; color:var(--gold-pale); font-size:.38rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.brand-logo-link { display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; line-height:0; }
.brand-logo-link::before { content:none; }
.brand-logo { display:block; width:240px; max-width:none; height:auto; filter:brightness(0) invert(1); }
.site-nav { display:flex; align-items:center; gap:1.7rem; margin-left:auto; }
.site-nav a { color:rgba(255,255,255,.82); font-size:var(--text-sm); font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.site-nav a:hover,.site-nav a.active { color:var(--gold-pale); }
.nav-actions { display:flex; }
.nav-link { padding:.65rem 1.25rem; background:#fff; color:var(--purple-dark); font-size:var(--text-xs); font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.menu-toggle { display:none; border:0; background:none; color:#fff; cursor:pointer; font-size:1.3rem; }
.eyebrow { margin-bottom:.8rem; color:var(--purple); font-size:var(--text-xs); font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:.8rem; min-height:48px; padding:.8rem 1.3rem; border:0; background:var(--purple); color:#fff; font-size:var(--text-sm); font-weight:800; letter-spacing:.03em; cursor:pointer; transition:transform .2s ease,background .2s ease; }
.button span,.text-link span { font-size:1.2em; }
.button:hover { background:var(--purple-dark); transform:translateY(-2px); }
.scroll-reveal { opacity:0; transform:translateY(24px); transition:opacity .6s ease var(--reveal-delay,0ms),transform .6s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms); }
.scroll-reveal.is-visible { opacity:1; transform:translateY(0); }

.whatsapp-chat-widget { position:fixed; right:1.5rem; bottom:1.5rem; z-index:1000; display:flex; flex-direction:column; align-items:flex-end; gap:.75rem; }
.whatsapp-chat-widget .whatsapp-widget-panel { width:min(360px, calc(100vw - 2rem)); background:rgba(255,255,255,.97); border:1px solid rgba(76,23,62,.14); border-radius:18px; box-shadow:0 20px 44px rgba(25,16,22,.18); opacity:0; transform:translateY(18px) scale(.96); pointer-events:none; transition:opacity .25s ease,transform .25s ease; }
.whatsapp-chat-widget.is-open .whatsapp-widget-panel { opacity:1; transform:translateY(0) scale(1); pointer-events:auto; }
.whatsapp-widget-header { display:flex; align-items:center; justify-content:space-between; padding:1rem 1rem .6rem; }
.whatsapp-widget-badge { display:inline-flex; align-items:center; gap:.45rem; padding:.3rem .65rem; border-radius:999px; background:rgba(48,209,90,.12); color:#0f8d42; font-size:.72rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.whatsapp-widget-badge::before { content:'\f075'; font-family:'Font Awesome 6 Free'; font-weight:900; }
.whatsapp-widget-close { display:grid; place-items:center; width:24px; height:24px; border:0; border-radius:50%; background:#f4f3f5; color:#382f3b; font-size:1.1rem; cursor:pointer; }
.whatsapp-widget-close:hover { background:#ebe5ea; }
.whatsapp-widget-list { padding:0 1rem 1rem; display:grid; gap:.85rem; }
.whatsapp-contact-card { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:.8rem; padding:.7rem .7rem; border:1px solid rgba(76,23,62,.09); border-radius:14px; background:#fdfdfd; }
.whatsapp-contact-card img { width:52px; height:52px; border-radius:50%; object-fit:cover; }
.whatsapp-contact-card h4 { margin:0; color:var(--purple-dark); font-size:.96rem; font-weight:800; }
.whatsapp-contact-card p { margin:.12rem 0 0; color:var(--muted); font-size:.7rem; font-weight:700; }
.whatsapp-contact-card .chat-label { display:block; margin-top:.16rem; color:var(--purple); font-size:.7rem; font-weight:800; }
.whatsapp-contact-card a { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; background:#25d366; color:#fff; font-size:1.15rem; box-shadow:0 8px 18px rgba(37,211,102,.28); }
.whatsapp-contact-card a:hover { background:#1cae56; }
.whatsapp-widget-toggle { width:72px; height:72px; border:0; border-radius:50%; background:linear-gradient(145deg,#2edb68,#1db85c); color:#fff; box-shadow:0 18px 30px rgba(30,174,86,.32); cursor:pointer; font-size:2rem; display:grid; place-items:center; transition:transform .2s ease, box-shadow .2s ease; }
.whatsapp-widget-toggle:hover { transform:translateY(-2px) scale(1.02); box-shadow:0 14px 26px rgba(30,174,86,.38); }
.whatsapp-widget-toggle i { transform:translateY(-1px); }
.whatsapp-widget-toggle:focus-visible,.whatsapp-widget-close:focus-visible,.whatsapp-contact-card a:focus-visible { outline:2px solid var(--purple); outline-offset:3px; }

/* Home: bright real-estate discovery layout */
.home-hero { position:relative; overflow:hidden; color:#fff; background:var(--purple-dark); }
.home-page .site-header { position:absolute; width:100%; border:0; background:transparent; backdrop-filter:none; }
.home-page .site-header .container { width:min(100% - 8rem, 1320px); }
.home-hero::before { content:''; position:absolute; z-index:0; top:-86px; left:0; width:315px; height:767px; opacity:.32; background:url('../assets/pattern.svg') center/contain no-repeat; }
.home-hero::after { content:''; position:absolute; z-index:0; top:105px; right:16%; width:295px; height:400px; opacity:.36; background:url('../assets/pattern.svg') center/contain no-repeat; transform:rotate(180deg); }
.home-hero .hero-layout { position:relative; z-index:1; display:block; width:100%; max-width:none; min-height:680px; margin:0; }
.hero-floating-dots { position:absolute; z-index:1; inset:0; overflow:hidden; pointer-events:none; }
.hero-floating-dots span { position:absolute; display:block; width:9px; height:9px; border:1px solid rgba(247,237,207,.78); border-radius:50%; background:rgba(196,155,71,.42); box-shadow:0 0 16px rgba(196,155,71,.4); animation:hero-dot-drift 13s ease-in-out infinite alternate; }
.hero-floating-dots span:nth-child(1) { top:18%; left:39%; animation-duration:12s; animation-delay:-5s; }
.hero-floating-dots span:nth-child(2) { top:69%; left:56%; width:6px; height:6px; animation-duration:16s; animation-delay:-11s; }
.hero-floating-dots span:nth-child(3) { top:28%; right:36%; width:7px; height:7px; animation-duration:14s; animation-delay:-2s; }
.hero-floating-dots span:nth-child(4) { top:77%; right:24%; width:11px; height:11px; animation-duration:17s; animation-delay:-8s; }
.hero-floating-dots span:nth-child(5) { top:49%; left:47%; width:5px; height:5px; animation-duration:11s; animation-delay:-7s; }
@keyframes hero-dot-drift { 0% { transform:translate3d(0,0,0) scale(.85); } 27% { transform:translate3d(28px,-22px,0) scale(1.1); } 58% { transform:translate3d(-17px,24px,0) scale(.75); } 100% { transform:translate3d(36px,10px,0) scale(1); } }
@media (prefers-reduced-motion:reduce) { .hero-floating-dots span { animation:none; } }
.hero-copy { position:relative; z-index:3; display:flex; width:50%; min-height:680px; flex-direction:column; justify-content:center; padding:8.5rem 3rem 5.5rem max(4rem, calc((100vw - 1300px) / 2)); }
.hero-copy::before,.hero-copy::after { content:''; position:absolute; z-index:-1; border-radius:50%; border:1px dotted rgba(255,255,255,.28); }
.hero-copy::before { top:-65px; left:-130px; width:260px; height:260px; }
.hero-copy::after { right:2rem; bottom:-85px; width:180px; height:180px; }
.hero-copy .eyebrow { color:var(--gold-pale); }
.home-hero .hero-copy .eyebrow { margin-bottom:1rem; font-size:.76rem; }
.home-hero .hero-copy h1 { max-width:620px; margin-bottom:1rem; font-size:clamp(3rem,4.4vw,4rem); font-weight:800; line-height:1.1; }
.home-hero .hero-copy > p:not(.eyebrow) { max-width:530px; margin-bottom:1.8rem; color:rgba(255,255,255,.86); font-size:1.05rem; line-height:1.6; }
.home-hero .button-light { min-height:52px; padding:.9rem 1.45rem; font-size:.7rem; }
.home-hero .button-light { background:var(--gold); color:var(--purple-dark); }
.home-hero .button-light:hover { background:var(--gold-pale); }
.hero .hero-copy h1 { max-width:620px; margin-bottom:1rem; font-size:clamp(2.35rem,4vw,4rem); font-weight:800; }
.button-light { width:max-content; background:#fff; color:var(--purple-dark); }
.button-light:hover { background:var(--gold-pale); }
.hero-image { position:absolute; z-index:2; right:0; bottom:0; width:59%; min-height:0; height:680px; background-image:url('../assets/group-7.svg'); background-repeat:no-repeat; background-position:right bottom; background-size:auto 100%; }
.hero-image::after { content:''; position:absolute; right:-58px; bottom:-72px; width:175px; height:175px; border:22px solid rgba(196,155,71,.72); border-radius:50%; }

.section { padding:clamp(5.25rem, 8vw, 7rem) 0; }
.services-section { background:var(--greenish); }
.centered-title { max-width:560px; margin:0 auto 1.8rem; text-align:center; }
.centered-title h2,.section-heading h2 { margin-bottom:.48rem; color:var(--purple); font-size:clamp(1.9rem,3vw,2.45rem); font-weight:800; }
.centered-title > p:last-child { margin:0; color:var(--muted); font-size:.85rem; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.service-card { min-height:215px; padding:2.1rem 1.55rem; border-radius:14px; text-align:center; background:#fff; }
.featured-service { color:#fff; background:var(--purple); }
.service-icon { display:grid; place-items:center; width:46px; height:46px; margin:0 auto 1rem; border-radius:50%; background:var(--gold-pale); color:var(--purple); font-size:1.35rem; font-weight:800; }
.service-icon img { width:22px; height:22px; object-fit:contain; }
.service-card h3 { margin-bottom:.6rem; color:var(--purple); font-size:1rem; font-weight:800; }
.featured-service h3 { color:#fff; }
.service-card p { margin:0; color:var(--muted); font-size:var(--text-sm); line-height:1.6; }
.featured-service p { color:rgba(255,255,255,.82); }

.estate-finder { position:relative; overflow:hidden; padding:5.5rem 0; color:#fff; background:linear-gradient(90deg,rgba(76,23,62,.96),rgba(159,42,120,.86)); }
.estate-finder::before { content:''; position:absolute; z-index:1; right:0; bottom:-55px; width:1000px; height:620px; background:url('../assets/hand-magnifier.png') right bottom/contain no-repeat; filter:drop-shadow(0 15px 15px rgba(41,9,33,.22)); pointer-events:none; }
.estate-finder::after { content:''; position:absolute; right:31%; bottom:-85px; width:230px; height:230px; border:2px solid var(--gold-pale); border-radius:50%; }
.finder-layout { position:relative; z-index:2; display:grid; grid-template-columns:.9fr 1.1fr; min-height:385px; align-items:center; }
.finder-copy { max-width:560px; }
.estate-finder .eyebrow { color:var(--gold-pale); }
.estate-finder h2 { margin-bottom:.7rem; font-size:clamp(2rem,3.4vw,2.8rem); font-weight:800; }
.estate-finder p:not(.eyebrow) { max-width:530px; margin:0 0 1.7rem; color:rgba(255,255,255,.88); font-size:.9rem; }
.finder-button { background:var(--gold-pale); color:var(--purple-dark); }
.finder-button:hover { background:#fff; }
.magnifier-visual { position:relative; min-height:385px; overflow:hidden; }
.magnifier-visual img { display:none; }
.discovery-chip { position:absolute; z-index:1; padding:.62rem .9rem; border:1px solid rgba(255,255,255,.36); border-radius:999px; background:rgba(255,255,255,.14); color:var(--gold-pale); font-size:.63rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; backdrop-filter:blur(6px); }
.chip-top { top:70px; left:5%; }
.chip-bottom { right:15%; bottom:62px; }
@media (max-width:820px) { .finder-layout { grid-template-columns:1fr; padding-top:1rem; } .magnifier-visual { min-height:300px; } .magnifier-visual img { right:-50px; width:510px; } .chip-top { top:35px; left:4%; } .chip-bottom { right:8%; bottom:35px; } }
.finder-form { display:grid; grid-template-columns:1fr 1fr auto; max-width:780px; margin:auto; overflow:hidden; border-radius:12px; background:#fff; }
.finder-form label { position:relative; min-width:0; padding:.65rem .8rem; border-right:1px solid var(--line); text-align:left; }
.finder-form label span { display:block; margin-bottom:.15rem; color:var(--muted); font-size:.48rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.finder-form select { width:100%; border:0; outline:0; background:#fff; color:var(--ink); font-size:.63rem; }
.finder-form .button { min-height:100%; padding:0 1.35rem; }

.listings-section { background:var(--greenish); }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:1.8rem; }
.section-heading h2 { margin-bottom:0; }
.text-link { color:var(--purple); font-size:.8rem; font-weight:800; white-space:nowrap; }
.listing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.05rem; }
.listing-card { position:relative; min-height:390px; overflow:hidden; border-radius:14px; background:#fff; box-shadow:0 2px 8px rgba(59,36,54,.06); transition:transform .2s ease,box-shadow .2s ease; }
.listing-card:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
.listing-card img { width:100%; height:220px; object-fit:cover; }
.listing-info { padding:1rem; }
.listing-info > span { color:var(--purple); font-size:.9rem; font-weight:800; }
.listing-info h3 { margin:.25rem 0; color:var(--purple-dark); font-family:var(--sans); font-size:var(--text-lg); font-weight:800; }
.listing-info p { margin-bottom:.72rem; color:var(--muted); font-size:var(--text-sm); }
.listing-location { display:flex; align-items:flex-start; gap:.4rem; }
.listing-location::before { content:'⌖'; flex:0 0 auto; color:var(--purple); font-size:1.05rem; font-weight:800; line-height:1.4; }
.listing-meta { display:flex; justify-content:space-between; gap:.55rem; padding-top:.65rem; border-top:1px solid var(--line); }
.listing-meta b { display:flex; align-items:center; gap:.32rem; color:#5f5660; font-size:var(--text-xs); font-weight:700; }
.listing-meta b::before { display:inline-grid; place-items:center; width:17px; height:17px; border-radius:50%; background:var(--gold-pale); color:var(--purple); font-size:.67rem; font-weight:800; }
.listing-meta .plot-size::before { content:'↔'; }
.listing-meta .approval::before { content:'✓'; }
.listing-meta .approval.approved::before { background:#25a55a; color:#fff; }
.card-stretch-link { position:absolute; inset:0; z-index:2; display:grid; place-items:center; overflow:hidden; border-radius:inherit; }
.card-stretch-link::before { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(76,23,62,.06),rgba(76,23,62,.78)); opacity:0; transition:opacity .24s ease; }
.card-overlay-cta { position:relative; z-index:1; display:inline-flex; align-items:center; gap:.6rem; padding:.72rem 1rem; border:1px solid rgba(255,255,255,.72); border-radius:999px; background:rgba(255,255,255,.96); color:var(--purple-dark); font-size:var(--text-sm); font-weight:800; opacity:0; transform:translateY(10px); transition:opacity .24s ease,transform .24s ease,background .2s ease; }
.listing-card:hover .card-stretch-link::before,.listing-card:focus-within .card-stretch-link::before { opacity:1; }
.listing-card:hover .card-overlay-cta,.listing-card:focus-within .card-overlay-cta { opacity:1; transform:translateY(0); }
.card-stretch-link:hover .card-overlay-cta { background:var(--gold-pale); }
.listing-card:focus-within { outline:3px solid rgba(196,155,71,.62); outline-offset:3px; }

.lifestyle-section { background:#fff; }
.lifestyle-grid { display:grid; grid-template-columns:1.05fr 1fr 1fr; gap:1rem; }
.lifestyle-card { position:relative; min-height:270px; overflow:hidden; border-radius:14px; color:#fff; }
.lifestyle-card.tall { min-height:380px; }
.lifestyle-card img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }
.lifestyle-card::after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 38%,rgba(42,12,34,.84)); }
.lifestyle-card div { position:absolute; z-index:1; right:1rem; bottom:1rem; left:1rem; }
.lifestyle-card h3 { margin-bottom:.2rem; font-size:1.15rem; font-weight:800; }
.lifestyle-card p { margin:0; font-size:.75rem; color:rgba(255,255,255,.83); }

.contact-banner { padding:5.75rem 0; color:#fff; background:linear-gradient(90deg,rgba(44,17,38,.88),rgba(44,17,38,.62)),url('https://images.unsplash.com/photo-1600566753190-17f0baa2a6c3?auto=format&fit=crop&w=1700&q=85') center/cover; }
.contact-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:4rem; align-items:center; }
.contact-banner .eyebrow { color:var(--gold-pale); }
.contact-banner h2 { max-width:440px; margin-bottom:.8rem; font-size:clamp(1.65rem,3vw,2.35rem); font-weight:800; }
.contact-banner > p,.contact-layout > div > p:not(.eyebrow) { max-width:430px; color:rgba(255,255,255,.86); font-size:.88rem; }
.contact-details { display:flex; flex-direction:column; gap:.3rem; margin-top:1.15rem; color:var(--gold-pale); font-size:var(--text-sm); font-weight:700; }
.contact-form { display:grid; gap:.55rem; padding:1.9rem; border-radius:14px; background:rgba(255,255,255,.96); color:var(--ink); }
.contact-form h3 { margin-bottom:.45rem; color:var(--purple); font-size:var(--heading-md); font-weight:800; text-align:center; }
.contact-form input,.contact-form textarea { width:100%; padding:.9rem; border:0; background:#eee; color:var(--ink); font-size:var(--text-sm); outline-color:var(--purple); resize:vertical; }
.contact-form .button { width:100%; }

.site-footer { padding:2.6rem 0; color:#fff; background:var(--purple-dark); }
.footer-grid { display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.site-footer .brand-logo { width:240px; }
.site-footer .brand { font-size:1rem; }
.site-footer .brand span { font-size:.52rem; }
.footer-grid nav,.footer-grid nav .menu { display:flex; align-items:center; justify-content:flex-end; gap:1.7rem; margin:0 0 0 auto; padding:0; list-style:none; }
.footer-grid nav a { white-space:nowrap; }
.footer-grid--reverse nav { margin-left:0; }
.footer-grid--reverse .brand { margin-left:auto; }
.site-footer a,.site-footer p { color:rgba(255,255,255,.78); font-size:var(--text-sm); font-weight:600; }
.site-footer .footer-credit { color:var(--gold-pale); font-weight:800; }
.site-footer .footer-credit:hover { color:#fff; }
.site-footer .footer-separator { margin:0 .25rem; color:var(--gold); }
.site-footer p { margin:0; justify-self:end; }
.footer-details { display:grid; grid-template-columns:1fr 1.35fr 1.35fr 1fr; gap:1.6rem; margin-top:2rem; padding-top:1.6rem; border-top:1px solid rgba(255,255,255,.15); }
.footer-details h3 { display:flex; align-items:center; gap:.4rem; margin:0 0 .5rem; color:var(--gold-pale); font-size:var(--text-sm); font-weight:800; letter-spacing:.03em; }
.footer-details h3:not(:has(i))::before { margin-right:.42rem; font-family:'Font Awesome 6 Free'; font-weight:900; }
.footer-details > div:nth-child(1) h3:not(:has(i))::before { content:'\f2b9'; }
.footer-details > div:nth-child(2) h3:not(:has(i))::before,.footer-details > div:nth-child(3) h3:not(:has(i))::before { content:'\f3c5'; }
.footer-details > div:nth-child(4) h3:not(:has(i))::before { content:'\f1e0'; }
.footer-details h3 i,.footer-details a i,.footer-details p i { width:1.1em; margin-right:.35rem; color:var(--gold); text-align:center; }
.footer-details a { display:block; width:max-content; max-width:100%; margin:.25rem 0; }
.footer-details address,.footer-details p { margin:0; color:rgba(255,255,255,.72); font-size:var(--text-sm); font-style:normal; line-height:1.55; }
.footer-social-list { display:grid; gap:.38rem; margin:0; padding:0; list-style:none; color:rgba(255,255,255,.72); font-size:var(--text-sm); font-weight:600; }
.footer-social-list li { display:flex; align-items:center; gap:.55rem; min-height:1.25rem; }
.footer-social-list i { width:1.1em; color:var(--gold); text-align:center; }
.footer-credit-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1.1rem; padding-top:1.1rem; border-top:1px solid rgba(255,255,255,.15); }
.footer-credit-row p { margin:0; color:rgba(255,255,255,.78); font-size:var(--text-sm); font-weight:600; }
.footer-credit-row .footer-credit { font-size:var(--text-sm); }

/* Supporting pages retain the new visual language. */
.hero { padding:5rem 0; color:#fff; background:linear-gradient(100deg,var(--purple-dark),var(--purple)); }
.properties-hero { position:relative; min-height:610px; overflow:hidden; padding:6.9rem 0 5.5rem; background:linear-gradient(108deg,#421334 0%,#661d51 53%,#a12d79 100%); }
.properties-hero::before { content:''; position:absolute; top:-95px; left:-85px; width:360px; height:620px; opacity:.34; background:url('../assets/pattern.svg') left top/contain no-repeat; }
.properties-hero::after { content:''; position:absolute; right:5%; bottom:-165px; width:370px; height:370px; border:2px solid rgba(247,237,207,.72); border-radius:50%; }
.properties-hero-layout { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,.82fr); gap:3.5rem; align-items:center; }
.properties-hero .hero-copy { width:auto; min-height:0; padding:0; }
.properties-hero .hero-copy h1 { max-width:680px; margin-bottom:1rem; font-size:clamp(2.8rem,4.8vw,4.4rem); }
.properties-hero .hero-copy > p:not(.eyebrow) { max-width:590px; margin-bottom:1.7rem; font-size:1.05rem; }
.hero-actions { display:flex; flex-wrap:wrap; gap:.8rem; }
.button-secondary { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:.8rem 1.3rem; border:1px solid rgba(255,255,255,.55); color:#fff; font-size:var(--text-sm); font-weight:800; }
.button-secondary:hover { border-color:var(--gold-pale); background:rgba(255,255,255,.1); }
.properties-hero-stats { display:flex; flex-wrap:wrap; gap:1.1rem 1.6rem; margin-top:2.2rem; color:rgba(255,255,255,.83); font-size:var(--text-sm); }
.properties-hero-stats span { display:flex; flex-direction:column; gap:.12rem; padding-right:1.55rem; border-right:1px solid rgba(255,255,255,.25); }
.properties-hero-stats span:last-child { padding-right:0; border:0; }
.properties-hero-stats strong { color:var(--gold-pale); font-size:1.02rem; font-weight:800; }
.properties-hero-visual { position:relative; min-height:420px; }
.hero-estate-card { position:absolute; overflow:hidden; margin:0; border:7px solid rgba(255,255,255,.92); border-radius:18px; box-shadow:0 23px 40px rgba(31,7,25,.32); transform:rotate(-4deg); }
.hero-estate-card img { width:100%; height:100%; object-fit:cover; }
.hero-estate-card-main { z-index:2; right:0; bottom:0; width:min(360px,78%); height:390px; }
.hero-estate-card-top { z-index:3; top:15px; left:0; width:220px; height:165px; transform:rotate(6deg); }
.properties-hero-ring { position:absolute; z-index:1; top:50px; right:38px; width:300px; height:300px; border:28px solid rgba(196,155,71,.66); border-radius:50%; }
.hero-panel { display:grid; grid-template-columns:1fr .75fr; gap:3rem; align-items:center; }
.hero-copy h1 { color:#fff; }
.hero-copy .eyebrow { color:var(--gold-pale); }
.hero-panel-visual { min-height:290px; background:url('https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=900&q=85') center/cover; }
.hero-visual-card { margin-top:190px; padding:1rem; background:rgba(76,23,62,.85); }
.hero-visual-card h2 { color:#fff; font-size:1.35rem; }.hero-visual-card p { margin:0; color:rgba(255,255,255,.8); font-size:.75rem; }.site-stats{display:none}.section-title{display:flex;justify-content:space-between;gap:2rem;margin-bottom:2rem}.section-title h2{color:var(--purple);font-size:2rem}.section-title>p{max-width:350px;color:var(--muted)}.grid{display:grid;gap:1.25rem}.three-up{grid-template-columns:repeat(3,1fr)}.two-column{grid-template-columns:repeat(2,1fr);gap:2rem}.card,.feature-card,.contact-card,.summary-card,.page-panel{padding:1.5rem;background:#fff;border:1px solid var(--line)}.card h3,.feature-card h3,.contact-card h3{color:var(--purple);font-size:1.4rem}.bullet-list{display:grid;gap:.65rem;margin:0;padding:0;list-style:none}.bullet-list li{display:flex;gap:.6rem}.bullet-list li::before{content:'•';color:var(--gold)}.property-card{overflow:hidden;background:#fff;border:1px solid var(--line)}.property-card img{width:100%;height:190px;object-fit:cover}.property-card .tag,.property-card h3,.property-card>p,.property-card .price{margin-left:1rem;margin-right:1rem}.property-card .tag{margin-top:1rem}.property-card h3{margin-top:.4rem;margin-bottom:.3rem;color:var(--purple);font-size:1.35rem}.property-card>p{color:var(--muted);font-size:.76rem}.property-card .price{display:flex;justify-content:space-between;margin-top:1rem;padding:1rem 0;border-top:1px solid var(--line);font-size:.7rem}.property-card .price span,.property-card a{color:var(--purple);font-weight:800}.page-panel{display:grid;gap:1.2rem}.summary-card h3{color:var(--purple);font-size:1.8rem}.property-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.meta-item{padding:.8rem;background:var(--purple-pale)}.meta-item p{margin:.25rem 0 0;font-size:.75rem}.details-grid{display:grid;gap:1rem}.property-detail{display:grid;grid-template-columns:1.3fr .9fr;gap:1.5rem}.map-panel{overflow:hidden}.map-panel iframe{width:100%;border:0}.contact-card button{border:0;background:var(--purple);color:#fff;padding:.75rem 1rem;font-weight:700}

/* Properties: compact estate selector followed by a focused detail workspace. */
.estate-picker-section { padding-top:4rem; }
.estate-carousel { position:relative; }
.estate-carousel-viewport { overflow-x:auto; scroll-behavior:smooth; scrollbar-width:none; }
.estate-carousel-viewport::-webkit-scrollbar { display:none; }
.estate-picker-grid { display:flex; gap:1rem; width:max-content; padding:.25rem 0 .5rem; }
.estate-picker-card { flex:0 0 calc((min(1120px, 100vw - 3rem) - 2rem) / 3); }
.estate-carousel-control { position:absolute; z-index:2; top:50%; display:grid; place-items:center; width:34px; height:34px; border:0; border-radius:50%; background:var(--purple); color:#fff; box-shadow:0 5px 14px rgba(76,23,62,.25); cursor:pointer; transform:translateY(-50%); transition:transform .2s ease,background .2s ease; }
.estate-carousel-control:hover { background:var(--gold); transform:translateY(-50%) scale(1.07); }
.estate-carousel-prev { left:-17px; }
.estate-carousel-next { right:-17px; }
.estate-picker-card { min-height:0; border-radius:14px; box-shadow:0 5px 15px rgba(59,36,54,.06); transition:transform .2s ease,box-shadow .2s ease; }
.estate-picker-card:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
.estate-picker-card img { height:165px; }
.estate-picker-card .tag { display:block; margin-top:1rem; color:var(--muted); font-size:.94rem; font-weight:800; }
.estate-picker-card h3 { min-height:2.3em; margin-top:.32rem; font-size:1.42rem; line-height:1.15; }
.estate-card-meta { display:flex; align-items:center; justify-content:space-between; gap:.7rem; min-height:42px; margin:0 1rem .45rem; color:var(--muted); font-size:.74rem; font-weight:700; line-height:1.35; }
.estate-card-meta span { display:flex; align-items:center; gap:.35rem; min-width:0; }
.estate-card-meta span:last-child { justify-content:flex-end; text-align:right; }
.estate-card-meta i { flex:0 0 auto; color:var(--purple); font-size:.82rem; }
.estate-picker-card .price { align-items:center; margin-top:.25rem; padding:.88rem 0; font-size:.8rem; }
.estate-picker-card .price > span { color:var(--purple); font-size:1.18rem; font-weight:800; }
.estate-picker-card .price a { display:inline-flex; align-items:center; gap:.38rem; padding:.5rem .7rem; border-radius:999px; background:var(--purple-pale); color:var(--purple); font-size:.76rem; font-weight:800; }
.estate-picker-card .price a:hover { background:var(--purple); color:#fff; }
.estate-picker-card .price a { position:relative; z-index:1; }
.estate-detail-section { scroll-margin-top:78px; background:#fff; }
.estate-detail-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr); gap:1.5rem; align-items:start; }
.estate-offers-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.estate-offer-card { min-height:0; border-radius:14px; box-shadow:0 4px 14px rgba(59,36,54,.05); }
.estate-offer-card img { height:155px; }
.estate-offer-card .offer-summary { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1rem; }
.estate-offer-card .offer-price { color:var(--purple); font-size:1.2rem; font-weight:800; }
.estate-offer-card .offer-size { margin:.16rem 0; color:var(--ink); font-size:.82rem; font-weight:800; }
.estate-offer-card .offer-description { margin:0; color:var(--muted); font-size:.72rem; line-height:1.45; }
.estate-offer-card .offer-actions { display:flex; flex-direction:column; gap:.45rem; min-width:105px; }
.estate-offer-card .offer-actions .button,.estate-offer-card .offer-actions .button-secondary { min-height:35px; padding:.45rem .7rem; font-size:.62rem; }
.estate-offer-card .offer-actions .button-secondary { border-color:var(--purple); color:var(--purple); }
.estate-offer-card .offer-actions .whatsapp-button { gap:.38rem; background:#25d366; color:#fff; }
.estate-offer-card .offer-actions .whatsapp-button:hover { background:#1eae56; }
.estate-offer-card .offer-actions .whatsapp-button i { font-size:1rem; }
.estate-detail-panel { position:sticky; top:90px; padding:1.5rem; border:1px solid var(--line); border-radius:14px; background:var(--greenish); }
.estate-detail-panel h3 { margin:.35rem 0 .65rem; color:var(--purple); font-size:1.55rem; }
.estate-detail-panel > div > p { color:var(--muted); font-size:.82rem; }
.estate-feature-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; margin:1.15rem 0 0; padding:0; list-style:none; }
.estate-feature-list li { display:flex; align-items:center; gap:.5rem; min-width:0; color:var(--ink); font-size:.73rem; font-weight:700; line-height:1.35; }
.estate-feature-icon { display:grid; flex:0 0 auto; place-items:center; width:29px; height:29px; border-radius:50%; background:var(--gold-pale); color:var(--purple); }
.estate-feature-icon i { font-size:.78rem; }
.property-faq-section { background:var(--purple-pale); }
.property-faq-heading { margin-bottom:2rem; }
.property-faq-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:.8rem 1rem; }
.property-faq-item { overflow:hidden; border:1px solid var(--line); border-radius:12px; background:#fff; transition:border-color .2s ease,box-shadow .2s ease; }
.property-faq-item[open] { border-color:rgba(159,42,120,.34); box-shadow:0 9px 22px rgba(72,24,57,.08); }
.property-faq-item summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.05rem 1.15rem; color:var(--purple-dark); font-size:.92rem; font-weight:800; line-height:1.4; cursor:pointer; list-style:none; }
.property-faq-item summary::-webkit-details-marker { display:none; }
.property-faq-item summary i { display:grid; flex:0 0 auto; width:24px; height:24px; place-items:center; border-radius:50%; background:var(--gold-pale); color:var(--purple); font-size:.72rem; transition:transform .2s ease,background .2s ease; }
.property-faq-item[open] summary i { background:var(--purple); color:#fff; transform:rotate(45deg); }
.property-faq-item p { margin:0; padding:0 1.15rem 1.15rem; color:var(--muted); font-size:.86rem; line-height:1.6; }
.contact-card address { margin:1.3rem 0; color:var(--muted); font-size:var(--text-sm); font-style:normal; line-height:1.6; }
.contact-card address strong,.contact-card p strong { color:var(--purple); }
.contact-card p a { color:var(--purple); font-weight:800; }

@media (max-width:820px){.container{width:min(100% - 2rem,1120px)}.home-page .site-header{position:sticky;background:var(--purple-dark)}.home-page .site-header .container{width:min(100% - 2rem,1120px)}.nav-actions{display:none}.site-nav{display:none;position:absolute;top:68px;right:1rem;width:210px;padding:1rem;flex-direction:column;align-items:flex-start;background:var(--purple-dark)}.site-nav.open{display:flex}.menu-toggle{display:block;margin-left:auto}.hero-layout,.contact-layout,.hero-panel,.property-detail{grid-template-columns:1fr}.home-hero .hero-layout{display:grid;min-height:auto}.home-hero .hero-copy{width:100%;min-height:auto;padding:3.5rem 0 2rem}.home-hero .hero-image{position:relative;width:100%;height:310px;min-height:310px;background-position:center bottom;background-size:contain;clip-path:none}.hero-copy{padding:3rem 0 2rem}.hero-image{min-height:310px;background-position:center bottom}.service-grid,.listing-grid{grid-template-columns:repeat(2,1fr)}.lifestyle-grid{grid-template-columns:1fr 1fr}.lifestyle-card.tall{grid-row:span 2}.finder-form{grid-template-columns:1fr}.finder-form label{border-bottom:1px solid var(--line);border-right:0}.finder-form .button{min-height:44px}.section-heading,.section-title{align-items:flex-start;flex-direction:column;gap:.8rem}.footer-grid{grid-template-columns:1fr;text-align:center}.site-footer>.footer-grid>div{justify-content:center}.site-footer p{justify-self:center}.footer-details{grid-template-columns:repeat(2,1fr);text-align:left}.footer-credit-row{justify-content:center}.three-up,.two-column{grid-template-columns:1fr}.property-meta{grid-template-columns:1fr}.hero-panel-visual{min-height:230px}.hero-visual-card{margin-top:130px}}
@media (max-width:540px){.service-grid,.listing-grid,.lifestyle-grid,.footer-details{grid-template-columns:1fr}.lifestyle-card.tall{grid-row:auto}.home-hero h1{font-size:2.25rem}.listing-card img{height:180px}.hero-image{min-height:230px}.contact-banner{padding:3rem 0}.contact-layout{gap:2rem}.section{padding:3rem 0}}
@media (max-width:820px){.properties-hero{min-height:0;padding:4.25rem 0 3.5rem}.properties-hero-layout{grid-template-columns:1fr;gap:1.6rem}.properties-hero .hero-copy h1{font-size:clamp(2.35rem,10vw,3.3rem)}.properties-hero-visual{min-height:300px}.hero-estate-card-main{width:285px;height:280px}.hero-estate-card-top{width:170px;height:125px}.properties-hero-ring{top:20px;right:20px;width:225px;height:225px;border-width:20px}}
@media (max-width:540px){.properties-hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1.6rem}.properties-hero-stats span{padding:.15rem 0;border:0}.properties-hero-stats span:last-child{grid-column:1/-1}.properties-hero-visual{min-height:245px}.hero-estate-card-main{width:220px;height:225px}.hero-estate-card-top{width:132px;height:100px}.properties-hero-ring{width:180px;height:180px;border-width:15px}.hero-actions{align-items:stretch}.hero-actions a{width:100%}}
@media (max-width:1040px){.estate-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.estate-detail-layout{grid-template-columns:1fr}.estate-detail-panel{position:relative;top:auto}.estate-offers-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:820px){.estate-picker-grid,.estate-offers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.estate-picker-card img{height:155px}}
@media (max-width:540px){.estate-picker-grid,.estate-offers-grid,.estate-feature-list{grid-template-columns:1fr}.estate-picker-card img{height:175px}.estate-picker-card h3,.estate-picker-card>p{min-height:0}.estate-offer-card img{height:190px}}
@media (max-width:1040px){.estate-picker-card{flex-basis:calc((100vw - 3rem) / 2)}}
@media (max-width:820px){.estate-picker-card{flex-basis:calc((100vw - 3rem) / 2)}.estate-carousel-prev{left:-10px}.estate-carousel-next{right:-10px}}
@media (max-width:540px){.estate-picker-card{flex-basis:calc(100vw - 2rem)}.estate-carousel-control{width:32px;height:32px}.estate-carousel-prev{left:6px}.estate-carousel-next{right:6px}}
@media (max-width:820px){.footer-credit-row{flex-direction:column;gap:.45rem;text-align:center}.footer-credit-row p{justify-self:auto}}

/* About page: Setmarp story, values and client journey. */
.about-page { background:#fbf8fa; }
.about-hero { position:relative; overflow:hidden; padding:7rem 0 5.5rem; color:#fff; background:linear-gradient(116deg,#461437 0%,#6b1f54 56%,#9d2b78 100%); }
.about-hero .eyebrow,.about-portfolio-section .eyebrow,.about-cta .eyebrow { color:var(--gold-pale); }
.about-hero::before { content:''; position:absolute; inset:0 auto 0 0; width:43%; opacity:.24; background:url('../assets/pattern.svg') left center/480px no-repeat; }
.about-hero::after { content:''; position:absolute; right:-120px; bottom:-200px; width:480px; height:480px; border:2px solid rgba(247,237,207,.45); border-radius:50%; }
.about-journey-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,.88fr); gap:5rem; align-items:center; }
.about-journey-copy h1 { max-width:650px; margin-bottom:1rem; color:#fff; font-size:clamp(2.8rem,4.6vw,4.4rem); }
.about-journey-copy > p:not(.eyebrow) { max-width:610px; margin-bottom:2rem; color:rgba(255,255,255,.85); font-size:1.06rem; }
.about-stat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.8rem; }
.about-stat-grid article { min-height:116px; padding:1rem; border:1px solid rgba(255,255,255,.2); border-radius:12px; background:rgba(46,12,36,.19); }
.about-stat-grid strong { display:block; color:var(--gold-pale); font-size:1.45rem; line-height:1.1; }
.about-stat-grid span { display:block; margin-top:.5rem; color:rgba(255,255,255,.77); font-size:.74rem; font-weight:700; line-height:1.35; }
.about-hero-visual { position:relative; min-height:390px; overflow:hidden; border:1px solid rgba(255,255,255,.19); border-radius:22px; background:#5c1b49; box-shadow:0 24px 46px rgba(35,8,28,.24); }
.about-hero-visual > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.about-hero-visual::before { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 38%,rgba(50,14,40,.83)); }
.about-hero-building { position:absolute; top:24px; right:24px; width:130px; height:130px; border:1px solid rgba(247,237,207,.68); border-radius:50%; }
.about-hero-caption { position:absolute; right:1.35rem; bottom:1.35rem; left:1.35rem; display:flex; align-items:center; gap:.65rem; color:#fff; font-size:.9rem; font-weight:800; }
.about-hero-caption i { display:grid; width:38px; height:38px; place-items:center; border-radius:50%; background:var(--gold); color:var(--purple-dark); }
.about-purpose-section { background:#fff; }
.about-purpose-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1fr); gap:5rem; align-items:center; }
.about-purpose-image { position:relative; min-height:400px; margin:0; overflow:hidden; border-radius:20px; background:var(--purple-dark); }
.about-purpose-image::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(60,16,47,.8)); }
.about-purpose-image img { width:100%; height:400px; object-fit:cover; }
.about-purpose-image figcaption { position:absolute; z-index:1; right:1.5rem; bottom:1.35rem; left:1.5rem; color:#fff; font-size:1.05rem; font-weight:800; line-height:1.35; }
.about-purpose-copy h2 { max-width:550px; margin-bottom:1rem; color:var(--purple); font-size:clamp(2rem,3.4vw,3.3rem); }
.about-purpose-copy > p:not(.eyebrow) { max-width:590px; color:var(--muted); font-size:1rem; }
.about-purpose-copy .text-link { display:inline-flex; margin-top:.75rem; color:var(--purple); font-weight:800; }
.about-split-heading { display:flex; align-items:end; justify-content:space-between; gap:3rem; margin-bottom:2.2rem; }
.about-split-heading h2,.about-process-section h2,.about-team-section h2,.about-clients-section h2 { max-width:650px; color:var(--purple); font-size:clamp(2rem,3.2vw,3rem); }
.about-split-heading > p { max-width:410px; margin:0; color:var(--muted); font-size:1.04rem; }
.about-values-section { background:#fff; }
.about-values-grid { display:grid; grid-template-columns:repeat(2,1fr); overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:var(--shadow); }
.about-values-grid article { position:relative; min-height:205px; padding:1.75rem 1.8rem; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.about-values-grid article:nth-child(2n) { border-right:0; }
.about-values-grid article:nth-last-child(-n+2) { border-bottom:0; }
.about-icon { display:grid; width:45px; height:45px; place-items:center; margin-bottom:1rem; border-radius:50%; background:var(--gold-pale); color:var(--purple); font-size:1rem; }
.about-values-grid h3 { margin-bottom:.45rem; color:var(--purple); font-size:1.25rem; }
.about-values-grid p,.about-achievement-grid p,.about-process-grid p,.about-team-grid p,.about-client-grid p { margin:0; color:var(--muted); font-size:.88rem; line-height:1.6; }
.about-achievements-section { background:var(--purple-pale); }
.about-title-tight { margin-bottom:2.2rem; }
.about-achievement-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.about-achievement-grid article { min-height:220px; padding:1.6rem; border:1px solid rgba(159,42,120,.16); border-radius:14px; background:#fff; }
.about-achievement-grid > article > i { color:var(--gold); font-size:1.35rem; }
.about-achievement-grid h3 { margin:1.1rem 0 .55rem; color:var(--purple); font-size:1.3rem; }
.about-pillars-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.about-pillars-grid article { overflow:hidden; border:1px solid rgba(159,42,120,.16); border-radius:16px; background:#fff; box-shadow:0 8px 18px rgba(72,24,57,.06); }
.about-pillars-grid article > img { width:100%; height:150px; object-fit:cover; }
.about-pillars-grid article > div { padding:1.15rem; }
.about-pillars-grid .about-icon { width:38px; height:38px; margin-bottom:.8rem; font-size:.82rem; }
.about-pillars-grid h3 { margin:0 0 .4rem; color:var(--purple); font-size:1.18rem; }
.about-pillars-grid p { margin:0; color:var(--muted); font-size:.8rem; line-height:1.55; }
.about-process-section { background:#fff; }
.about-section-intro { max-width:650px; margin-bottom:2rem; color:var(--muted); font-size:1rem; }
.about-process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.about-process-grid article { min-height:195px; padding:1.35rem; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:0 7px 18px rgba(72,24,57,.05); }
.about-process-grid span { display:inline-flex; padding:.32rem .58rem; border-radius:999px; background:var(--purple-pale); color:var(--purple); font-size:.72rem; font-weight:800; letter-spacing:.08em; }
.about-process-grid h3 { margin:1.1rem 0 .55rem; color:var(--purple); font-size:1.12rem; }
.about-team-section { background:linear-gradient(180deg,#fbf8fa,#f4edf2); }
.about-team-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.about-team-grid article { padding:1.5rem 1.2rem; border:1px solid var(--line); border-radius:14px; background:#fff; text-align:center; }
.team-monogram { display:grid; width:86px; height:86px; place-items:center; margin:0 auto 1rem; border:3px solid var(--gold-pale); border-radius:50%; background:linear-gradient(145deg,var(--purple),var(--purple-dark)); color:#fff; font-family:var(--serif); font-size:1.5rem; font-weight:700; }
.about-team-grid h3 { margin-bottom:.45rem; color:var(--purple); font-size:1.1rem; }
.about-clients-section { background:#fff; }
.about-client-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem; }
.about-client-grid article { min-height:220px; padding:1.65rem; border:1px solid var(--line); border-radius:14px; background:linear-gradient(145deg,#fff,#fbf4f8); }
.client-year { color:var(--purple); font-size:.76rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.about-client-grid h3 { max-width:380px; margin:1.1rem 0 .6rem; color:var(--purple); font-size:1.45rem; }
.about-portfolio-section { overflow:hidden; background:linear-gradient(110deg,#4b173d,#7d245f); color:#fff; }
.about-portfolio-grid { display:grid; grid-template-columns:minmax(0,.95fr) minmax(420px,.9fr); gap:4rem; align-items:center; }
.about-portfolio-copy h2 { max-width:600px; margin-bottom:1rem; color:#fff; font-size:clamp(2rem,3.4vw,3.3rem); }
.about-portfolio-copy > p:not(.eyebrow) { color:rgba(255,255,255,.82); }
.about-portfolio-copy ul { display:grid; gap:.7rem; margin:1.5rem 0 0; padding:0; list-style:none; }
.about-portfolio-copy li { display:flex; align-items:center; gap:.6rem; color:rgba(255,255,255,.92); font-size:.92rem; font-weight:700; }
.about-portfolio-copy li i { color:var(--gold-pale); }
.about-portfolio-images { position:relative; min-height:390px; }
.about-portfolio-images img { position:absolute; border:5px solid rgba(255,255,255,.88); border-radius:17px; box-shadow:0 18px 36px rgba(29,7,24,.3); object-fit:cover; }
.about-portfolio-main { top:0; right:0; width:78%; height:350px; }
.about-portfolio-small { bottom:0; left:0; width:48%; height:205px; }
.about-cta { padding:4.5rem 0; color:var(--purple-dark); background:linear-gradient(115deg,#bd913b,#e2c36e); }
.about-cta .container { display:flex; align-items:center; justify-content:space-between; gap:3rem; }
.about-cta .eyebrow { color:var(--purple-dark); }
.about-cta h2 { margin-bottom:.75rem; color:var(--purple-dark); font-size:clamp(2rem,3.6vw,3.2rem); }
.about-cta p:not(.eyebrow) { max-width:650px; margin:0; color:rgba(58,16,45,.86); }
.about-cta .button { flex:0 0 auto; background:var(--purple-dark); color:#fff; }
.about-cta .button:hover { background:var(--purple); }
@media (max-width:1050px){.about-pillars-grid{grid-template-columns:repeat(2,1fr)}.about-portfolio-grid{grid-template-columns:1fr;gap:2.5rem}.about-portfolio-images{max-width:650px;width:100%;margin:0 auto}}
@media (max-width:900px){.about-journey-grid,.about-purpose-grid{grid-template-columns:1fr;gap:2.5rem}.about-hero-visual{min-height:330px}.about-purpose-image,.about-purpose-image img{min-height:330px;height:330px}.about-team-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:700px){.about-hero{padding:5rem 0 3.5rem}.about-stat-grid,.about-achievement-grid,.about-process-grid,.about-pillars-grid{grid-template-columns:1fr}.about-split-heading,.about-cta .container{align-items:flex-start;flex-direction:column;gap:1.25rem}.about-values-grid{grid-template-columns:1fr}.about-values-grid article,.about-values-grid article:nth-child(2n),.about-values-grid article:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--line)}.about-values-grid article:last-child{border-bottom:0}.about-client-grid{grid-template-columns:1fr}.about-cta .button{width:100%}.about-portfolio-images{min-height:310px}.about-portfolio-main{width:82%;height:280px}.about-portfolio-small{width:48%;height:160px}}
@media (max-width:460px){.about-team-grid{grid-template-columns:1fr}.about-hero-visual{min-height:260px}.about-stat-grid{gap:.55rem}.about-stat-grid article{min-height:100px;padding:.75rem}.about-stat-grid strong{font-size:1.15rem}.about-stat-grid span{font-size:.66rem}}
@media (max-width:820px){.site-footer .footer-grid{flex-direction:column;text-align:center}.site-footer .footer-grid nav,.site-footer .footer-grid nav .menu{justify-content:center;flex-wrap:wrap;margin:0}.site-footer .footer-grid--reverse .brand{margin-left:0}.site-footer .footer-social-list{justify-content:center}}
@media (max-width:700px){.property-faq-grid{grid-template-columns:1fr}.property-faq-heading{margin-bottom:1.4rem}}

@media (max-width:820px){
	.about-page .site-header .nav-link,.contact-page .site-header .nav-link { display:none; }
	.about-page,.contact-page { overflow-x:hidden; }
	.whatsapp-chat-widget { right:1rem; left:1rem; align-items:flex-end; }
	.whatsapp-chat-widget .whatsapp-widget-panel { width:min(360px,100%); }
	.home-hero .hero-layout { min-height:680px; }
	.home-hero .hero-copy { justify-content:flex-start; padding:3rem 1rem 1.5rem; }
	.home-hero .hero-copy h1 { font-size:clamp(2.2rem,9vw,3rem); }
	.home-hero .hero-copy > p:not(.eyebrow) { font-size:.95rem; }
	.home-hero .hero-image { position:absolute; right:-8%; bottom:0; width:86%; height:340px; min-height:0; background-position:right bottom; }
	.site-footer .footer-social-list { justify-content:start; }
}

/* Contact page: direct ways to reach Setmarp, enquiry form and office cards. */
.contact-page { background:#fbf8fa; }
.contact-page-hero { position:relative; overflow:hidden; padding:7rem 0 5rem; color:#fff; background:linear-gradient(115deg,#431432,#792459 58%,#9f2a78); }
.contact-page-hero::before { content:''; position:absolute; top:-140px; right:-85px; width:500px; height:500px; border:1px solid rgba(247,237,207,.4); border-radius:50%; box-shadow:0 0 0 54px rgba(247,237,207,.05),0 0 0 108px rgba(247,237,207,.04); }
.contact-page-hero .container { position:relative; z-index:1; }
.contact-page-hero .eyebrow,.contact-closing-cta .eyebrow { color:var(--gold-pale); }
.contact-page-hero h1 { max-width:860px; margin-bottom:1rem; color:#fff; font-size:clamp(2.7rem,5.1vw,4.7rem); }
.contact-page-hero p:not(.eyebrow) { max-width:710px; margin:0; color:rgba(255,255,255,.84); font-size:1.04rem; }
.contact-methods-section { position:relative; z-index:2; margin-top:-2.4rem; }
.contact-methods-grid { display:grid; grid-template-columns:1fr 1fr 1fr 1.15fr; gap:.9rem; }
.contact-method-card { position:relative; display:flex; min-height:158px; flex-direction:column; align-items:flex-start; padding:1.15rem; border:1px solid rgba(159,42,120,.14); border-radius:14px; background:#fff; box-shadow:0 10px 25px rgba(67,20,51,.1); transition:transform .2s ease,box-shadow .2s ease; }
.contact-method-card:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
.contact-method-card > span { display:grid; width:40px; height:40px; place-items:center; margin-bottom:1rem; border-radius:50%; background:var(--gold-pale); color:var(--purple); }
.contact-method-card strong { color:var(--purple-dark); font-size:.92rem; }
.contact-method-card small { display:block; margin-top:.35rem; color:var(--muted); font-size:.77rem; font-weight:700; line-height:1.45; }
.contact-card-arrow { position:absolute; top:1.15rem; right:1.15rem; color:var(--purple); font-size:.76rem; }
.contact-social-card > div { display:flex; gap:.6rem; margin-top:.65rem; }
.contact-social-card > div a { display:grid; width:28px; height:28px; place-items:center; border-radius:50%; background:var(--purple-pale); color:var(--purple); font-size:.72rem; }
.contact-social-card > div a:hover { background:var(--purple); color:#fff; }
.contact-enquiry-section { background:#fff; }
.contact-section-heading { max-width:760px; margin-bottom:2rem; }
.contact-section-heading h2 { margin-bottom:.65rem; color:var(--purple); font-size:clamp(2rem,3.6vw,3.1rem); }
.contact-section-heading p:not(.eyebrow) { margin:0; color:var(--muted); }
.setmarp-enquiry-form { padding:1.65rem; border:1px solid var(--line); border-radius:18px; background:linear-gradient(145deg,#fff,#fcf7fa); box-shadow:0 12px 30px rgba(67,20,51,.06); }
.contact-form-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.setmarp-enquiry-form label { display:grid; gap:.45rem; color:var(--purple-dark); font-size:.77rem; font-weight:800; }
.setmarp-enquiry-form input,.setmarp-enquiry-form select,.setmarp-enquiry-form textarea { width:100%; padding:.86rem .9rem; border:1px solid #e8e0e5; border-radius:8px; background:#fff; color:var(--ink); font:inherit; font-size:.85rem; outline-color:var(--purple); }
.setmarp-enquiry-form textarea { min-height:155px; resize:vertical; }
.contact-form-message { margin-top:1rem; }
.contact-form-submit { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; margin-top:1rem; }
.contact-form-submit p { display:flex; align-items:flex-start; gap:.5rem; max-width:560px; margin:0; color:var(--muted); font-size:.76rem; line-height:1.5; }
.contact-form-submit p i { margin-top:.15rem; color:var(--gold); }
.contact-offices-section { background:var(--purple-pale); }
.contact-offices-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.2rem; }
.office-card { min-height:310px; padding:1.65rem; border:1px solid rgba(159,42,120,.16); border-radius:16px; background:#fff; }
.office-label { margin-bottom:.7rem; color:var(--purple); font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.office-card h3 { margin-bottom:.85rem; color:var(--purple-dark); font-size:1.5rem; }
.office-card address { min-height:76px; margin:0 0 1rem; color:var(--muted); font-size:.88rem; font-style:normal; line-height:1.6; }
.office-card-meta { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.2rem; }
.office-card-meta span { display:inline-flex; align-items:center; gap:.35rem; padding:.4rem .55rem; border-radius:999px; background:var(--purple-pale); color:var(--purple); font-size:.68rem; font-weight:800; }
.office-card .button { width:100%; min-height:42px; }
.contact-closing-cta { padding:4.3rem 0; color:var(--purple-dark); background:linear-gradient(105deg,#b6852e,#d7ad53); }
.contact-closing-cta .container { display:flex; align-items:center; justify-content:space-between; gap:3rem; }
.contact-closing-cta .button-light { background:#fff; color:var(--purple-dark); }
.contact-closing-cta .button-light:hover { background:var(--purple-dark); color:#fff; }
.contact-closing-cta .eyebrow { color:var(--purple-dark); }
.contact-closing-cta h2 { margin-bottom:.65rem; color:var(--purple-dark); font-size:clamp(2rem,3.7vw,3.3rem); }
.contact-closing-cta p:not(.eyebrow) { max-width:640px; margin:0; color:rgba(66,19,52,.86); }
@media (max-width:980px){.contact-methods-grid{grid-template-columns:repeat(2,1fr)}.contact-form-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:700px){.contact-page-hero{padding:5.5rem 0 4rem}.contact-methods-section{margin-top:-1.5rem}.contact-methods-grid,.contact-offices-grid,.contact-form-grid{grid-template-columns:1fr}.contact-method-card{min-height:132px}.contact-form-submit,.contact-closing-cta .container{align-items:stretch;flex-direction:column}.contact-form-submit .button,.contact-closing-cta .button{width:100%}.setmarp-enquiry-form{padding:1rem}.office-card{min-height:0}.contact-page-hero h1{font-size:2.45rem}}
