:root{color-scheme:light;--ink:#253530;--forest:#263d35;--accent:#a44e36;--muted:#5e6962;--line:#d9ded5;--paper:#f7f6f0;--white:#fff;--serif:Georgia,'Times New Roman',serif;--sans:system-ui,-apple-system,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--sans)}
a{color:inherit}
button,.button{display:inline-flex;gap:1em;align-items:center;justify-content:center;padding:.82rem 1.13rem;background:var(--forest);color:var(--white);border:1px solid transparent;border-radius:5px;text-decoration:none;font:600 .9rem/1.35 var(--sans);cursor:pointer}
button:hover,.button:hover{background:#3d574b}
:focus-visible{outline:3px solid #b67c40;outline-offset:3px}
.wrap{width:min(1160px,calc(100% - 64px));margin-inline:auto}
header{background:var(--paper)}
.topbar,.foot{display:flex;align-items:center;justify-content:space-between;min-height:77px;gap:24px}
.logo{text-decoration:none;font:700 2.18rem/1 var(--serif);letter-spacing:-.1em;white-space:nowrap}
.logo span{letter-spacing:-.075em}.logo i{color:var(--accent);font-style:normal}
nav{display:flex;align-items:center;gap:30px}
nav a,.foot>a:last-child{font-size:.91rem;font-weight:620;text-decoration:none}
nav a:hover,.foot>a:last-child:hover{text-decoration:underline}
.hero{background:linear-gradient(90deg,rgba(25,40,32,.92),rgba(25,40,32,.62) 45%,rgba(25,40,32,.10) 95%),url('/assets/alora.jpg') center 62%/cover;color:white}
.hero-content{padding-block:86px 114px}
.eyebrow,.location{text-transform:uppercase;color:var(--accent);letter-spacing:.14em;font-size:.72rem;font-weight:700}
.hero .eyebrow{color:#f3d3ac}.hero p:last-child{max-width:34rem;font-size:1.08rem;color:#fff;margin:22px 0 0}
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;line-height:1.05}
h1{font-size:clamp(2.8rem,7vw,5.5rem);margin:.14em 0}
h2{font-size:clamp(2rem,4vw,3.05rem);margin:0}
h3{font-size:1.65rem;margin:.25em 0}
.search-wrap{position:relative;margin-top:-44px}
.search{display:grid;grid-template-columns:1.2fr 1fr .88fr auto;gap:16px;align-items:end;padding:19px 22px;background:white;border-radius:7px;border:1px solid var(--line);box-shadow:0 8px 24px rgba(24,37,30,.08)}
label{display:flex;gap:5px;flex-direction:column;font-weight:650;font-size:.86rem}
input,textarea,select{width:100%;min-width:0;border:1px solid #bac4ba;border-radius:4px;background:white;color:var(--ink);padding:.59rem .7rem;font:inherit;font-weight:400}
textarea{resize:vertical}
input::placeholder{color:#657268}
.section{padding-block:55px 65px;min-height:46vh}
.section>h1{font-size:clamp(2.55rem,5vw,4rem);margin:0 0 24px}
.section>.search{margin-bottom:30px}.featured{padding-top:45px}
.section-head,.local-inner{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}
.text-link{font-weight:650;color:var(--forest);text-underline-offset:.23em}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.card{background:white;border:1px solid var(--line);border-radius:7px;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}
.card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #24392e20}
.card a{display:block;text-decoration:none}
.card img,.empty-image{display:block;width:100%;height:auto;aspect-ratio:1.57;object-fit:cover;background:#e4ebe1}
.empty-image{display:grid;place-content:center;color:var(--muted)}
.card-body{padding:16px 19px}
.card .location{margin:0}
.price{font-weight:650;font-size:1.2rem;margin:9px 0}
.facts,.hint,.foot small{color:var(--muted);font-size:.84rem}
.facts{margin-bottom:0}.facts span{padding:0 .4rem}
.local{background:#e8ece1;padding-block:46px}.local-inner{align-items:center;margin-bottom:0}
footer{border-top:1px solid var(--line);padding-block:14px}
.foot small{display:block}.foot>div{text-align:center}
.panel{background:white;border:1px solid var(--line);border-radius:7px;padding:24px;max-width:650px}
.panel h2{font-size:1.9rem;margin-bottom:20px}
.form{display:grid;gap:13px;justify-items:start}.form label{width:100%}
.form small{display:inline}.hint{margin:0}.trap{position:absolute;left:-10000px}
.detail-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:30px;align-items:start}
.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.gallery img{display:block;width:100%;border-radius:5px;aspect-ratio:1.55;object-fit:cover}
.gallery img:first-child{grid-column:1/-1}
.long{white-space:pre-wrap;overflow-wrap:anywhere}
.login{max-width:420px}.logout{margin-bottom:20px}
.logout button,.records form button{background:transparent;color:var(--forest);border-color:var(--line)}
.records{list-style:none;padding:0;border:1px solid var(--line);border-radius:5px;background:white}
.records li+li{border-top:1px solid var(--line)}
.records a,.record{padding:13px 16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:10px;text-decoration:none;overflow-wrap:anywhere}
.records a:hover{background:#eef0e9}.inline{display:flex;align-items:end;gap:10px}
.paging{display:flex;gap:18px;margin-top:24px}
@media(max-width:850px){
 .wrap{width:calc(100% - 40px)}.hero-content{padding-block:75px 108px}
 .search{grid-template-columns:repeat(2,minmax(0,1fr))}.cards{gap:14px}
 .detail-grid{grid-template-columns:1fr}
}
@media(max-width:580px){
 .wrap{width:calc(100% - 32px)}.topbar{min-height:67px;gap:10px}
 nav{gap:10px}nav a{font-size:.73rem}.logo{font-size:1.85rem}
 .hero-content{padding-block:52px 89px}
 .hero{background-position:center,58% 65%}
 .hero p:last-child{max-width:18rem;font-size:1rem}
 .search{padding:15px;gap:10px}.search input,.search button{font-size:.77rem}
 .cards{grid-template-columns:1fr}.section{padding-block:37px}
 .section-head,.local-inner{align-items:start;flex-direction:column;gap:12px}
 .foot{flex-wrap:wrap;gap:10px}.foot>div{text-align:left;order:3;flex:1 0 100%}
 .records a,.record{grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
