:root{--brand-primary: #2A4A3A;--brand-primary-hover: #3A5C4B;--accent: #7A9E8C;--accent-muted: #B6C7BC;--text: #1F2A24;--text-muted: #5F6D65;--text-on-primary: #F5F1E8;--text-on-dark: #DAD3C4;--bg: #F5F1E8;--bg-elevated: #FFFFFF;--bg-subtle: #ECE7DB;--bg-inset: #DAD3C4;--bg-nav: rgba(245, 241, 232, .85);--bg-overlay-light: rgba(245, 241, 232, .94);--border: rgba(42, 74, 58, .12);--border-on-dark: rgba(255, 255, 255, .08);--error: #b94545;--overlay-backdrop: rgba(31, 42, 36, .45);--shadow-sm: 0 1px 2px rgba(31, 42, 36, .06), 0 1px 1px rgba(31, 42, 36, .04);--shadow-md: 0 8px 24px rgba(31, 42, 36, .08), 0 2px 6px rgba(31, 42, 36, .05);--shadow-lg: 0 20px 60px rgba(31, 42, 36, .18);--radius-lg: 18px;--radius-md: 12px;--radius-sm: 8px;--font-display: "Fraunces", Georgia, serif;--font-body: "Inter", system-ui, -apple-system, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-body);color:var(--text);background:var(--bg);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font-family:inherit}.container{max-width:1200px;margin:0 auto;padding:0 24px}.nav{position:sticky;top:0;z-index:50;background:var(--bg-nav);backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--border)}.nav__inner{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;max-width:1200px;margin:0 auto}.brand{display:flex;align-items:center;gap:10px}.brand__mark{width:30px;height:30px;color:var(--brand-primary)}.brand__word{font-weight:600;letter-spacing:.18em;font-size:14px;color:var(--brand-primary);text-transform:uppercase}.nav__links{display:flex;align-items:center;gap:28px}.nav__links a{font-size:14px;opacity:.85}.nav__links a:hover{opacity:1;color:var(--brand-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border-radius:999px;font-weight:500;font-size:14px;border:1px solid transparent;cursor:pointer;transition:background-color .15s ease,color .15s ease}.btn--primary{background:var(--brand-primary);color:var(--text-on-primary)}.btn--primary:hover{background:var(--brand-primary-hover)}.btn--ghost{background:transparent;color:var(--brand-primary)}.btn--ghost:hover{background:var(--bg-subtle)}.hero{padding:72px 24px 40px;text-align:center;max-width:1200px;margin:0 auto}.eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-weight:600}.hero__title{font-family:var(--font-display);font-weight:500;font-size:clamp(40px,6vw,72px);line-height:1.05;letter-spacing:-.01em;color:var(--brand-primary);margin:14px 0 18px}.hero__title em{font-style:italic;font-weight:400;color:var(--accent)}.hero__lede{font-size:18px;color:var(--text-muted);max-width:560px;margin:0 auto 32px}.search{max-width:820px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr auto;align-items:center;background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px;padding:8px;box-shadow:var(--shadow-md)}.search__field{padding:10px 18px;text-align:left;border-right:1px solid var(--border)}.search__field:last-of-type{border-right:none}.search__label{font-size:11px;font-weight:600;letter-spacing:.1em;color:var(--brand-primary);text-transform:uppercase}.search__input{border:0;outline:0;background:transparent;width:100%;font-size:14px;color:var(--text);font-family:inherit;padding:2px 0}.search__input::placeholder{color:var(--text-muted)}.search__go{width:48px;height:48px;border-radius:999px;background:var(--brand-primary);color:var(--text-on-primary);border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;margin-right:4px}.search__go:hover{background:var(--brand-primary-hover)}.filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding:0 24px;margin:40px auto 0;max-width:1200px}.chip{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;background:transparent;border:1px solid var(--border);font-size:13px;color:var(--text);cursor:pointer;transition:border-color .12s ease,color .12s ease,background-color .12s ease}.chip:hover{border-color:var(--accent);color:var(--brand-primary)}.chip.is-active{background:var(--brand-primary);color:var(--text-on-primary);border-color:var(--brand-primary)}.chip svg{width:14px;height:14px}.section{max-width:1200px;margin:0 auto;padding:32px 24px 80px}.section__head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:22px}.section__title{font-family:var(--font-display);font-weight:500;font-size:28px;color:var(--brand-primary);margin:0;letter-spacing:-.01em}.section__count{font-size:13px;color:var(--text-muted)}.grid{display:grid;gap:28px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.card{display:flex;flex-direction:column;cursor:pointer;background:transparent}.card__media{position:relative;overflow:hidden;border-radius:var(--radius-lg);aspect-ratio:4 / 3;background:var(--bg-inset)}.card__img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.card:hover .card__img{transform:scale(1.04)}.card__badge{position:absolute;top:14px;left:14px;background:var(--bg-overlay-light);color:var(--brand-primary);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:6px 10px;border-radius:999px}.card__save{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:999px;background:var(--bg-overlay-light);border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--brand-primary)}.card__save:hover{background:var(--bg-elevated)}.card__save.is-saved{color:var(--error)}.card__body{padding:14px 4px 0}.card__row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.card__title{font-family:var(--font-display);font-size:18px;line-height:1.25;font-weight:500;color:var(--brand-primary);margin:0}.card__price{font-size:15px;color:var(--text);white-space:nowrap}.card__price b{font-weight:600}.card__meta{font-size:13px;color:var(--text-muted);margin-top:6px}.card__blurb{font-size:13px;color:var(--text);opacity:.78;margin-top:8px}.card__amenities{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.amenity{font-size:11px;padding:4px 8px;background:var(--bg-subtle);color:var(--brand-primary-hover);border-radius:999px}.empty{grid-column:1 / -1;text-align:center;padding:48px;color:var(--text-muted)}.props{background:var(--bg-subtle);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.props__inner{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;padding:56px 24px;max-width:1200px;margin:0 auto}.prop__icon{width:36px;height:36px;color:var(--brand-primary);margin-bottom:14px}.prop__title{font-family:var(--font-display);font-size:20px;font-weight:500;margin:0 0 6px;color:var(--brand-primary)}.prop__body{margin:0;font-size:14px;color:var(--text-muted)}.footer{background:var(--brand-primary);color:var(--text-on-dark);padding:56px 24px 32px}.footer__inner{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;max-width:1200px;margin:0 auto}.footer .brand__word,.footer .brand__mark{color:var(--text-on-primary)}.footer__col h5{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-muted);margin:0 0 14px}.footer__col a{display:block;font-size:14px;color:var(--text-on-dark);opacity:.85;padding:4px 0}.footer__col a:hover{opacity:1;color:var(--text-on-primary)}.footer__tag{font-size:14px;margin-top:14px;opacity:.7;max-width:320px}.footer__bottom{display:flex;justify-content:space-between;font-size:12px;color:var(--accent-muted);opacity:.8;padding-top:24px;margin:40px auto 0;max-width:1200px;border-top:1px solid var(--border-on-dark)}.nav__user{display:flex;align-items:center;gap:12px}.nav__user-name{font-size:14px;font-weight:500;color:var(--brand-primary)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--overlay-backdrop);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px}.modal{background:var(--bg-elevated);border-radius:var(--radius-lg);padding:40px 36px 32px;max-width:420px;width:100%;position:relative;box-shadow:var(--shadow-lg)}.modal__close{position:absolute;top:16px;right:18px;background:none;border:none;font-size:22px;color:var(--text-muted);cursor:pointer;line-height:1}.modal__close:hover{color:var(--text)}.modal__title{font-family:var(--font-display);font-size:24px;font-weight:500;color:var(--brand-primary);margin:0 0 4px}.modal__subtitle{font-size:14px;color:var(--text-muted);margin:0 0 24px}.btn--oauth{width:100%;padding:12px 18px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:background .12s ease}.btn--oauth:hover{background:var(--bg-subtle)}.modal__divider{display:flex;align-items:center;gap:16px;margin:20px 0;font-size:12px;color:var(--text-muted)}.modal__divider:before,.modal__divider:after{content:"";flex:1;height:1px;background:var(--border)}.modal__field{display:block;margin-bottom:14px}.modal__field span{display:block;font-size:12px;font-weight:500;color:var(--brand-primary);margin-bottom:5px}.modal__field input{width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;color:var(--text);outline:none;transition:border-color .12s}.modal__field input:focus{border-color:var(--accent)}.modal__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal__error{font-size:13px;color:var(--error);margin:0 0 12px}.btn--full{width:100%}.modal__switch{text-align:center;font-size:13px;color:var(--text-muted);margin:18px 0 0}.modal__switch a{color:var(--brand-primary);font-weight:500}.modal__switch a:hover{text-decoration:underline}@media(max-width:760px){.nav__links{display:none}.search{grid-template-columns:1fr auto;padding:6px}.search__field{border-right:none;border-bottom:1px solid var(--border)}.search__field:nth-of-type(3){border-bottom:none}.search__go{grid-row:span 3}.hero{padding:48px 20px 24px}.props__inner{grid-template-columns:1fr;gap:28px;padding:40px 24px}.footer__inner{grid-template-columns:1fr 1fr}}
