/* rentals.wirewalk.com — a house, not a brand.
   Photo-led and warm. Nothing here should look like a booking platform: no
   urgency banners, no "3 people are viewing", no fake scarcity. The whole
   argument for booking direct is that it is a person's house, so the site
   should read like the owner wrote it. */
:root{
  --paper:#FBFAF7; --card:#FFFFFF; --ink:#1C1A17; --ink-2:#6B645C;
  --line:#E6E1D8; --line-2:#CFC7BA;
  --pine:#2F4A3C;        /* Adirondack green — headings, links */
  --pine-2:#22382D;
  --ember:#B4532A;       /* wood stove — prices, the one warm accent */
  --sky:#EEF2F3;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Inter,Roboto,'Helvetica Neue',Arial,sans-serif;
  --serif:'Iowan Old Style','Palatino Linotype',Palatino,Georgia,serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 var(--sans);
  -webkit-font-smoothing:antialiased}
.wrap{max-width:1080px;margin:0 auto;padding:0 clamp(18px,4vw,30px)}
.prose{max-width:64ch}
a{color:var(--pine);text-underline-offset:2px}
h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-.012em;text-wrap:balance}
h1{font-size:clamp(30px,5vw,44px);line-height:1.12;margin:0 0 12px}
h2{font-size:clamp(22px,3vw,28px);margin:44px 0 12px}
h3{font-size:19px;margin:26px 0 8px}
p{margin:0 0 15px}
.lede{font-size:19px;line-height:1.5;color:var(--ink-2);max-width:60ch;margin:0 0 22px}
.small{font-size:14.5px;color:var(--ink-2)}
.num{font-variant-numeric:tabular-nums}

header.top{border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:40}
header.top .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;
  flex-wrap:wrap;padding-top:13px;padding-bottom:13px}
.brand{font-family:var(--serif);font-size:19px;font-weight:600;color:var(--ink);text-decoration:none}
.brand s{text-decoration:none;color:var(--ink-2);font-family:var(--sans);font-size:14px;
  font-weight:400;display:block;letter-spacing:.01em}
nav.top a{margin-left:18px;font-size:15px;color:var(--ink-2);text-decoration:none}
nav.top a:hover,nav.top a[aria-current]{color:var(--pine);text-decoration:underline}
.book-btn{background:var(--pine);color:#fff!important;padding:9px 16px;border-radius:4px;
  text-decoration:none!important;font-weight:600;font-size:15px}
.book-btn:hover{background:var(--pine-2)}

/* ---- hero: the house does the selling ---------------------------------- */
.hero{margin:0 0 6px}
.hero img{width:100%;height:clamp(320px,52vh,560px);object-fit:cover;display:block;border-radius:3px}
.hero-meta{display:flex;gap:8px 26px;flex-wrap:wrap;align-items:baseline;
  padding:14px 0 0;font-size:15.5px;color:var(--ink-2)}
.hero-meta b{color:var(--ink);font-weight:600}

/* ---- gallery ------------------------------------------------------------ */
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0 0}
.gal a{display:block;overflow:hidden;border-radius:3px;line-height:0}
.gal img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;
  transition:transform .25s ease}
.gal a:hover img{transform:scale(1.03)}
@media(max-width:820px){.gal{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.gal{grid-template-columns:repeat(2,1fr)}}

/* ---- cards and facts ---------------------------------------------------- */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);border-radius:4px;overflow:hidden;margin:26px 0}
.facts div{background:var(--card);padding:15px 17px}
.facts dt{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin-bottom:4px}
.facts dd{margin:0;font-size:18px;font-weight:600}

.card{background:var(--card);border:1px solid var(--line);border-radius:5px;padding:22px 24px;margin:0 0 18px}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(max-width:760px){.cols{grid-template-columns:1fr}}

/* ---- rates table -------------------------------------------------------- */
table.rates{width:100%;border-collapse:collapse;font-size:15.5px;margin:8px 0}
table.rates th{text-align:left;font-size:12px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink-2);border-bottom:1px solid var(--line-2);padding:0 12px 8px 0;font-weight:600}
table.rates th.n,table.rates td.n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
table.rates td{padding:13px 12px 13px 0;border-bottom:1px solid var(--line);vertical-align:top}
table.rates td:last-child,table.rates th:last-child{padding-right:0}
table.rates td.season{font-weight:600}
table.rates td.when{color:var(--ink-2);font-size:14px}
.price{color:var(--ember);font-weight:650}
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch}

.note{border-left:3px solid var(--line-2);background:var(--card);padding:14px 18px;margin:18px 0;font-size:15.5px}
.note.warm{border-left-color:var(--ember)}

/* ---- area guide --------------------------------------------------------- */
.season-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}
.season-tabs a{font-size:14.5px;padding:7px 14px;border:1px solid var(--line-2);border-radius:20px;
  text-decoration:none;color:var(--ink-2);background:var(--card)}
.season-tabs a:hover,.season-tabs a[aria-current]{border-color:var(--pine);color:var(--pine)}
.places{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
.place{background:var(--card);border:1px solid var(--line);border-radius:5px;padding:17px 19px}
.place h4{margin:0 0 4px;font-size:16.5px;font-family:var(--sans);font-weight:650}
.place .meta{font-size:13px;color:var(--ink-2);margin-bottom:8px}
.place .meta b{color:var(--ember);font-weight:600}
.place p{font-size:14.5px;margin:0 0 8px;line-height:1.5}
.place .tip{font-size:13.5px;color:var(--ink-2);border-top:1px solid var(--line);padding-top:8px;margin:0}

footer.end{margin-top:56px;border-top:1px solid var(--line);padding:26px 0 46px;
  font-size:14.5px;color:var(--ink-2)}
footer.end a{color:var(--ink-2)}
footer.end .fl{display:flex;flex-wrap:wrap;gap:7px 20px;margin:0 0 12px}

@media (prefers-reduced-motion:reduce){*{transition:none!important}}
@media print{header.top,nav,.book-btn,.gal{display:none}}
