:root{--forest:#1f3d2f;--forest-d:#142a20;--sand:#f6efe0;--paper:#fffaf0;--amber:#e0a458;--amber-d:#b97d2e;--ink:#22302a;--muted:#5d6b63;--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:"Segoe UI",system-ui,-apple-system,Roboto,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.15;margin:0 0 .5em;color:var(--forest)}
a{color:inherit}
.wrap{width:min(1120px,100% - 40px);margin-inline:auto}
header.top{position:fixed;inset:0 0 auto;z-index:10;background:rgba(20,42,32,.82);backdrop-filter:blur(8px)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#f1e3c6;font-family:Georgia,serif;font-size:1.15rem;letter-spacing:.02em}
.brand img{width:36px;height:36px;border-radius:9px}
nav a{color:#f1e3c6;text-decoration:none;margin-left:22px;font-size:.95rem;opacity:.9}
nav a:hover{opacity:1;color:var(--amber)}
.hero{position:relative;min-height:100svh;display:flex;align-items:center;color:#fff;background:#1d3a2d url(assets/hero.svg) center/cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,32,24,.78),rgba(15,32,24,.15) 70%)}
.hero .wrap{position:relative;z-index:1;padding-top:64px}
.hero h1{color:#fff;font-size:clamp(2.4rem,6vw,4.4rem);max-width:12ch}
.hero p{font-size:1.2rem;max-width:34ch;margin:0 0 1.8em;color:#f6efe0}
.btn{display:inline-block;padding:14px 28px;border-radius:999px;background:var(--amber);color:#2a1c12;font-weight:600;text-decoration:none;transition:.2s}
.btn:hover{background:#f0b86e;transform:translateY(-2px)}
.btn.ghost{background:transparent;border:2px solid #f1e3c6;color:#f1e3c6;margin-left:10px}
.btn.ghost:hover{background:#f1e3c6;color:var(--forest)}
section{padding:96px 0}
.eyebrow{color:var(--amber-d);text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;font-weight:600;margin-bottom:.8em}
h2{font-size:clamp(1.9rem,4vw,2.8rem)}
.about{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}
.about p{color:var(--muted);font-size:1.08rem}
.facts{display:grid;gap:14px}
.fact{background:var(--sand);border-radius:var(--radius);padding:22px 24px;display:flex;gap:16px;align-items:center}
.fact b{font-family:Georgia,serif;font-size:1.15rem;color:var(--forest);display:block}
.fact span.ico{font-size:1.8rem}
.cottages{background:var(--sand)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-top:36px}
.card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 30px rgba(31,61,47,.08)}
.card .pic{height:170px;display:grid;place-items:center;font-size:3.4rem;background:linear-gradient(135deg,#2c5440,#1a3428)}
.card:nth-child(2) .pic{background:linear-gradient(135deg,#b97d2e,#7a4f1a)}
.card:nth-child(3) .pic{background:linear-gradient(135deg,#3b6a7a,#1e3d49)}
.card div.body{padding:22px 24px 26px}
.card p{color:var(--muted);margin:.3em 0 0}
.note{margin-top:28px;color:var(--muted);font-size:.95rem}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin-top:36px;counter-reset:s}
.step{position:relative;padding:28px 24px;border:1px solid #e6dcc4;border-radius:var(--radius);background:#fff}
.step::before{counter-increment:s;content:counter(s);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--forest);color:#f1e3c6;font-family:Georgia,serif;margin-bottom:14px}
.step p{margin:0;color:var(--muted)}
.contacts{background:var(--forest-d);color:#f1e3c6}
.contacts h2{color:#fff}.contacts .eyebrow{color:var(--amber)}
.contacts p{max-width:52ch;color:#d9ddd2}
footer{background:#0e1f18;color:#9fb0a5;text-align:center;padding:26px 0;font-size:.9rem}
@media(max-width:760px){nav a:not(:last-child){display:none}.about{grid-template-columns:1fr;gap:32px}section{padding:64px 0}.btn.ghost{margin:12px 0 0}.hero::after{background:rgba(15,32,24,.6)}}
.eyebrow.light{color:var(--amber)}
.cards.three{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.tile{background:var(--sand);border-radius:var(--radius);padding:28px 24px}
.tile span{font-size:2rem;display:block;margin-bottom:10px}
.tile p{margin:0;color:var(--muted)}
.contacts .btn.ghost{margin-left:10px}
