@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display&display=swap');

:root {
 --editorial-bg: #faf9f7;
 --editorial-bg-strong: #f5f0eb;
 --editorial-surface: rgba(255, 255, 255, 0.9);
 --editorial-surface-strong: #ffffff;
 --editorial-surface-soft: rgba(245, 237, 228, 0.62);
 --editorial-ink: #1a1a1a;
 --editorial-ink-soft: #5c5650;
 --editorial-line: rgba(26, 26, 26, 0.11);
 --editorial-line-strong: rgba(26, 26, 26, 0.18);
 --editorial-accent: #b08968;
 --editorial-accent-hover: #96714f;
 --editorial-accent-soft: rgba(176, 137, 104, 0.06);
 --editorial-shadow: 0 1px 2px rgba(26, 26, 26, 0.04), 0 8px 24px rgba(26, 26, 26, 0.06), 0 32px 80px rgba(26, 26, 26, 0.08);
 --editorial-shadow-soft: 0 1px 2px rgba(26, 26, 26, 0.03), 0 6px 16px rgba(26, 26, 26, 0.04), 0 22px 46px rgba(26, 26, 26, 0.06);
 --editorial-shadow-hover: 0 1px 3px rgba(26, 26, 26, 0.05), 0 12px 32px rgba(26, 26, 26, 0.08), 0 36px 72px rgba(26, 26, 26, 0.12);
 --editorial-shell: min(1320px, calc(100vw - 40px));
 --font-display: "DM Serif Display", Georgia, serif;
 --font-ui: "DM Sans", "Helvetica Neue", Arial, sans-serif;
 --font-body: "DM Sans", "Helvetica Neue", Arial, sans-serif;
}

html {
 scroll-behavior: smooth;
 scroll-padding-top: 112px;
}

body.blog-editorial,
body.blog-editorial-page {
 margin: 0;
 min-height: 100%;
 background: #faf9f7;
 color: var(--editorial-ink);
 font-family: var(--font-ui);
 line-height: 1.7;
 -webkit-font-smoothing: antialiased;
 text-rendering: optimizeLegibility;
}

body.blog-editorial a,
body.blog-editorial-page a {
 color: inherit;
}

.editorial-shell {
 position: relative;
 z-index: 1;
 width: var(--editorial-shell);
 margin: 0 auto;
}

.editorial-progress {
 position: fixed;
 top: 0;
 left: 0;
 z-index: 90;
 width: 0;
 height: 3px;
 background: #b08968;
}

.editorial-nav {
 position: sticky;
 top: 0;
 z-index: 80;
 background: rgba(250, 249, 247, 0.84);
 border-bottom: 1px solid var(--editorial-line);
 backdrop-filter: blur(20px);
 -webkit-backdrop-filter: blur(20px);
}

.editorial-nav__inner {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 1.4rem;
 min-height: 86px;
}

.editorial-brand {
 display: inline-flex;
 align-items: center;
 gap: 0.78rem;
 text-decoration: none;
 font-weight: 800;
 letter-spacing: -0.04em;
}

.editorial-brand img {
 width: 36px;
 height: 36px;
 border-radius: 12px;
}

.editorial-brand span {
 font-size: 1.05rem;
}

.editorial-nav__links {
 display: flex;
 align-items: center;
 gap: 1.35rem;
 flex-wrap: wrap;
 justify-content: center;
}

.editorial-nav__links a {
 text-decoration: none;
 color: var(--editorial-ink-soft);
 font-size: 0.96rem;
}

.editorial-nav__links a[aria-current="page"] {
 color: var(--editorial-ink);
 font-weight: 700;
}

.editorial-button {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 min-height: 48px;
 padding: 0 1.15rem;
 border-radius: 999px;
 border: 1px solid transparent;
 font-weight: 700;
 text-decoration: none;
 transition: box-shadow 200ms ease, border-color 200ms ease, background 200ms ease;
}

.editorial-button:hover {
 box-shadow: 0 4px 12px rgba(26, 26, 26, 0.1);
}

.editorial-button:focus-visible,
.editorial-chip:focus-visible,
.editorial-card__link:focus-visible,
.editorial-contributor:focus-visible {
 outline: 3px solid rgba(176, 137, 104, 0.42);
 outline-offset: 3px;
}

.editorial-button--dark {
 color: #fff !important;
 background: linear-gradient(135deg, #2c2218, #1a1a1a);
 box-shadow: 0 16px 36px rgba(26, 26, 26, 0.16);
}

.editorial-button--ghost {
 color: var(--editorial-ink);
 background: rgba(255, 255, 255, 0.66);
 border-color: rgba(26, 26, 26, 0.12);
}

.editorial-kicker {
 margin: 0 0 0.78rem;
 color: var(--editorial-accent);
 font-size: 0.78rem;
 font-weight: 800;
 letter-spacing: 0.14em;
 text-transform: uppercase;
}

.editorial-pill,
.editorial-chip {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 justify-self: start;
 align-self: start;
 width: fit-content;
 min-height: 34px;
 padding: 0 0.9rem;
 border-radius: 12px;
 border: 1px solid rgba(26, 26, 26, 0.1);
 background: rgba(255, 255, 255, 0.88);
 font-size: 0.82rem;
 font-weight: 700;
 color: var(--editorial-ink);
 transition: background 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
}

.editorial-pill--accent {
 border-color: rgba(176, 137, 104, 0.3);
 background: rgba(176, 137, 104, 0.1);
}

.editorial-pill--soft {
 border-color: rgba(26, 26, 26, 0.08);
 background: rgba(255, 255, 255, 0.72);
}

.editorial-pill:hover {
 background: rgba(176, 137, 104, 0.08);
 border-color: rgba(176, 137, 104, 0.22);
}

.editorial-chip {
 cursor: pointer;
 transition: border-color 200ms ease, background 200ms ease, box-shadow 200ms ease;
}

.editorial-chip:hover {
 border-color: rgba(176, 137, 104, 0.3);
 box-shadow: 0 4px 12px rgba(26, 26, 26, 0.06);
}

.editorial-chip.is-active,
.editorial-chip--static {
 color: #fff;
 background: linear-gradient(135deg, #2c2218, #3d3028);
 border-color: transparent;
}

.editorial-hero {
 padding: 2.4rem 0 1rem;
}

.editorial-hero__grid {
 display: grid;
 grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
 gap: 1.2rem;
 align-items: start;
}

.editorial-team-shell {
 margin-top: 1.05rem;
}

.editorial-hero__copy,
.editorial-featured,
.editorial-promo,
.editorial-author-hero__grid {
 overflow: hidden;
 border: 1px solid var(--editorial-line);
 border-radius: 34px;
 background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(250, 249, 247, 0.88));
 box-shadow: var(--editorial-shadow);
}

.editorial-hero__copy {
 position: relative;
 padding: clamp(1.8rem, 3vw, 2.6rem);
}

.editorial-hero__copy::after,
.editorial-featured::after,
.editorial-author-hero__grid::after {
 content: "";
 position: absolute;
 inset: 0;
 pointer-events: none;
 background: radial-gradient(circle at top right, rgba(176, 137, 104, 0.1), transparent 34%);
}

.editorial-hero__copy h1,
.editorial-section h2,
.editorial-author-hero h1 {
 margin: 0;
 font-family: var(--font-display);
 font-size: clamp(2.7rem, 4.2vw, 4.25rem);
 line-height: 0.96;
 letter-spacing: -0.03em;
}

.editorial-hero__copy h1,
.editorial-author-hero h1 {
 letter-spacing: -0.07em;
}

.editorial-hero__lede,
.editorial-featured p,
.editorial-promo p,
.editorial-author-hero__bio {
 max-width: 36rem;
 font-family: var(--font-body);
 font-size: clamp(1.08rem, 1rem + 0.22vw, 1.22rem);
 line-height: 1.64;
 color: var(--editorial-ink-soft);
}

.editorial-hero__actions,
.editorial-promo__actions {
 display: flex;
 flex-wrap: wrap;
 gap: 0.9rem;
 margin-top: 1.5rem;
}

.editorial-team-band {
 display: grid;
 grid-template-columns: minmax(0, 1fr) auto;
 gap: 1.1rem;
 align-items: center;
 padding: 1.15rem 1.3rem;
 border-radius: 32px;
 border: 1px solid rgba(26, 26, 26, 0.08);
 background:
  radial-gradient(circle at top left, rgba(176, 137, 104, 0.08), transparent 34%),
  linear-gradient(180deg, rgba(255,255,255,0.94), rgba(250,249,247,0.82));
 box-shadow: var(--editorial-shadow-soft);
}

.editorial-team-band__summary {
 display: grid;
 grid-template-columns: auto minmax(0, 1fr);
 gap: 1.05rem;
 align-items: center;
 min-width: 0;
}

.editorial-team-band__avatars {
 display: flex;
 align-items: center;
 justify-content: flex-start;
 flex-wrap: nowrap;
 gap: 0;
}

.editorial-team-band__avatars img,
.editorial-card__author img,
.editorial-author-inline img {
 width: 100%;
 aspect-ratio: 1;
 object-fit: cover;
 border-radius: 50%;
}

.editorial-team-band__avatars img {
 width: 52px;
 height: 52px;
 margin-left: -12px;
 border: 3px solid rgba(255,255,255,0.9);
 box-shadow: 0 8px 20px rgba(26,26,26,0.12);
}

.editorial-team-band__avatars img:first-child {
 margin-left: 0;
}

.editorial-team-band__copy {
 display: grid;
 gap: 0.45rem;
 min-width: 0;
}

.editorial-team-band__copy strong,
.editorial-card__author strong {
 display: block;
 max-width: 42ch;
 font-size: clamp(1.06rem, 1rem + 0.2vw, 1.24rem);
 line-height: 1.06;
 letter-spacing: -0.03em;
}

.editorial-team-band__copy span,
.editorial-card__author small {
 display: block;
 color: var(--editorial-ink-soft);
 max-width: 76ch;
 font-size: 1rem;
 line-height: 1.52;
}

.editorial-card__author small {
 display: -webkit-box;
 -webkit-line-clamp: 1;
 -webkit-box-orient: vertical;
 overflow: hidden;
}

.editorial-team-band__link {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 justify-self: end;
 gap: 0.55rem;
 min-height: 50px;
 padding: 0 1.2rem 0 1.3rem;
 border-radius: 999px;
 border: 1px solid rgba(26, 26, 26, 0.08);
 background: linear-gradient(135deg, #6b5243, #7d6354);
 color: #fff;
 font-size: 0.95rem;
 font-weight: 800;
 letter-spacing: -0.02em;
 white-space: nowrap;
 text-decoration: none;
 box-shadow: 0 14px 28px rgba(26, 26, 26, 0.16);
 transition: box-shadow 200ms ease, background 200ms ease;
}

.editorial-team-band__link:hover {
 background: linear-gradient(135deg, #7d6354, #8f7565);
 box-shadow: 0 18px 34px rgba(26, 26, 26, 0.22);
}

.editorial-team-band__link svg {
 width: 1rem;
 height: 1rem;
 flex: 0 0 auto;
}

.editorial-featured {
 position: relative;
 display: grid;
 grid-template-rows: auto 1fr;
 align-self: start;
 text-decoration: none;
 background:
  radial-gradient(circle at top right, rgba(176, 137, 104, 0.1), transparent 34%),
  linear-gradient(180deg, rgba(255,255,255,0.98), rgba(250,249,247,0.82));
 transition: box-shadow 200ms ease, border-color 200ms ease;
}

.editorial-featured:hover {
 border-color: rgba(176, 137, 104, 0.28);
 box-shadow: var(--editorial-shadow-hover);
}

.editorial-featured__image {
 position: relative;
 overflow: hidden;
 height: clamp(240px, 24vw, 320px);
 background: linear-gradient(180deg, rgba(245, 237, 228, 0.62), rgba(255, 255, 255, 0.9));
}

.editorial-featured__image::after,
.editorial-card__image::after {
 content: "";
 position: absolute;
 inset: 0;
 background: linear-gradient(180deg, transparent, rgba(26, 26, 26, 0.12));
}

.editorial-featured__image img,
.editorial-card__image img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: center center;
 transform: scale(1.02);
}

.editorial-featured__body {
 display: grid;
 gap: 0.9rem;
 padding: 1.3rem 1.35rem 1.45rem;
}

.editorial-featured h2 {
 margin: 0;
 font-family: var(--font-display);
 font-size: clamp(2rem, 3vw, 3rem);
 line-height: 0.96;
 letter-spacing: -0.06em;
}

.editorial-featured__meta,
.editorial-card__meta {
 display: flex;
 flex-wrap: wrap;
 gap: 0.75rem;
 color: var(--editorial-ink-soft);
 font-size: 0.92rem;
 align-items: center;
}

.editorial-featured__meta span:not(.editorial-pill),
.editorial-card__meta span:not(.editorial-pill) {
 display: inline-flex;
 align-items: center;
 min-height: 34px;
 padding: 0 0.3rem;
 font-weight: 600;
}

.editorial-section {
 padding: 5rem 0;
}

.editorial-section--muted {
 padding-top: 1rem;
}

.editorial-section__head {
 display: flex;
 align-items: end;
 justify-content: space-between;
 gap: 1.5rem;
 margin-bottom: 2rem;
}

.editorial-section h2 {
 max-width: 16ch;
 font-size: clamp(2rem, 3.8vw, 3.2rem);
 letter-spacing: -0.02em;
}

.editorial-filterbar {
 display: flex;
 flex-wrap: wrap;
 gap: 0.65rem;
 margin-bottom: 1.3rem;
}

.editorial-grid {
 display: grid;
 gap: 1.75rem;
}

.editorial-grid--three {
 grid-template-columns: repeat(3, minmax(0, 1fr));
}

.editorial-grid--two {
 grid-template-columns: repeat(2, minmax(0, 1fr));
}

.editorial-grid--contributors {
 grid-template-columns: repeat(4, minmax(0, 1fr));
}

.editorial-card {
 min-width: 0;
}

.editorial-card__link {
 display: grid;
 grid-template-rows: auto 1fr;
 overflow: hidden;
 height: 100%;
 border: 1px solid var(--editorial-line);
 border-radius: 14px;
 background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(250,249,247,0.88));
 box-shadow: var(--editorial-shadow-soft);
 text-decoration: none;
 transition: box-shadow 200ms ease, border-color 200ms ease;
}

.editorial-card__link:hover {
 border-color: rgba(176, 137, 104, 0.28);
 box-shadow: var(--editorial-shadow-hover);
}

.editorial-card__image {
 position: relative;
 overflow: hidden;
 aspect-ratio: 16 / 9;
 min-height: 0;
 background: linear-gradient(180deg, rgba(245, 237, 228, 0.62), rgba(255, 255, 255, 0.9));
}

.editorial-card__body {
 display: flex;
 flex-direction: column;
 gap: 1rem;
 padding: 1.4rem 1.4rem 1.5rem;
}

.editorial-card h3,
.editorial-contributor h3 {
 margin: 0;
 font-family: var(--font-display);
 font-size: clamp(1.55rem, 2vw, 2.15rem);
 line-height: 0.98;
 letter-spacing: -0.03em;
}

.editorial-contributor h3 {
 font-size: clamp(1.3rem, 1.1rem + 0.55vw, 1.75rem);
 line-height: 0.94;
}

.editorial-card p,
.editorial-contributor__bio {
 margin: 0;
 font-family: var(--font-body);
 font-size: 1rem;
 line-height: 1.58;
 color: var(--editorial-ink-soft);
}

.editorial-card h3 {
 display: -webkit-box;
 -webkit-line-clamp: 3;
 -webkit-box-orient: vertical;
 overflow: hidden;
}

.editorial-card p {
 display: -webkit-box;
 -webkit-line-clamp: 3;
 -webkit-box-orient: vertical;
 overflow: hidden;
}

.editorial-card__author {
 display: grid;
 grid-template-columns: 44px 1fr;
 gap: 0.85rem;
 align-items: center;
 margin-top: auto;
 padding-top: 0.85rem;
 border-top: 1px solid rgba(26, 26, 26, 0.08);
}

.editorial-card--compact .editorial-card__link {
 grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
 grid-template-rows: none;
}

.editorial-card--compact .editorial-card__image {
 aspect-ratio: 16 / 9;
 min-height: 0;
}

.editorial-contributor {
 display: grid;
 grid-template-columns: 96px 1fr;
 gap: 1.25rem;
 align-items: start;
 padding: 1.5rem;
 border-radius: 16px;
 border: 1px solid var(--editorial-line);
 background:
  radial-gradient(circle at top right, rgba(176, 137, 104, 0.08), transparent 30%),
  linear-gradient(180deg, rgba(255,255,255,0.98), rgba(250,249,247,0.82));
 box-shadow: var(--editorial-shadow-soft);
 text-decoration: none;
 transition: box-shadow 200ms ease, border-color 200ms ease;
}

.editorial-contributor:hover {
 border-color: rgba(176, 137, 104, 0.26);
 box-shadow: var(--editorial-shadow-hover);
}

.editorial-contributor__body {
 display: grid;
 gap: 0.55rem;
 min-width: 0;
}

.editorial-contributor__media {
 width: 96px;
 height: 96px;
 border-radius: 28px;
 overflow: hidden;
 border: 1px solid rgba(26, 26, 26, 0.06);
 box-shadow: 0 16px 32px rgba(26, 26, 26, 0.1);
}

.editorial-contributor__media img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 border-radius: 0;
}

.editorial-contributor__eyebrow {
 margin: 0;
 color: var(--editorial-accent);
 font-size: 0.7rem;
 font-weight: 800;
 letter-spacing: 0.16em;
 text-transform: uppercase;
}

.editorial-contributor__role {
 margin: -0.1rem 0 0.15rem;
 color: var(--editorial-accent);
 font-size: 1rem;
 font-weight: 700;
 line-height: 1.25;
}

.editorial-contributor__bio {
 display: -webkit-box;
 -webkit-line-clamp: 3;
 -webkit-box-orient: vertical;
 overflow: hidden;
 font-size: 0.98rem;
 line-height: 1.62;
}

.editorial-contributor__footer {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 0.75rem;
 margin-top: 0.65rem;
 padding-top: 0.75rem;
 border-top: 1px solid rgba(26, 26, 26, 0.08);
}

.editorial-contributor__count {
 display: inline-flex;
 align-items: center;
 min-height: 32px;
 padding: 0 0.82rem;
 border-radius: 999px;
 border: 1px solid rgba(26, 26, 26, 0.08);
 background: rgba(255, 255, 255, 0.72);
 color: var(--editorial-ink-soft);
 font-size: 0.82rem;
 font-weight: 700;
}

.editorial-contributor__link {
 color: var(--editorial-ink);
 font-size: 0.9rem;
 font-weight: 800;
 letter-spacing: -0.02em;
}

.editorial-contributor__link::after {
 content: " ->";
}

.editorial-promo {
 display: grid;
 grid-template-columns: minmax(0, 1fr) auto;
 gap: 1.2rem;
 align-items: center;
 padding: 1.8rem 2rem;
 background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(250, 249, 247, 0.92));
}

.editorial-footer {
 padding: 2rem 0 3.5rem;
}

.editorial-footer__grid {
 display: grid;
 grid-template-columns: minmax(0, 1.25fr) repeat(3, minmax(0, 0.5fr));
 gap: 1.2rem;
 padding: 2rem;
 border: 1px solid var(--editorial-line);
 border-radius: 34px;
 background: rgba(255, 255, 255, 0.84);
 box-shadow: var(--editorial-shadow-soft);
}

.editorial-footer h2,
.editorial-footer h3 {
 margin: 0 0 0.65rem;
 font-family: var(--font-display);
 letter-spacing: -0.05em;
}

.editorial-footer h2 {
 font-size: clamp(1.9rem, 2.8vw, 2.75rem);
}

.editorial-footer h3 {
 font-size: 1rem;
}

.editorial-footer p {
 margin: 0 0 1rem;
 color: var(--editorial-ink-soft);
 font-family: var(--font-body);
 font-size: 1.06rem;
 line-height: 1.62;
}

.editorial-footer a {
 display: block;
 margin: 0.38rem 0;
 text-decoration: none;
 color: var(--editorial-ink-soft);
}

.editorial-footer a.editorial-button {
 display: inline-flex;
 margin-top: 0.9rem;
 color: #fff !important;
}

.editorial-author-hero {
 padding-top: 2.4rem;
}

.editorial-author-hero__grid {
 display: grid;
 grid-template-columns: 240px minmax(0, 1fr);
 gap: 1.5rem;
 padding: 1.6rem;
}

.editorial-author-hero__image {
 width: 100%;
 aspect-ratio: 1;
 object-fit: cover;
 border-radius: 32px;
}

.editorial-author-hero__role {
 margin: 0.55rem 0;
 color: var(--editorial-accent);
 font-weight: 800;
}

.editorial-chipset {
 display: flex;
 flex-wrap: wrap;
 gap: 0.6rem;
 margin-top: 1rem;
}

.editorial-reveal {
 opacity: 0;
 transform: translateY(30px);
 transition: transform 200ms ease, opacity 200ms ease;
}

.editorial-reveal.is-visible {
 opacity: 1;
 transform: translateY(0);
}

@media (max-width: 1080px) {
 .editorial-grid--three,
 .editorial-footer__grid {
 grid-template-columns: repeat(2, minmax(0, 1fr));
 }

 .editorial-grid--contributors {
 grid-template-columns: repeat(2, minmax(0, 1fr));
 }

 .editorial-hero__grid,
 .editorial-promo {
 grid-template-columns: 1fr;
 }

 .editorial-card--compact .editorial-card__link {
 grid-template-columns: 1fr;
 }

 .editorial-team-band {
 grid-template-columns: 1fr;
 gap: 0.9rem;
 }

 .editorial-team-shell {
  margin-top: 0.9rem;
 }

 .editorial-team-band__summary {
 grid-template-columns: 1fr;
 }
}

@media (max-width: 780px) {
 :root {
 --editorial-shell: min(100vw - 24px, 100%);
 }

 .editorial-nav__inner {
 flex-wrap: wrap;
 justify-content: center;
 padding: 0.8rem 0;
 }

 .editorial-nav__links {
 width: 100%;
 justify-content: center;
 flex-wrap: wrap;
 }

 .editorial-grid--three,
 .editorial-grid--two,
 .editorial-grid--contributors,
 .editorial-footer__grid,
 .editorial-author-hero__grid {
 grid-template-columns: 1fr;
 }

 .editorial-contributor {
 grid-template-columns: 1fr;
 }

 .editorial-section h2,
 .editorial-hero__copy h1,
 .editorial-author-hero h1 {
 max-width: none;
 }

 .editorial-featured {
 grid-template-rows: 240px auto;
 }

 .editorial-team-band {
  padding: 0.95rem;
 }

 .editorial-team-band__summary {
 gap: 0.85rem;
 }

 .editorial-team-band__avatars,
  .editorial-team-band__copy {
 justify-content: center;
 text-align: center;
 }

 .editorial-team-band__link {
 width: 100%;
 justify-self: stretch;
 min-height: 50px;
 }

 .editorial-contributor__media,
 .editorial-author-hero__image {
 max-width: 220px;
 }

 .editorial-contributor__media,
 .editorial-author-hero__image {
 margin: 0 auto;
 }
}

@media (prefers-reduced-motion: reduce) {
 html {
 scroll-behavior: auto;
 }

 .editorial-button,
 .editorial-chip,
 .editorial-pill,
 .editorial-card__link,
 .editorial-contributor,
 .editorial-featured,
 .editorial-reveal {
 transition: none !important;
 transform: none !important;
 opacity: 1 !important;
 }
}
