/* =============================================================================
   Liora — pages/our-story.css

   Ported verbatim from 02_design-update_2026-08-27/our-story.html's <style>
   block. Loads after shell.css. Everything here is used by this page's markup
   and by no other page — verified by counting class occurrences in the five
   design files' markup, not by counting rule definitions.

   Deliberately NOT carried across from that file:

     · .page-hero* and .closing* — used by other inner pages too, so they live
       in shell.css. The per-page deltas for .closing are tabulated there.
     · the whole .feature-* family, the old .team / .team-inner / .team-grid /
       .team-title / .team-body / .team-photo / .team-captions block, and the
       .intro-* and .meaning-* families. All are dead: they are defined in
       our-story.html and used by NONE of the five pages' markup — leftovers
       from the round-1 layout this page replaced.
     · the Astra image-sizing !important block, whose four selectors
       (.intro-image img, .meaning-image img, .feature-image img,
       .team-photo img) are all dead here. This page's live image containers
       — .story-block-media, .pov-shot, .chef-photo — each already carry an
       explicit width/height/object-fit rule below, exactly as the design does.
   ============================================================================= */

/* ---------- Our Story — round 2 rebuild ---------- */
.prose{ font-size:16px; font-weight:300; line-height:1.85; color:var(--ink-soft); margin-bottom:22px; }
.prose:last-child{ margin-bottom:0; }
.prose.on-dark{ color:rgba(245,241,233,0.78); }
.prose.on-dark b{ color:#F5F1E9; font-weight:600; }

.story-block{ background:var(--bone); padding:120px 48px; }
.story-block-grid{ max-width:1240px; margin:0 auto; display:grid;
  grid-template-columns:5fr 6fr; gap:72px; align-items:center; }
.story-block-media{ width:100%; aspect-ratio:3/4; overflow:hidden; background:var(--bone-deep); }
.story-block-media img{ width:100%; height:100%; object-fit:cover; }
.story-block-text .eyebrow{ margin-bottom:22px; display:block; }

.pov{ background:var(--bone-deep); padding:120px 48px; }
.pov-inner{ max-width:1100px; margin:0 auto; }
.pov-head{ text-align:center; margin-bottom:34px; }
.pov-title{ font-family:var(--serif); font-style:italic; font-weight:400;
  font-size:clamp(32px,4.4vw,60px); line-height:1.05; margin-top:16px; }
.pov-lede{ text-align:center; max-width:100ch; margin:0 auto 56px; }
.pov-duo{ display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-bottom:56px; }
.pov-shot{ width:100%; aspect-ratio:3/4; overflow:hidden; background:var(--bone); }
.pov-shot img{ width:100%; height:100%; object-fit:cover; }
.pov-tail{ max-width:100ch; margin:0 auto; text-align:center; }

.team-block{ background:var(--ink); color:var(--bone); padding:130px 48px 48px; }
.team-block-inner{ max-width:1240px; margin:0 auto; }
.team-block-head{ text-align:center; margin-bottom:30px; }
.team-block-head .eyebrow{ color:#DB9C6E; }
.team-block-title{ font-family:var(--serif); font-style:italic; font-weight:400;
  font-size:clamp(32px,4.6vw,64px); line-height:1.04; margin-top:16px; }
.team-block-lede{ max-width:100ch; margin:0 auto 64px; text-align:center; }
.chef-row{ display:grid; grid-template-columns:repeat(3,1fr); gap:34px; margin-bottom:64px; }
.chef-card{ margin:0; }
.chef-photo{ width:100%; aspect-ratio:3/4; overflow:hidden; background:#181310; }
.chef-photo img{ width:100%; height:100%; object-fit:cover; }
.chef-caption{ display:flex; flex-direction:column; gap:5px; margin-top:18px; }
.chef-name{ font-family:var(--serif); font-style:italic; font-size:22px; color:#F5F1E9; }
.chef-role{ font-size:11px; letter-spacing:0.22em; text-transform:uppercase; color:#DB9C6E; font-weight:600; }
.team-block-tail{ max-width:100ch; margin:0 auto; text-align:center; }

@media (max-width:900px){
  .story-block{ padding:84px 24px; }
  .story-block-grid{ grid-template-columns:1fr; gap:38px; }
  .pov{ padding:84px 24px; }
  .pov-duo{ grid-template-columns:1fr; gap:18px; }
  .team-block{ padding:90px 24px 40px; }
  .chef-row{ grid-template-columns:1fr; gap:32px; max-width:340px; margin-left:auto; margin-right:auto; }
  .chef-caption{ align-items:center; text-align:center; }
}
