body.news-page { color: #24352d; background: #f4f0e8; }
.news { overflow: hidden; background: #f4f0e8; }
.news-hero { position: relative; min-height: 68svh; display: flex; flex-direction: column; justify-content: flex-end; padding: 9rem var(--page-pad) 5rem; color: #f9f6ef; background: #18352a; }
.news-hero::before { content: ""; position: absolute; inset: 0; opacity: .36; background: linear-gradient(90deg, #10271e, transparent 70%), url("../images/lifestyle-generations.jpg") center 46% / cover; filter: saturate(.62) contrast(1.12); }
.news-hero > * { position: relative; }
.news-eyebrow { margin: 0 0 1rem; color: #b66e64; font-size: .65rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
.news-hero .news-eyebrow { color: #e0a69c; }
.news-hero h1, .news-archive h2, .news-signup h2 { max-width: 60rem; margin: 0; font-family: var(--serif); font-size: clamp(4rem, 8vw, 8.4rem); font-weight: 400; line-height: .86; letter-spacing: -.055em; }
.news h1 em, .news h2 em { color: #d58d83; font-weight: inherit; }
.news-hero > p:not(.news-eyebrow) { max-width: 35rem; margin: 2rem 0 0; color: rgba(255,255,255,.76); font-size: 1rem; line-height: 1.75; }
.news-hero__count { position: absolute; right: var(--page-pad); bottom: 5.5rem; color: rgba(255,255,255,.65); font-size: .6rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; writing-mode: vertical-rl; }
.news-feature { padding: clamp(4.5rem, 8vw, 9rem) var(--page-pad); }
.news-feature__article { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(20rem, .82fr); max-width: 88rem; margin: auto; background: #e8e1d5; }
.news-feature__media { min-height: clamp(25rem, 45vw, 42rem); overflow: hidden; }
.news-feature__media img, .news-card__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.76) contrast(1.03); transition: transform .8s var(--ease); }
.news-feature__article:hover img, .news-card:hover img { transform: scale(1.045); }
.news-feature__content { align-self: center; padding: clamp(2.5rem, 5vw, 6rem); }
.news-meta { display: flex; gap: .9rem; align-items: center; margin: 0; color: rgba(36,53,45,.55); font-size: .61rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.news-meta span { color: #ae655c; }
.news-meta span::after { content: ""; display: inline-block; width: 1.8rem; height: 1px; margin-left: .9rem; vertical-align: middle; background: currentColor; }
.news-feature h2 { margin: 1.35rem 0 1.4rem; font-family: var(--serif); font-size: clamp(2.6rem, 4vw, 4.7rem); font-weight: 400; line-height: .98; letter-spacing: -.04em; }
.news-feature__content > p:not(.news-meta), .news-card > p:not(.news-meta) { color: rgba(36,53,45,.7); font-size: .87rem; line-height: 1.75; }
.news-link { display: inline-flex; gap: 1.15rem; margin-top: 1.8rem; padding-bottom: .55rem; color: #9b554e; border-bottom: 1px solid currentColor; font-size: .63rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.news-link span { transition: transform .35s var(--ease); }.news-link:hover span { transform: translateX(.4rem); }
.news-archive { padding: 0 var(--page-pad) clamp(6rem, 10vw, 10rem); }.news-archive__heading { display: flex; align-items: end; justify-content: space-between; padding-bottom: 2.8rem; border-bottom: 1px solid rgba(36,53,45,.16); }.news-archive h2 { font-size: clamp(3rem, 5.6vw, 5.8rem); }.news-archive__heading .news-eyebrow { margin-bottom: .6rem; }
.news-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1.6rem; padding-top: 2rem; }.news-card { min-width: 0; }.news-card__media { display: block; height: clamp(16rem, 24vw, 25rem); overflow: hidden; background: #ddd4c7; }.news-card h3 { margin: 1rem 0 .7rem; font-family: var(--serif); font-size: clamp(1.5rem, 2.1vw, 2.2rem); font-weight: 400; line-height: 1.05; letter-spacing: -.025em; }.news-card > p:not(.news-meta) { margin: 0; font-size: .78rem; }.news-card .news-link { margin-top: 1.25rem; }
.news-signup { padding: clamp(5rem, 9vw, 9rem) var(--page-pad); color: #f8f3ea; background: #17382c; text-align: center; }.news-signup .news-eyebrow { color: #df9d93; }.news-signup h2 { margin: auto; font-size: clamp(3.3rem, 6vw, 6.5rem); }.news-signup > p:not(.news-eyebrow) { max-width: 32rem; margin: 1.8rem auto 0; color: rgba(255,255,255,.72); font-size: .9rem; }.news-link--light { color: #f4d7cf; }
.news-archive--standalone { padding-top: clamp(5rem, 8vw, 8rem); }
.news-empty { max-width: 38rem; margin: 4rem auto 0; padding: 3rem; text-align: center; border: 1px solid rgba(36,53,45,.16); }
.news-empty h3 { margin: 0; font-family: var(--serif); font-size: 2rem; font-weight: 400; }
.news-empty p { margin: .8rem 0 0; color: rgba(36,53,45,.65); font-size: .82rem; }
.news-pagination { margin-top: clamp(3.5rem,6vw,6rem); padding-top: 2rem; border-top: 1px solid rgba(36,53,45,.16); }
.news-pagination ul { display: flex; align-items: center; justify-content: center; gap: .45rem; margin: 0; padding: 0; list-style: none; }
.news-pagination a, .news-pagination span { display: grid; min-width: 2.5rem; height: 2.5rem; padding: 0 .8rem; place-items: center; color: rgba(36,53,45,.65); border: 1px solid rgba(36,53,45,.15); font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.news-pagination a:hover, .news-pagination a:focus-visible, .news-pagination .current { color: #fff; background: #9b554e; border-color: #9b554e; }

body.single-post { color: #24352d; background: #f4f0e8; }
.news-single { overflow: clip; background: #f4f0e8; }
.news-single__hero { position: relative; min-height: 84svh; display: flex; align-items: flex-end; color: #fffaf2; background: #17382c; isolation: isolate; }
.news-single__media, .news-single__veil { position: absolute; inset: 0; }
.news-single__media { z-index: -2; overflow: hidden; }
.news-single__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.73) contrast(1.06) brightness(.67); }
.news-single__veil { z-index: -1; background: linear-gradient(90deg, rgba(10,24,18,.92), rgba(10,24,18,.55) 48%, rgba(10,24,18,.12)), linear-gradient(180deg, rgba(7,20,15,.32), transparent 36%, rgba(7,20,15,.58)); }
.news-single__heading { width: min(68rem, 76vw); padding: 11rem 0 6rem var(--page-pad); }
.news-single__heading .news-meta { color: rgba(255,255,255,.67); }
.news-single__heading .news-meta span { color: #e0a69c; }
.news-single__heading h1 { margin: 1.4rem 0 0; font-family: var(--serif); font-size: clamp(3.7rem, 7vw, 8rem); font-weight: 400; line-height: .91; letter-spacing: -.052em; }
.news-single__scroll { display: inline-flex; gap: 1rem; margin-top: 2rem; color: rgba(255,255,255,.78); font-size: .61rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.news-single__scroll span { transition: transform .35s var(--ease); }
.news-single__scroll:hover span { transform: translateY(.35rem); }
.news-single__article { display: grid; grid-template-columns: minmax(10rem,.34fr) minmax(0,.66fr); gap: clamp(3rem,8vw,9rem); max-width: 82rem; margin: auto; padding: clamp(5rem,9vw,9rem) var(--page-pad); }
.news-single__aside { padding-top: .5rem; }
.news-single__aside a { display: inline-flex; gap: .8rem; color: #9b554e; font-size: .61rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.news-single__aside p { margin: 1.2rem 0 0; color: rgba(36,53,45,.5); font-size: .61rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.news-single__content { max-width: 48rem; color: rgba(36,53,45,.78); font-family: var(--serif); font-size: clamp(1.08rem,1.4vw,1.25rem); line-height: 1.9; }
.news-single__content > *:first-child { margin-top: 0; }
.news-single__content p { margin: 0 0 1.55em; }
.news-single__content h2, .news-single__content h3 { color: #24352d; font-family: var(--serif); font-weight: 400; line-height: 1.08; letter-spacing: -.025em; }
.news-single__content h2 { margin: 1.8em 0 .75em; font-size: clamp(2rem,3.5vw,3.5rem); }
.news-single__content h3 { margin: 1.7em 0 .7em; font-size: clamp(1.5rem,2.4vw,2.4rem); }
.news-single__content a { color: #9b554e; text-decoration: underline; text-underline-offset: .18em; }
.news-single__content img { width: 100%; height: auto; margin: 1.5rem 0; }
.news-single__content blockquote { margin: 2.5rem 0; padding: .5rem 0 .5rem 2rem; color: #9b554e; border-left: 1px solid currentColor; font-size: 1.35em; font-style: italic; line-height: 1.5; }
.news-single__content ul, .news-single__content ol { margin: 1.5rem 0; padding-left: 1.4rem; }
.news-single__navigation { display: grid; grid-template-columns: repeat(2,1fr); color: #f8f2e8; background: #17382c; }
.news-single__navigation > div { min-width: 0; }
.news-single__navigation > div + div { border-left: 1px solid rgba(255,255,255,.17); text-align: right; }
.news-single__navigation a { display: block; min-height: 11rem; padding: 2.5rem var(--page-pad); font-family: var(--serif); font-size: clamp(1.4rem,2.4vw,2.6rem); line-height: 1.05; transition: background .35s ease; }
.news-single__navigation a:hover { background: rgba(255,255,255,.06); }
.news-single__navigation a span { display: block; margin-bottom: 1rem; color: #dfa198; font-family: var(--sans); font-size: .56rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
@media (max-width: 900px) {
  .news-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3rem 1.25rem;
  }

  .news-feature__article {
    grid-template-columns: 1fr;
  }

  .news-feature__media {
    min-height: 56vw;
  }

  .news-feature__content {
    padding: 3rem;
  }

  .news-hero__count {
    bottom: 3rem;
  }
}

@media (max-width: 760px) {
  .news-hero {
    min-height: max(36rem, 78svh);
    padding: 8.5rem 1.25rem 4rem;
  }

  .news-hero h1 {
    max-width: 100%;
    min-width: 0;
    font-size: clamp(3.4rem, 17vw, 5.25rem);
    line-height: .9;
  }

  .news-hero > p:not(.news-eyebrow) {
    width: 100%;
    max-width: 28rem;
    min-width: 0;
    margin-top: 1.4rem;
    font-size: .9rem;
    line-height: 1.65;
    overflow-wrap: anywhere;
  }

  .news-hero__count {
    display: none;
  }

  .news-feature {
    padding: 4rem 1.25rem;
  }

  .news-feature__media {
    display: block;
    min-height: 0;
    min-width: 0;
    aspect-ratio: 4 / 3;
  }

  .news-feature__article {
    width: 100%;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr);
  }

  .news-feature__content {
    min-width: 0;
    padding: 2.25rem 1.5rem 2.6rem;
  }

  .news-meta {
    flex-wrap: wrap;
    gap: .5rem .7rem;
    line-height: 1.5;
  }

  .news-meta span::after {
    width: 1.1rem;
    margin-left: .7rem;
  }

  .news-feature h2 {
    margin-top: 1rem;
    font-size: clamp(2.3rem, 10.5vw, 3.4rem);
    overflow-wrap: anywhere;
  }

  .news-archive {
    padding: 0 1.25rem 5.5rem;
  }

  .news-archive--standalone {
    padding-top: 4.5rem;
  }

  .news-archive__heading {
    display: block;
    padding-bottom: 1.8rem;
  }

  .news-archive h2 {
    font-size: clamp(2.7rem, 12vw, 4rem);
    line-height: .92;
  }

  .news-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 3.75rem;
  }

  .news-card {
    width: 100%;
    min-width: 0;
  }

  .news-card__media {
    height: auto;
    aspect-ratio: 4 / 3;
  }

  .news-card h3 {
    font-size: clamp(1.9rem, 8.5vw, 2.7rem);
    overflow-wrap: anywhere;
  }

  .news-card > p:not(.news-meta) {
    font-size: .84rem;
  }

  .news-empty {
    margin-top: 2.5rem;
    padding: 2.25rem 1.25rem;
  }

  .news-pagination ul {
    flex-wrap: wrap;
  }

  .news-pagination a,
  .news-pagination span {
    min-width: 2.35rem;
    height: 2.35rem;
    padding: 0 .6rem;
  }

  .news-signup {
    padding: 4.75rem 1.25rem 5rem;
  }

  .news-signup h2 {
    font-size: clamp(2.8rem, 13vw, 4.35rem);
    line-height: .92;
  }

  .news-signup > p:not(.news-eyebrow) {
    line-height: 1.65;
  }

  .news-single__hero {
    min-height: max(36rem, 78svh);
  }

  .news-single__media img {
    object-position: 58% center;
  }

  .news-single__heading {
    width: auto;
    padding: 8.5rem 1.25rem 4rem;
  }

  .news-single__heading h1 {
    font-size: clamp(2.85rem, 13.5vw, 4.8rem);
    line-height: .95;
    overflow-wrap: anywhere;
  }

  .news-single__article {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    padding: 4.25rem 1.25rem;
  }

  .news-single__content {
    min-width: 0;
    font-size: 1.05rem;
    line-height: 1.78;
    overflow-wrap: anywhere;
  }

  .news-single__content img,
  .news-single__content video,
  .news-single__content iframe {
    max-width: 100%;
  }

  .news-single__content iframe {
    aspect-ratio: 16 / 9;
    height: auto;
  }

  .news-single__content table,
  .news-single__content pre {
    display: block;
    max-width: 100%;
    overflow-x: auto;
  }

  .news-single__content blockquote {
    margin: 2rem 0;
    padding-left: 1.25rem;
  }

  .news-single__navigation {
    grid-template-columns: 1fr;
  }

  .news-single__navigation > div + div {
    border-top: 1px solid rgba(255,255,255,.17);
    border-left: 0;
  }

  .news-single__navigation a {
    min-height: 8rem;
    padding: 2rem 1.25rem;
  }
}

@media (max-width: 420px) {
  .news-hero {
    min-height: 34rem;
    padding-top: 7.5rem;
  }

  .news-hero h1 {
    font-size: clamp(3.15rem, 16.5vw, 4.35rem);
  }

  .news-feature {
    padding-top: 3.25rem;
    padding-bottom: 3.75rem;
  }

  .news-feature__content {
    padding-right: 1.25rem;
    padding-left: 1.25rem;
  }

  .news-feature__media,
  .news-card__media {
    aspect-ratio: 16 / 11;
  }

  .news-signup h2 {
    font-size: clamp(2.6rem, 12.5vw, 3.4rem);
  }

  .news-single__hero {
    min-height: 36rem;
  }

  .news-single__heading {
    padding-top: 7.5rem;
  }

  .news-single__heading h1 {
    font-size: clamp(2.65rem, 12.5vw, 3.65rem);
  }
}
