@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--ink:#20211f;--stone:#706e67;--line:#e5e0d7;--paper:#faf9f6;--sand:#f0ece4;--accent:#a66e3a;--accent-dark:#7f4f26;--white:#fff;--radius:18px;--shadow:0 18px 50px rgba(31,30,26,.1)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 'DM Sans',sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:1rem;top:1rem;z-index:20;background:#fff;padding:.6rem}.container{max-width:1240px;margin:auto;padding:0 28px}.eyebrow{font-size:.73rem;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);font-weight:700}.topbar{position:sticky;top:0;z-index:10;background:rgba(250,249,246,.93);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font:600 24px 'Playfair Display';letter-spacing:-.03em;text-decoration:none;color:var(--ink)}.brand span{color:var(--accent)}.nav-links{display:flex;gap:24px}.nav-links a{color:var(--stone);text-decoration:none;font-size:.92rem}.nav-links a:hover,.nav-links a:focus{color:var(--ink)}.button{border:1px solid transparent;background:var(--ink);color:#fff;padding:12px 18px;border-radius:8px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.2s}.button:hover{background:var(--accent-dark);transform:translateY(-1px)}.button.outline{background:transparent;color:var(--ink);border-color:var(--line)}.button.gold{background:var(--accent)}.hero{padding:44px 0 88px}.hero-grid{min-height:570px;display:grid;grid-template-columns:1fr 1.06fr;background:var(--sand);border-radius:var(--radius);overflow:hidden}.hero-copy{padding:76px 8% 40px;display:flex;flex-direction:column;justify-content:center}.hero h1{font:600 clamp(3rem,5.5vw,5.5rem)/.98 'Playfair Display';letter-spacing:-.05em;margin:14px 0 20px}.hero-copy p{color:var(--stone);max-width:470px;font-size:1.08rem}.hero-image{min-height:330px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.1)),url('https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=1600&q=90') center/cover}.search-panel{margin-top:32px;background:#fff;padding:10px;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:6px}.field{border-right:1px solid var(--line);padding:6px 13px}.field label{display:block;font-size:.69rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--stone)}.field select,.field input{width:100%;border:0;background:transparent;color:var(--ink);outline:0;padding:2px 0}.section{padding:88px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.section h2{font:600 clamp(2rem,3.2vw,3.1rem)/1.1 'Playfair Display';margin:8px 0 0;letter-spacing:-.04em}.text-link{color:var(--accent-dark);font-weight:700;text-decoration:none}.property-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:.25s}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.card-image{display:block;aspect-ratio:1.35;position:relative;background-size:cover;background-position:center}.badge{position:absolute;top:14px;left:14px;background:#fff;padding:5px 9px;border-radius:4px;font-size:.7rem;font-weight:700}.card-body{padding:18px}.card-type{font-size:.75rem;color:var(--stone);text-transform:uppercase;letter-spacing:.09em}.price{font-size:1.25rem;font-weight:700;margin:7px 0}.card h3{font:600 1.15rem 'Playfair Display';margin:0}.location{color:var(--stone);margin:6px 0 14px;font-size:.9rem}.facts{display:flex;gap:13px;color:var(--stone);font-size:.8rem;border-top:1px solid var(--line);padding-top:13px}.locations{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.location-tile{min-height:220px;border-radius:12px;overflow:hidden;position:relative;color:#fff;text-decoration:none;background:linear-gradient(0deg,rgba(0,0,0,.7),transparent),var(--img) center/cover}.location-tile span{position:absolute;bottom:19px;left:19px;font:600 1.4rem 'Playfair Display'}.trust{background:var(--ink);color:#fff}.trust .eyebrow{color:#d6ad80}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}.trust h3{font:600 1.08rem 'Playfair Display';margin:12px 0 4px}.trust p{color:#c9c5bd;margin:0;font-size:.9rem}.cta{background:var(--sand);border-radius:var(--radius);padding:66px;text-align:center}.cta p{color:var(--stone);max-width:500px;margin:15px auto 24px}.footer{padding:54px 0 28px;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:24px}.footer a{display:block;color:var(--stone);text-decoration:none;margin:6px 0;font-size:.9rem}.footer h4{margin:0 0 9px}.fine{margin-top:45px;padding-top:18px;border-top:1px solid var(--line);font-size:.8rem;color:var(--stone)}.listing-head{padding:56px 0 26px}.listing-layout{display:grid;grid-template-columns:252px 1fr;gap:34px}.filters{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;height:max-content}.filters h3{margin-top:0}.filters .field{border:0;border-bottom:1px solid var(--line);padding:13px 0}.results-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;color:var(--stone);font-size:.9rem}.detail{padding:32px 0 88px}.gallery{display:grid;grid-template-columns:1.8fr 1fr;gap:8px;height:500px}.gallery-main,.gallery-side{background-size:cover;background-position:center;border-radius:12px}.gallery-side{display:grid;gap:8px}.detail-grid{display:grid;grid-template-columns:1fr 360px;gap:64px;margin-top:38px}.detail h1{font:600 clamp(2.2rem,4vw,4rem)/1.05 'Playfair Display';margin:8px 0}.detail-description{max-width:720px;color:#56554f}.feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:0;list-style:none}.feature-list li{padding:12px;background:#fff;border:1px solid var(--line);border-radius:8px}.contact-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;height:max-content;position:sticky;top:100px}.contact-card h2{font:600 1.65rem 'Playfair Display';margin:0}.contact-card input,.contact-card textarea{width:100%;margin-top:12px;padding:11px;border:1px solid var(--line);border-radius:7px}.contact-card textarea{min-height:92px;resize:vertical}.form-status{font-size:.85rem;margin:10px 0}.empty{padding:55px;text-align:center;background:#fff;border:1px dashed var(--line);border-radius:12px}.dev-note{background:#f7eee4;color:#704319;padding:8px 12px;font-size:.78rem;text-align:center}.mobile-only{display:none}@media(max-width:800px){.container{padding:0 18px}.nav-links{display:none}.mobile-only{display:inline-flex}.hero{padding:20px 0 56px}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:54px 26px 26px}.hero-image{min-height:280px;order:-1}.search-panel{grid-template-columns:1fr 1fr}.field{border-bottom:1px solid var(--line);border-right:0}.property-grid,.locations{grid-template-columns:1fr 1fr}.trust-grid{grid-template-columns:1fr 1fr}.listing-layout{grid-template-columns:1fr}.filters{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.filters h3{grid-column:span 2}.gallery{height:350px;grid-template-columns:1fr}.gallery-side{display:none}.detail-grid{grid-template-columns:1fr;gap:28px}.contact-card{position:static}.footer-grid{grid-template-columns:1fr 1fr}.section{padding:58px 0}.cta{padding:42px 22px}}@media(max-width:480px){.property-grid,.locations,.trust-grid{grid-template-columns:1fr}.search-panel{grid-template-columns:1fr}.hero h1{font-size:3rem}.filters{grid-template-columns:1fr}.filters h3{grid-column:auto}.section-heading{align-items:start;flex-direction:column}.gallery{height:270px}.facts{flex-wrap:wrap}.footer-grid{grid-template-columns:1fr}.button{padding:11px 14px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.card-image{background-color:var(--sand)}.demo-tag{display:inline-block;margin-bottom:8px;padding:3px 8px;border-radius:4px;background:#fff3cd;color:#664d03;border:1px solid #e6c76a;font-size:.72rem;font-weight:700}.demo-note{display:inline-block;margin:8px 0 0;padding:6px 10px;border-radius:6px;background:#fff3cd;color:#664d03;border:1px solid #e6c76a;font-size:.85rem;font-weight:600}.empty .button{margin-top:12px}
