/* Chronicle Style — soft, warm lifestyle magazine: cream, plum, terracotta. Fraunces + DM Sans. */
:root {
  --bg: #fbf5ee; --ink: #3b1d30; --muted: #7d6870; --line: #ecdfd4; --card: #fffaf5;
  --accent: #c4553b; --accent-ink: #fff; --blush: #f3d9cf; --sage: #8c9b7c;
  --font-display: "Fraunces", Georgia, serif; --font-body: "DM Sans", system-ui, sans-serif;
  --radius: 18px;
}
h1, h2, h3 { font-weight: 500; font-variation-settings: "SOFT" 100, "opsz" 72; }
.masthead__bar { border: 0; }
.masthead__logo { font-size: clamp(48px, 9vw, 112px); font-weight: 300; font-style: italic; letter-spacing: -.03em; margin-top: 8px; }
.masthead__tag { font-size: 15px; letter-spacing: .02em; }
.nav { border: 0; gap: 8px; text-transform: none; letter-spacing: 0; font-size: 15px; font-weight: 500; }
.nav a { padding: 7px 16px; border-radius: 999px; border: 0; background: transparent; transition: background .2s; }
.nav a:hover, .nav a[aria-current] { background: var(--blush); }

/* cover */
.cover { max-width: var(--max); margin: 0 auto; padding: 28px var(--gutter) 0; display: grid; grid-template-columns: 1.7fr 1fr; gap: 28px; }
.cover__main { position: relative; display: block; min-height: 560px; border-radius: 28px; overflow: hidden; color: #fff; background: var(--ink); }
.cover__img, .cover__main .ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.cover__main:hover .cover__img { transform: scale(1.03); }
.cover__main::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 25%, rgba(43,15,32,.55) 55%, rgba(43,15,32,.92)); }
.cover__text { position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; padding: clamp(22px, 4vw, 44px); }
.cover__text h1 { font-size: clamp(32px, 4.6vw, 62px); line-height: 1.03; margin: 10px 0 12px; font-weight: 400; }
.cover__text p { opacity: .85; max-width: 56ch; }
.cover__text .kicker { color: var(--blush); }
.cover__side { display: flex; flex-direction: column; gap: 18px; padding: 22px; background: var(--card); border-radius: 28px; border: 1px solid var(--line); }
.cover__side .story--mini .story__media { border-radius: 50%; width: 92px; }
@media (max-width: 900px) { .cover { grid-template-columns: 1fr; } .cover__main { min-height: 440px; } }

.section__head h2 { font-weight: 400; font-style: italic; }
.story__media { border-radius: var(--radius); }
.story__title { font-weight: 500; }
.story__source { color: var(--accent); }
.wire-grid { gap: 40px 28px; }
.chip { border-color: transparent; background: var(--blush); }
.chip.is-active { background: var(--ink); }
.ph { background: radial-gradient(circle at 30% 30%, #f3d9cf, #c4553b 60%, #3b1d30); }

/* moods */
.moods .lens-tiles { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.lens-tile__n { white-space: nowrap; }
.lens-tile { border: 0; border-radius: 999px; min-height: 0; padding: 22px 26px; flex-direction: row; align-items: baseline; justify-content: space-between; gap: 10px; }
.lens-tile:nth-child(6n+1) { background: #f3d9cf; } .lens-tile:nth-child(6n+2) { background: #e3e8d6; } .lens-tile:nth-child(6n+3) { background: #f6e4c4; }
.lens-tile:nth-child(6n+4) { background: #e8dbe8; } .lens-tile:nth-child(6n+5) { background: #d9e6ea; } .lens-tile:nth-child(6n+6) { background: #f1d4d4; }
.lens-tile__label { font-size: 26px; font-style: italic; }
.lens-tile:hover { background: var(--ink); color: var(--bg); transform: rotate(-1.5deg) translateY(-3px); }

/* edit carousel */
.edit { max-width: none; background: linear-gradient(180deg, var(--bg), #f3e4d8); padding-bottom: clamp(36px, 5vw, 60px); margin-top: clamp(36px, 6vw, 72px); }
.edit > * { max-width: calc(var(--max) - 2 * var(--gutter)); margin-left: auto; margin-right: auto; }
.carousel { grid-auto-columns: minmax(210px, 250px); }
.partner { background: var(--card); border-radius: 22px; padding: 10px 10px 16px; box-shadow: 0 12px 30px -22px rgba(59,29,48,.5); transition: transform .3s; }
.partner:hover { transform: translateY(-4px) rotate(-.6deg); }
.partner__media { border-radius: 16px; }
.partner__name, .partner__blurb { padding: 0 6px; }

.post__media { border-radius: var(--radius); }
.post__title { font-weight: 400; }
.footer { border-top: 0; background: var(--ink); color: #f3e6dc; border-radius: 36px 36px 0 0; max-width: none; padding-inline: max(var(--gutter), calc((100% - var(--max)) / 2 + var(--gutter))); }
.footer__logo { font-style: italic; font-weight: 300; }
.footer__brand p, .footer__fine, .footer__cols h4 { color: #c4aeb6; }
.footer__fine { border-color: #5a3a4d; }
.footer__cols a:hover { color: var(--blush); }
