/* Pollen — botanical modernism rather than restaurant nostalgia.
 *
 * Deep greenhouse green, warm mineral paper and a sharp citron accent. The
 * identity is asymmetrical: an editorial hero, numbered collection rails and
 * a menu that reads like a specimen index. No other network brand uses this
 * combination or the five-dot pollen mark.
 */
:root {
  --s-paper:      #f3f1e9;
  --s-surface:    #fbfaf5;
  --s-surface-2:  #e5e7d7;
  --s-ink:        #18372e;
  --s-ink-soft:   #36554a;
  --s-muted:      #718078;
  --s-line:       #cfd4c7;
  --s-line-soft:  #e3e5db;
  --s-accent:     #173f33;
  --s-accent-ink: #f6f4eb;
  --s-accent-2:   #b7cd3f;
  --s-display: "Newsreader", Georgia, serif;
  --s-body: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;
  --s-wrap: 1240px;
  --s-radius: 0;
  --s-card-ratio: 4 / 5;
}

body { background: var(--s-paper); }
h1, h2, h3 { font-weight: 400; }
.sat-eyebrow { color: var(--s-accent); font-weight: 600; letter-spacing: .19em; }
.sat-btn { border-radius: 999px; padding: 13px 25px; }
.pollen-text-link {
  color: var(--s-ink); font-size: .76rem; font-weight: 600; letter-spacing: .1em;
  text-decoration: none; text-transform: uppercase;
}
.pollen-text-link:hover { color: var(--s-accent); text-decoration: underline; }

/* Header -------------------------------------------------------------- */
.pollen-header {
  background: rgba(243,241,233,.94); color: var(--s-ink);
  border-bottom: 1px solid var(--s-line); backdrop-filter: blur(12px);
  position: sticky; top: 0; z-index: 30;
}
.pollen-header .sat-header-inner { min-height: 78px; }
.pollen-header .sat-nav { gap: 22px; }
.pollen-header .sat-nav a {
  font-size: .7rem; letter-spacing: .13em; opacity: 1;
}
.pollen-logo {
  align-items: center; display: inline-flex; gap: 13px; font-size: 1.55rem;
  font-weight: 500; letter-spacing: .08em; text-transform: lowercase;
}
.pollen-mark { display: grid; grid-template-columns: repeat(3, 7px); gap: 2px; transform: rotate(-12deg); }
.pollen-mark i { width: 7px; height: 7px; background: var(--s-accent-2); border-radius: 50%; display: block; }
.pollen-mark i:nth-child(4) { grid-column: 1; }
.pollen-mark i:nth-child(5) { grid-column: 2; }

/* Homepage hero ------------------------------------------------------- */
.pollen-home-hero {
  min-height: 720px; padding: 74px 0 80px; position: relative; overflow: hidden;
  background: var(--s-paper);
}
.pollen-home-grid {
  display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(330px, .7fr);
  align-items: center; gap: clamp(44px, 7vw, 100px); position: relative; z-index: 2;
}
.pollen-home-copy h1 {
  font-size: clamp(3.8rem, 8.4vw, 7.7rem); letter-spacing: -.045em;
  line-height: .86; max-width: 9ch; margin: 14px 0 34px;
}
.pollen-home-copy h1 em { color: var(--s-accent); font-weight: 400; }
.pollen-home-copy .sat-lede { font-size: 1.17rem; max-width: 44ch; }
.pollen-hero-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; margin-top: 34px; }
.pollen-feature { color: var(--s-ink); text-decoration: none; position: relative; display: block; }
.pollen-feature-img {
  aspect-ratio: 4 / 5; overflow: hidden; background: var(--s-surface-2);
  box-shadow: 24px 24px 0 rgba(23,63,51,.09);
}
.pollen-feature-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.pollen-feature:hover .pollen-feature-img img { transform: scale(1.025); }
.pollen-feature-label {
  color: var(--s-muted); font-size: .64rem; letter-spacing: .17em;
  margin: 24px 0 6px; text-transform: uppercase;
}
.pollen-feature h2 { font-size: clamp(1.45rem, 2.2vw, 2rem); line-height: 1.07; }
.pollen-feature-empty {
  align-items: flex-end; aspect-ratio: 4 / 5; background: var(--s-accent);
  color: var(--s-accent-ink); display: flex; padding: 28px;
}
.pollen-feature-empty span { font-family: var(--s-display); font-size: 1.35rem; }
.pollen-orbit { border: 1px solid rgba(23,63,51,.13); border-radius: 50%; position: absolute; }
.pollen-orbit-a { width: 600px; height: 600px; left: -270px; top: 40px; }
.pollen-orbit-b { width: 260px; height: 260px; left: 42%; bottom: -180px; background: var(--s-accent-2); opacity: .22; }

.pollen-paths { background: var(--s-accent); color: var(--s-accent-ink); }
.pollen-path-grid { display: grid; grid-template-columns: repeat(3, 1fr); padding-top: 0; padding-bottom: 0; }
.pollen-path-grid a {
  color: inherit; display: grid; grid-template-columns: 34px 1fr; gap: 2px 12px;
  min-height: 184px; padding: 32px 34px; text-decoration: none;
  border-right: 1px solid rgba(255,255,255,.16);
}
.pollen-path-grid a:first-child { border-left: 1px solid rgba(255,255,255,.16); }
.pollen-path-grid span { color: var(--s-accent-2); font-size: .65rem; letter-spacing: .16em; }
.pollen-path-grid strong { font-family: var(--s-display); font-size: 1.6rem; font-weight: 400; }
.pollen-path-grid small { grid-column: 2; color: rgba(255,255,255,.66); font-size: .78rem; line-height: 1.55; }
.pollen-path-grid a:hover { background: rgba(255,255,255,.06); }

/* Recipe collections -------------------------------------------------- */
.sat-section { padding: 78px 0; }
.sat-section + .sat-section { border-color: var(--s-line); }
.sat-section-head { align-items: flex-end; }
.sat-section-head h2 { font-size: clamp(2.2rem, 4.5vw, 4rem); letter-spacing: -.025em; }
.sat-section-head .sat-eyebrow { margin-bottom: 9px; }
.sat-grid-4 { grid-template-columns: repeat(3, 1fr); gap: 52px 28px; }
.sat-card { gap: 11px; }
.sat-card-img { border-radius: 0; }
.sat-card-meta { color: var(--s-muted); font-size: .61rem; letter-spacing: .15em; }
.sat-card-title { font-family: var(--s-display); font-size: 1.3rem; font-weight: 400; }
.sat-card-desc { font-size: .82rem; }
.pollen-latest { background: var(--s-surface); }
.pollen-collection:nth-of-type(even) { background: rgba(255,255,255,.26); }
.pollen-notes { background: var(--s-surface-2); }
.pollen-notes-grid { display: grid; grid-template-columns: .55fr 1.45fr; gap: 72px; align-items: start; }
.pollen-notes-grid > div:first-child { position: sticky; top: 120px; }
.pollen-notes-grid .sat-grid { grid-template-columns: repeat(3, 1fr); }

/* Menu ---------------------------------------------------------------- */
.pollen-menu-hero {
  background: var(--s-accent); color: var(--s-accent-ink); padding: 118px 0 104px;
  position: relative; overflow: hidden;
}
.pollen-menu-hero::after {
  content: ""; width: 460px; height: 460px; border: 1px solid rgba(255,255,255,.15);
  border-radius: 50%; position: absolute; right: -100px; top: -230px;
}
.pollen-menu-hero h1 { color: inherit; font-size: clamp(4rem, 9vw, 8rem); letter-spacing: -.05em; }
.pollen-menu-hero .sat-lede { color: rgba(255,255,255,.72); margin-top: 22px; }
.pollen-menu-hero .sat-eyebrow { color: var(--s-accent-2); }
.pollen-menu-body { padding: 24px 0 86px; }
.pollen-menu-section { display: grid; grid-template-columns: .75fr 1.25fr; gap: 72px; padding: 76px 0; border-bottom: 1px solid var(--s-line); }
.pollen-menu-heading { display: grid; grid-template-columns: 40px 1fr; gap: 14px; align-items: start; }
.pollen-menu-heading > span { color: var(--s-accent-2); font-size: .74rem; letter-spacing: .12em; padding-top: 10px; }
.pollen-menu-heading h2 { font-size: clamp(2.2rem, 4vw, 3.7rem); margin-bottom: 14px; }
.pollen-menu-heading p { color: var(--s-muted); }
.pollen-menu-list { list-style: none; padding: 0; margin: 0; }
.pollen-menu-list li {
  align-items: baseline; border-top: 1px solid var(--s-line); display: grid;
  grid-template-columns: 38px 1fr auto; gap: 14px; padding: 19px 0;
}
.pollen-menu-list li:last-child { border-bottom: 1px solid var(--s-line); }
.pollen-menu-list span { color: var(--s-muted); font-size: .64rem; letter-spacing: .12em; }
.pollen-menu-list strong, .pollen-menu-list a {
  color: var(--s-ink); font-family: var(--s-display); font-size: 1.17rem;
  font-weight: 400; line-height: 1.25; text-decoration: none;
}
.pollen-menu-list a:hover { text-decoration: underline; }
.pollen-menu-list em {
  color: var(--s-muted); font-size: .62rem; font-style: normal;
  letter-spacing: .09em; text-transform: uppercase; white-space: nowrap;
}
.pollen-menu-note { background: var(--s-surface-2); padding: 28px 0; color: var(--s-muted); font-size: .8rem; }
.pollen-menu-note p { margin: 0; }

/* Historical about page ---------------------------------------------- */
.pollen-about-hero { background: var(--s-surface-2); padding: 112px 0 96px; }
.pollen-about-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(48px, 8vw, 120px); }
.pollen-about-hero h1 { font-size: clamp(3.6rem, 7.4vw, 7rem); letter-spacing: -.045em; line-height: .9; }
.pollen-about-hero .sat-lede { align-self: end; font-size: 1.2rem; }
.pollen-about-body { padding: 92px 0; }
.pollen-about-index { color: var(--s-accent-2); font-size: .72rem; letter-spacing: .18em; }
.pollen-about-copy { max-width: 720px; }
.pollen-about-copy article { border-top: 1px solid var(--s-line); padding: 38px 0 46px; }
.pollen-about-copy h2 { font-size: clamp(2rem, 4vw, 3.4rem); margin-bottom: 18px; }
.pollen-about-copy p { color: var(--s-ink-soft); }

/* Shared detail surfaces --------------------------------------------- */
.sat-article { padding-top: 64px; }
.sat-facts, .sat-ingredients { background: var(--s-surface); }
.sat-ingredients { border-top-color: var(--s-accent-2); }
.sat-steps li::before { border-radius: 50% 50% 45% 55%; background: var(--s-accent); color: var(--s-accent-ink); }

/* Footer -------------------------------------------------------------- */
.pollen-footer { background: #102b23; padding-top: 72px; }
.pollen-footer-lead { display: flex; justify-content: space-between; gap: 50px; align-items: end; padding-bottom: 58px; }
.pollen-footer-lead p:last-child { color: #a7b4ad; font-size: .85rem; }
.pollen-footer-word { color: #f1f0e7; font-family: var(--s-display); font-size: clamp(4rem, 9vw, 8rem); line-height: .8; }
.pollen-footer .sat-footer-grid { grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.12); padding-top: 34px; }

@media (max-width: 940px) {
  .pollen-home-grid { grid-template-columns: 1fr .8fr; gap: 38px; }
  .pollen-home-copy h1 { font-size: clamp(3.5rem, 10vw, 6rem); }
  .sat-grid-4 { grid-template-columns: repeat(2, 1fr); }
  .pollen-notes-grid { grid-template-columns: 1fr; }
  .pollen-notes-grid > div:first-child { position: static; }
  .pollen-menu-section { grid-template-columns: 1fr; gap: 30px; }
  .pollen-about-grid { grid-template-columns: 1fr; gap: 34px; }
}

@media (max-width: 720px) {
  .pollen-home-hero { min-height: 0; padding: 52px 0 64px; }
  .pollen-home-grid { grid-template-columns: 1fr; }
  .pollen-home-copy h1 { max-width: none; }
  .pollen-feature { max-width: 420px; }
  .pollen-path-grid { grid-template-columns: 1fr; }
  .pollen-path-grid a, .pollen-path-grid a:first-child { border: 0; border-bottom: 1px solid rgba(255,255,255,.16); min-height: 138px; }
  .pollen-footer-lead { align-items: start; flex-direction: column; }
}

@media (max-width: 520px) {
  .pollen-home-copy h1 { font-size: 3.35rem; }
  .sat-grid-4, .pollen-notes-grid .sat-grid { grid-template-columns: 1fr; }
  .sat-section { padding: 58px 0; }
  .pollen-menu-list li { grid-template-columns: 28px 1fr; }
  .pollen-menu-list em { display: none; }
  .pollen-footer .sat-footer-grid { grid-template-columns: 1fr; }
}
