@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');
:root{--ink:#10251c;--muted:#66736d;--cream:#f7f7f3;--line:#e1e6e1;--accent:#9c7441;--white:#fff;--shadow:0 18px 45px rgba(16,37,28,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--cream)}a{text-decoration:none;color:inherit}.navbar{height:76px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.brand{font-weight:700;display:flex;align-items:center;gap:10px}.logo{width:42px;height:42px;border-radius:9px;object-fit:contain}.logo-placeholder{width:38px;height:38px;border-radius:9px;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:700}.navbar nav{display:flex;gap:28px;align-items:center;font-size:14px}.navbar nav a:hover{color:var(--accent)}.nav-admin{border:1px solid var(--line);padding:9px 15px;border-radius:8px}
.hero{min-height:72vh;background-position:center;background-size:cover;position:relative;display:flex;align-items:center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,23,16,.78),rgba(8,23,16,.18))}.hero-content{position:relative;color:#fff;max-width:720px;margin-left:8%;padding:80px 20px}.hero h1{font:700 clamp(42px,6vw,78px)/1.02 "Playfair Display",serif;margin:14px 0}.hero h1 em{color:#e8c997;font-style:normal}.hero p:not(.eyebrow){font-size:18px;line-height:1.7;max-width:600px}.eyebrow{font-size:12px;letter-spacing:2.5px;font-weight:700;color:var(--accent);margin:0 0 8px}.hero .eyebrow{color:#e8c997}.btn{border:0;display:inline-flex;justify-content:center;align-items:center;padding:13px 20px;border-radius:8px;font-weight:700;cursor:pointer;font-family:inherit}.btn-primary{background:var(--ink);color:#fff}.hero .btn-primary{background:#e8c997;color:#17231c;margin-top:18px}.btn-outline{border:1px solid var(--line);margin-top:18px;width:100%}.stats{background:#fff;display:grid;grid-template-columns:repeat(3,1fr);padding:28px 8%;gap:30px}.stats div{text-align:center}.stats strong,.stats span{display:block}.stats span{font-size:13px;color:var(--muted);margin-top:4px}.section{padding:90px 8%}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:38px}.section-heading h2,.about h2,.contact h2{font:700 45px/1.1 "Playfair Display",serif;margin:0}.section-heading>p{max-width:430px;color:var(--muted);line-height:1.7}.property-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.property-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);transition:.35s}.property-card:hover{transform:translateY(-6px)}.property-image{height:250px;position:relative}.property-image img{width:100%;height:100%;object-fit:cover}.badge,.status-badge{position:absolute;top:14px;padding:7px 10px;border-radius:6px;font-size:11px;font-weight:700;background:#fff}.badge{left:14px}.status-badge{right:14px;background:#e8f1ea;color:#205a34}.property-body{padding:22px}.property-body h3{font:600 25px "Playfair Display",serif;margin:7px 0}.location{font-size:13px;color:var(--muted)}.price,.detail-price{font-weight:700;font-size:23px;margin:15px 0}.price small,.detail-price small{font-size:12px;color:var(--muted)}.features{display:flex;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:12px}.features span{background:#f4f6f3;padding:7px 9px;border-radius:6px}.about{background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:70px}.about h2{font-size:50px}.about p:last-child{font-size:18px;line-height:1.8;color:#cbd5cf}.contact{text-align:center;background:#eee9df}.contact p:not(.eyebrow){color:var(--muted);margin:15px auto 25px;max-width:600px}footer{padding:28px 8%;display:flex;justify-content:space-between;color:var(--muted);font-size:12px;background:#fff;border-top:1px solid var(--line)}
.detail-page{padding:55px 8%}.back-link{color:var(--muted);font-size:13px}.detail-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:55px;margin-top:25px}.detail-image{height:600px;border-radius:14px;overflow:hidden}.detail-image img{width:100%;height:100%;object-fit:cover}.detail-content h1{font:700 52px/1.1 "Playfair Display",serif;margin:10px 0}.detail-price{font-size:30px}.features.large{margin:25px 0}.description{line-height:1.8;color:var(--muted)}.request-form{background:#fff;padding:26px;border:1px solid var(--line);border-radius:12px;margin-top:28px}.request-form h2{font:600 26px "Playfair Display",serif;margin:0 0 6px}.request-form>p{color:var(--muted);font-size:13px}.request-form label,.admin-form label{display:block;font-size:12px;font-weight:700;margin-top:15px}.request-form label span{font-weight:400;color:var(--muted)}input,textarea,select{display:block;width:100%;margin-top:7px;border:1px solid #d9ded9;border-radius:7px;padding:12px;font:inherit;background:#fff}.request-form .btn{width:100%;margin-top:18px}.alert{padding:13px 15px;border-radius:7px;font-size:13px;margin:15px 0}.success{background:#e6f3e9;color:#245d35}.error{background:#f8e8e6;color:#8a2d22}.info{background:#edf1f2;color:#34484d}.flash-container{position:fixed;right:20px;top:90px;z-index:200;max-width:380px}.reveal{opacity:0;transform:translateY(25px);transition:.7s}.reveal.visible{opacity:1;transform:none}
.admin-body{min-height:70vh;display:grid;place-items:center;padding:50px 5%}.login-card{width:min(460px,100%);background:#fff;padding:38px;border-radius:15px;box-shadow:var(--shadow)}.login-card h1,.dash-head h1{font:700 38px "Playfair Display",serif}.login-note{font-size:11px;color:#999}.dashboard{padding:55px 6%}.dash-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:40px}.dash-head h1{font-size:48px;margin:0}.dash-stats{display:flex;gap:10px}.dash-stats div{background:#fff;border:1px solid var(--line);padding:16px 22px;border-radius:10px;min-width:110px}.dash-stats strong{display:block;font-size:25px}.dash-stats span{font-size:11px;color:var(--muted)}.admin-section{margin:35px 0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px}.admin-section h2{font:600 32px "Playfair Display",serif}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px}th,td{text-align:left;padding:14px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:11px;color:var(--muted)}.small-btn{display:inline-block;border:1px solid var(--line);padding:6px 9px;border-radius:5px;margin-bottom:4px;background:#fff}.small-btn.danger{color:#a02e2e}.request-status{display:inline-block;padding:5px 8px;border-radius:5px;font-size:10px;font-weight:700;background:#eef0ee}.request-status.pending{background:#fff1d8;color:#7a5b16}.request-status.accepted{background:#e6f3e9;color:#245d35}.request-status.declined{background:#f8e8e6;color:#8a2d22}.request-status.contacted{background:#e7eff7;color:#315b7c}.admin-form{max-width:900px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.form-grid .full{grid-column:1/-1}.check{display:flex!important;align-items:center;gap:8px}.check input{width:auto;margin:0}.property-table{margin-top:30px}
@media(max-width:900px){.property-grid{grid-template-columns:repeat(2,1fr)}.detail-layout{grid-template-columns:1fr}.detail-image{height:420px}.about{grid-template-columns:1fr;gap:20px}.section-heading,.dash-head{align-items:start;flex-direction:column}.navbar nav{gap:12px}.navbar nav a:nth-child(2),.navbar nav a:nth-child(3){display:none}}@media(max-width:600px){.navbar{padding:0 4%;height:68px}.hero{min-height:75vh}.hero-content{margin-left:2%;padding:50px 20px}.stats{grid-template-columns:1fr;padding:22px 8%}.section,.detail-page,.dashboard{padding:55px 5%}.property-grid{grid-template-columns:1fr}.section-heading h2,.about h2,.contact h2{font-size:37px}.detail-content h1{font-size:40px}.detail-image{height:300px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.dash-stats{width:100%;flex-wrap:wrap}.dash-stats div{flex:1}.admin-section{padding:18px}footer{flex-direction:column;gap:8px}}

/* Property image slideshow */
.property-slideshow{position:relative;background:#e9ece8}
.property-slideshow .slide{display:none;width:100%;height:100%;object-fit:cover}
.property-slideshow .slide.active{display:block}
.slide-control{position:absolute;top:50%;transform:translateY(-50%);border:0;border-radius:50%;width:42px;height:42px;background:rgba(255,255,255,.92);font-size:30px;line-height:1;cursor:pointer;box-shadow:0 3px 12px #0002}
.slide-control.prev{left:14px}.slide-control.next{right:14px}
.slide-count{position:absolute;bottom:14px;right:14px;background:#10251cce;color:#fff;padding:6px 10px;border-radius:5px;font-size:12px}
.requirements-note{background:#f7f7f3;border-left:3px solid var(--accent);padding:12px 15px;margin:18px 0;font-size:13px;line-height:1.6}
.requirements-note p{white-space:pre-line;margin:6px 0 0}
