:root {
  color-scheme: light;
  --ink: #202c24;
  --forest: #1d3527;
  --paper: #faf9f5;
  --sand: #eeede5;
  --moss: #4b664c;
  font-family: system-ui, sans-serif;
  color: var(--ink);
  background: var(--paper);
}
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; }
a { color: inherit; text-underline-offset: .25em; }
a:focus-visible { outline: .18rem solid currentColor; outline-offset: .3rem; }
img { display: block; max-width: 100%; }
p { line-height: 1.65; }
h1, h2, h3 { margin: 0; line-height: 1.08; letter-spacing: -.04em; }
h2 { font-size: clamp(2.2rem, 5vw, 4.3rem); }
h3 { font-size: clamp(1.65rem, 3vw, 2.65rem); }
.wrap { width: min(77rem, calc(100% - 3rem)); margin-inline: auto; }
.skip { position: absolute; left: 1rem; top: 1rem; z-index: 4; padding: .7rem; background: white; transform: translateY(-150%); }
.skip:focus { transform: none; }
.header { background: var(--paper); }
.header-inner { min-height: 5.4rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem 2rem; }
.brand { display: inline-flex; }
.brand img { width: 9rem; max-height: 3.65rem; object-fit: contain; object-position: left; }
nav { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem clamp(1rem, 2.4vw, 2.15rem); }
nav a { text-decoration: none; font-size: .94rem; font-weight: 650; }
nav a:hover { text-decoration: underline; }
.nav-contact { border: 1px solid var(--forest); padding: .6rem 1rem; }
.hero { position: relative; display: grid; align-items: end; min-height: clamp(31rem, 75svh, 56rem); color: white; background: var(--forest); isolation: isolate; }
.hero-image, .hero::after { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-image { object-fit: cover; object-position: center 54%; z-index: -2; }
.hero::after { content: ""; background: linear-gradient(82deg, #102216e8, #1022166b 68%, #10221638); z-index: -1; }
.hero-inner { padding-block: 4rem clamp(4rem, 10vw, 8rem); }
h1 { font-size: clamp(2.65rem, 6.2vw, 5.75rem); max-width: 12ch; }
.eyebrow { margin: 0 0 1rem; text-transform: uppercase; font-size: .75rem; font-weight: 750; letter-spacing: .15em; }
.button { display: inline-flex; align-items: center; gap: .75rem; margin-top: 2rem; padding: .9rem 1.1rem; font-weight: 700; text-decoration: none; }
.light { color: var(--forest); background: var(--paper); }
.light:hover { background: var(--sand); }
.intro, .footer-main { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 1.5rem 5rem; }
.intro, .land, .news, footer { padding-block: clamp(3.5rem, 8vw, 7rem); }
.intro p:not(.eyebrow) { font-size: clamp(1.05rem, 1.8vw, 1.3rem); margin-top: 0; }
.intro .eyebrow, .land .eyebrow, .news .eyebrow { color: var(--moss); }
.land { background: var(--sand); }
.feature { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; margin-top: clamp(1.5rem, 4vw, 3rem); background: var(--paper); }
.feature img { width: 100%; height: 100%; min-height: 16rem; max-height: 29rem; object-fit: cover; }
.feature div { align-self: center; padding: clamp(1.5rem, 5vw, 4.75rem); }
.reverse img { grid-column: 2; grid-row: 1; }
.reverse div { grid-column: 1; grid-row: 1; }
.text-link { display: inline-block; margin-top: .5rem; color: var(--forest); font-weight: 700; }
.text-link:hover { color: var(--moss); }
.news-item { margin-block: 2rem 1rem; padding-block: 1.5rem; border-block: 1px solid #c4c9bd; }
.news-item time { display: block; margin-bottom: .6rem; color: var(--moss); }
.news-item h3 a { text-decoration: none; }
.news-item h3 a:hover { text-decoration: underline; }
footer { background: var(--forest); color: var(--paper); padding-bottom: 2rem; }
footer h2 { font-size: clamp(1.9rem, 4vw, 3.2rem); }
address { font-style: normal; line-height: 1.7; }
.footer-bottom { display: flex; gap: 1.5rem; margin-top: 2.5rem; padding-top: 1.25rem; border-top: 1px solid #ffffff55; font-size: .9rem; }
@media (max-width: 720px) {
  .wrap { width: calc(100% - 2rem); }
  .header-inner { flex-wrap: wrap; padding-block: .8rem; }
  nav { width: 100%; gap: .25rem 1rem; }
  nav a { padding-block: .4rem; }
  .nav-contact { padding-inline: .65rem; }
  .intro, .footer-main, .feature { grid-template-columns: 1fr; }
  .reverse img, .reverse div { grid-area: auto; }
  .feature img { height: clamp(12rem, 55vw, 22rem); min-height: 0; }
}

/* A single drawn stroke keeps the emphasis legible at every heading size. */
.ink-mark {
  position: relative;
  display: inline-block;
  white-space: nowrap;
}

.ink-mark::after {
  position: absolute;
  inset-inline: -.025em;
  bottom: -.12em;
  height: .16em;
  content: "";
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 20' preserveAspectRatio='none'%3E%3Cpath d='M3 15C43 9 88 6 130 7c39 0 71-2 107-5' fill='none' stroke='%23aa8046' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
  pointer-events: none;
}

.hero .ink-mark::after {
  filter: brightness(1.65);
}

@media (forced-colors: active) {
  .ink-mark { text-decoration: underline; }
  .ink-mark::after { content: none; }
}

h1, h2, h3 { text-wrap: balance; }
.intro p:not(.eyebrow), .feature p:not(.eyebrow) { max-inline-size: 62ch; }
main strong { font-weight: 750; }

html { scroll-padding-block-start: calc(var(--header-height, 9rem) + 1rem); }
.header {
  position: sticky;
  inset-block-start: 0;
  z-index: 3;
  box-shadow: 0 1px 0 #202c2420;
}

.footer-logo { width: 10rem; height: auto; align-self: center; }

@media (max-width: 720px) {
  .hero { min-height: auto; }
  .hero-image {
    position: static;
    height: auto;
    aspect-ratio: 4 / 3;
    object-position: center;
    z-index: auto;
  }
  .hero::after { content: none; }
  .hero-inner { padding-block: 2rem 2.5rem; }
}

.news-grid {
  display: grid;
  gap: 1rem;
  margin-block: clamp(1.5rem, 4vw, 3rem);
}

.news-item {
  border: 1px solid #202c2420;
  background: var(--paper);
}

.land-offer {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  align-items: center;
  gap: 1rem 3rem;
  padding: clamp(1.5rem, 5vw, 4rem);
  margin-top: clamp(1.5rem, 4vw, 3rem);
  background: var(--forest);
  color: var(--paper);
}

.land-offer .eyebrow { color: #d4dccc; }
.land-offer .button { margin-top: .5rem; }
.land-offer p:not(.eyebrow) { margin-top: 0; }
.news-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.news-item { margin: 0; background: var(--sand); }
.news-item img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.news-copy { padding: clamp(1.25rem, 3vw, 2rem); }
.news-item h3 { font-size: clamp(1.3rem, 2vw, 1.7rem); }
.news-item p { margin-bottom: 0; }

@media (prefers-reduced-motion: no-preference) {
  .button, .text-link, .news-item { transition: background-color .2s ease, color .2s ease, border-color .2s ease; }
}
.news-item:focus-within, .news-item:hover { border-color: var(--moss); }

@media (max-width: 720px) {
  .news-grid, .land-offer { grid-template-columns: 1fr; }
}

@media (forced-colors: none) {
  .ink-mark-double::after {
    bottom: -.29em;
    height: .34em;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 28' preserveAspectRatio='none'%3E%3Cpath fill='%23d9b477' d='M2 18C15 10 50 4 82 5c37 0 55 8 88 6 24-1 43-7 67-10-26 6-40 12-67 13-32 2-55-5-88-5-35-1-63 5-78 12-3 1-4-1-2-3Z'/%3E%3Cpath fill='%23d9b477' d='M37 24c19-7 38-9 64-8 31 1 45 5 69 4 22-1 40-5 57-8-16 6-35 10-57 11-25 2-44-3-69-3-24-1-46 2-63 7-2 1-3-1-1-3Z'/%3E%3C/svg%3E");
  }
}

@media (forced-colors: none) {
  .ink-mark-meadow::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 20' preserveAspectRatio='none'%3E%3Cpath fill='%23aa8046' d='M4 12c21-7 60-9 103-8 39 1 87 5 131 4-39 5-87 1-131 0-43-1-77 2-103 8-4 1-5-3 0-4Z'/%3E%3C/svg%3E");
  }
}

main > .land-offer {
  margin-block: 0 clamp(2.5rem, 6vw, 5rem);
}

.land-offer h2 {
  font-size: clamp(1.65rem, 3vw, 2.65rem);
}
