:root{--ink:#2d2a26;--ink-light:#6b6560;--cream:#faf8f5;--white:#fff;--warm:#c4a47c;--warm-light:#f5efe7;--coral:#e07b54;--sage:#7a9a7e;--sans:'DM Sans',system-ui,sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{overflow-x:hidden;overscroll-behavior:none;scrollbar-gutter:stable}body{width:100%;max-width:100%;overflow-x:hidden;font-family:var(--sans);font-size:15px;line-height:1.6;color:var(--ink);background:var(--cream)}a{color:inherit;text-decoration:none}.hdr{background:var(--white);padding:16px 24px}.hdr-in{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.logo{font-family:var(--serif);font-size:22px;font-weight:700;color:var(--ink)}.logo img{height:32px;width:auto}.nav{display:none;gap:28px}@media (min-width:768px){.nav{display:flex}}.nav a{font-size:14px;color:var(--ink-light)}.nav a:hover{color:var(--ink)}.hero{background:var(--white);padding:60px 24px 48px;text-align:center}.hero-in{max-width:600px;margin:0 auto}.hero h1{font-family:var(--serif);font-size:42px;font-weight:700;line-height:1.15;letter-spacing:-.02em;margin-bottom:16px}@media (max-width:600px){.hero h1{font-size:32px}}.hero p{font-size:17px;color:var(--ink-light);max-width:480px;margin:0 auto 28px}.hero-srch{max-width:500px;margin:0 auto;display:flex;background:var(--cream);border-radius:100px;padding:6px;position:relative}.hero-srch-inp{flex:1;padding:12px 20px;border:none;background:0 0;font-family:inherit;font-size:15px;color:var(--ink)}.hero-srch-inp::placeholder{color:var(--ink-light)}.hero-srch-inp:focus{outline:0}.hero-srch-hint{position:absolute;right:110px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:22px;height:22px;font-size:12px;font-weight:500;color:var(--ink-light);background:var(--white);border:1px solid rgba(45,42,38,.15);border-radius:4px;pointer-events:none;transition:opacity .15s ease}.hero-srch.has-value .hero-srch-hint,.hero-srch:focus-within .hero-srch-hint{opacity:0}.hero-srch-btn{padding:12px 24px;background:var(--ink);color:var(--white);border:none;border-radius:100px;font-family:inherit;font-size:14px;font-weight:500;cursor:pointer}.hero-srch-btn:hover{background:#1a1816}.results-bar{background:var(--ink);color:var(--white);padding:0 24px;max-height:0;overflow:hidden;opacity:0;transition:max-height .25s ease-out,opacity .2s ease-out,padding .25s ease-out}.results-bar.show{max-height:60px;opacity:1;padding:14px 24px}.results-bar-in{max-width:1100px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.results-bar span{font-size:14px}.results-bar strong{font-weight:600}.results-clr{background:rgba(255,255,255,.2);border:none;color:var(--white);font-size:13px;font-weight:500;padding:6px 14px;border-radius:100px;cursor:pointer}.results-clr:hover{background:rgba(255,255,255,.3)}.main{max-width:1100px;margin:0 auto;padding:48px 24px 80px;overflow:hidden}.area-section{margin-bottom:56px}.area-section.hidden{display:none}.area-hdr{display:flex;align-items:center;gap:16px;margin-bottom:24px}.area-hdr h2{font-family:var(--serif);font-size:28px;font-weight:700;white-space:nowrap}.area-hdr .line{flex:1;height:1px;background:var(--warm)}.area-hdr .count{font-size:13px;color:var(--ink-light);background:var(--warm-light);padding:4px 12px;border-radius:100px;white-space:nowrap}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),400px));gap:32px;justify-content:start}.card{background:var(--white);border-radius:16px;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}.card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(45,42,38,.1)}.card.hidden{display:none}.card-img{height:200px;background:linear-gradient(135deg,var(--warm-light) 0,#e8dfd3 100%);position:relative;display:flex;align-items:flex-end;padding:16px}.card-img img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center 20%}.card-img .bdg{position:relative;z-index:1;padding:6px 12px;background:var(--sage);color:var(--white);font-size:11px;font-weight:600;border-radius:4px;text-transform:uppercase;letter-spacing:.03em}.card-body{padding:24px}.card-cur{font-size:11px;font-weight:600;color:var(--coral);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.card-name{font-family:var(--serif);font-size:22px;font-weight:700;line-height:1.3;margin-bottom:6px;display:block}.card-name:hover{color:var(--coral)}.card-loc{font-size:14px;color:var(--ink-light);margin-bottom:16px}.card-excerpt{font-size:14px;color:var(--ink-light);line-height:1.6;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--cream)}.card-meta{display:flex;justify-content:space-between;align-items:center}.card-price{font-size:14px;color:var(--ink-light)}.card-price strong{font-size:18px;font-weight:600;color:var(--ink)}.card-link{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--coral)}.card-link svg{width:14px;height:14px;transition:transform .15s}.card-link:hover svg{transform:translateX(3px)}.ftr{background:var(--cream);padding:20px 24px;border-top:1px solid rgba(45,42,38,.1)}.ftr-minimal{display:flex;justify-content:center;align-items:center}.ftr-nav{display:flex;justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto;flex-wrap:wrap;gap:16px}.ftr-copy{font-size:13px;color:var(--ink-light)}.ftr-links{display:flex;align-items:center;gap:20px}.ftr-links a{font-size:13px;color:var(--ink-light);transition:color .15s}.ftr-links a:hover{color:var(--ink)}.ftr-social{display:flex;align-items:center;gap:16px}.ftr-social a{color:var(--ink-light);transition:color .15s}.ftr-social a:hover{color:var(--ink)}.ftr-social svg{width:18px;height:18px}@media (max-width:768px){.ftr-nav{flex-direction:column;text-align:center;gap:12px}.ftr-links{justify-content:center}.ftr-social{justify-content:center}}.emp{text-align:center;padding:60px 24px;background:var(--white);border-radius:16px}.emp h3{font-family:var(--serif);font-size:22px;margin-bottom:8px}.emp p{color:var(--ink-light)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-40px;left:0;background:var(--ink);color:var(--white);padding:8px 16px;z-index:300;text-decoration:none;font-weight:600}.skip-link:focus{top:0}@media (max-width:600px){.card-grid{grid-template-columns:1fr}}