:root {
  --paper: #fbf8f1;
  --cream: #f1e9dc;
  --wine: #6c2037;
  --wine-dark: #3f1723;
  --ink: #2b2521;
  --muted: #5f554c;
  --line: #d9cebf;
  --serif: "Alegreya", Georgia, serif;
  --sans: "Lato", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }
:focus-visible { outline: 3px solid #9b6c37; outline-offset: 4px; }

.header {
  position: sticky;
  top: 0;
  z-index: 10;
  height: 88px;
  padding: 0 6%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(251, 248, 241, .97);
  border-bottom: 1px solid var(--line);
}
.brand { display: inline-flex; align-items: center; }
.brand img { display: block; width: 140px; height: auto; }
.nav { display: flex; align-items: center; gap: 28px; font-size: 14px; }
.nav > a:not(.nav-cta) { color: #49413b; transition: color .2s ease; }
.nav > a:not(.nav-cta):hover { color: var(--wine); }
.nav-cta {
  padding: 14px 20px;
  color: #fffaf4;
  background: var(--wine);
  transition: background-color .2s ease;
}
.nav-cta:hover, .button-dark:hover { background: var(--wine-dark); }
.menu-toggle { display: none; }

.hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 7%;
  min-height: 620px;
  padding: 50px 6%;
  background: var(--cream);
}
.hero-copy { max-width: 530px; padding-left: 4%; }
.eyebrow, .section-label {
  margin: 0;
  color: var(--wine);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
}
.hero h1 {
  margin: 28px 0 22px;
  color: var(--wine-dark);
  font: 600 clamp(50px, 5.8vw, 72px)/1 var(--serif);
  letter-spacing: -.035em;
}
.hero h1 em, h2 em { color: var(--wine); font-style: normal; font-weight: 600; }
.hero-text {
  max-width: 460px;
  margin: 0;
  color: #473f39;
  font-size: 17px;
  line-height: 1.75;
}
.hero-actions { display: flex; align-items: center; gap: 28px; margin-top: 30px; }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 15px 20px;
  font-size: 14px;
  font-weight: 700;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.button-dark { color: white; background: var(--wine); }
.button-cream { color: var(--wine-dark); background: var(--paper); }
.button-cream:hover { background: white; }
.button-outline { color: var(--wine-dark); border: 1px solid var(--wine); }
.button-outline:hover { color: white; background: var(--wine); }
.text-link, .under-link {
  display: inline-block;
  padding-bottom: 5px;
  color: var(--wine-dark);
  border-bottom: 1px solid #a88778;
  font-size: 14px;
}
.hero-note {
  margin-top: 34px;
  padding-top: 16px;
  color: #554b43;
  border-top: 1px solid #d4c7b6;
  font-size: 13px;
}
.hero-note span { padding: 0 5px; color: var(--wine); }
.hero-visual { position: relative; height: 540px; }
.hero-visual > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
}

.section-pad { padding: 92px 9%; }
.section-label { font-size: 12px; }
.intro-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: end;
  gap: 10%;
  margin: 32px 0 48px;
}
.intro h2, .experience h2, .visit h2 {
  margin: 0;
  color: var(--wine-dark);
  font: 600 clamp(42px, 5vw, 62px)/1.02 var(--serif);
  letter-spacing: -.025em;
}
.intro-grid > div { max-width: 490px; }
.intro-grid p, .experience-head > p, .visit-left > p {
  color: #4e453e;
  font-size: 16px;
  line-height: 1.75;
}
.intro-grid p { margin: 10px 0; }
.lead {
  color: var(--ink) !important;
  font: 600 22px/1.4 var(--serif) !important;
}
.under-link { margin-top: 8px; }
.occasion-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 0 0 56px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.occasion-row article { padding: 20px 24px 22px; border-right: 1px solid var(--line); }
.occasion-row article:last-child { border-right: 0; }
.occasion-row article > span { color: var(--wine); font-size: 13px; }
.occasion-row h3 {
  margin: 9px 0 5px;
  color: var(--wine-dark);
  font: 600 25px/1.1 var(--serif);
}
.occasion-row p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.65; }

.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.product-card { min-width: 0; }
.product-card img {
  display: block;
  width: 100%;
  height: 280px;
  object-fit: cover;
  background: #e8dfd2;
}
.product-large img { object-position: center 55%; }
.product-small { padding-top: 0; }
.product-small img { object-position: center 55%; }
.product-wide { display: block; grid-column: auto; padding-top: 0; }
.product-wide img { height: 280px; }
.product-tag { margin-top: 16px; color: var(--wine); font-size: 12px; font-weight: 700; }
.product-card h3 { margin: 8px 0 5px; color: var(--wine-dark); font: 600 25px/1.15 var(--serif); }
.product-card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.65; }

.quote-band {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  background: var(--wine-dark);
  color: var(--paper);
}
.quote-image { min-height: 500px; }
.quote-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 38%; }
.quote-copy { align-self: center; padding: 68px 12%; }
.quote-copy .section-label { color: #e3c99f; }
.quote-copy h2 { margin: 26px 0 16px; font: 600 clamp(40px, 4.2vw, 54px)/1.06 var(--serif); }
.quote-copy h2 em { color: #e3c99f; }
.quote-copy > p:not(.section-label) { max-width: 430px; margin: 0 0 25px; color: #f3eade; font-size: 16px; line-height: 1.75; }

.experience-head { display: flex; align-items: end; justify-content: space-between; gap: 8%; margin: 30px 0 40px; }
.experience-head > p { max-width: 420px; margin: 0; }
.gallery { display: grid; grid-template-columns: 1.1fr .9fr; align-items: start; gap: 34px 5%; }
.gallery figure { min-width: 0; margin: 0; }
.gallery img { display: block; width: 100%; height: 320px; object-fit: cover; }
.gallery .gallery-tall { grid-row: span 2; }
.gallery .gallery-tall img { height: 675px; }
.gallery figcaption { padding-top: 10px; color: var(--muted); font: 500 15px/1.4 var(--serif); }

.visit {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  align-items: center;
  gap: 9%;
  padding: 90px 9%;
  background: #eee7dc;
}
.visit h2 { margin: 28px 0 14px; }
.visit-left > p { max-width: 480px; margin: 0; }
.visit-details { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 28px; margin: 30px 0; }
.visit-details > div > span { color: var(--wine); font-size: 12px; font-weight: 700; }
.visit-details p { margin: 7px 0 0; color: #332c27; font-size: 15px; line-height: 1.6; }
.visit-details small { color: #51473f; font-size: 12px; }
.visit-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.map-card { min-height: 390px; overflow: hidden; background: #ded8cc; }
.map-card iframe { display: block; width: 100%; height: 430px; border: 0; filter: saturate(.82) contrast(1.02); }

.last-cta { padding: 76px 20px 82px; color: var(--paper); background: var(--wine); text-align: center; }
.last-cta .eyebrow { color: #f0daba; }
.last-cta h2 { margin: 19px 0 26px; font: 600 clamp(40px, 5vw, 58px)/1.08 var(--serif); }
.last-cta h2 em { color: #f0daba; }

.footer {
  display: grid;
  grid-template-columns: 1fr 1.2fr 1fr;
  align-items: start;
  gap: 24px;
  padding: 44px 7% 20px;
  color: var(--paper);
  background: #241c19;
}
.footer-brand { color: #f0daba; font: 600 24px/1 var(--serif); }
.footer-brand strong { font-size: 14px; letter-spacing: .12em; }
.footer > p, .footer-links { margin: 0; color: #e2d8cd; font-size: 14px; line-height: 1.7; }
.footer-links { display: flex; flex-direction: column; }
.footer-bottom {
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-top: 18px;
  padding-top: 16px;
  color: #d2c5b8;
  border-top: 1px solid #ffffff30;
  font-size: 11px;
}
.floating-wa {
  position: fixed;
  right: 22px;
  bottom: 20px;
  z-index: 9;
  display: flex;
  align-items: center;
  padding: 13px 18px;
  border: 1px solid #d5e7dc;
  border-radius: 2px;
  color: white;
  background: #17643e;
  box-shadow: 0 5px 18px #1b140f30;
  font-size: 14px;
  font-weight: 700;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
}
.has-scrolled .floating-wa { opacity: 1; visibility: visible; transform: translateY(0); }
body.contact-zone-active .floating-wa { opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(8px); }
.wa-icon { display: none; }

/* TuttoCaffe pickup partnership */
.coffee-ribbon { display:flex; align-items:center; justify-content:center; gap:26px; min-height:72px; padding:12px 6%; color:#173a2b; background:#f1e9dc; border-bottom:1px solid #d9cebf; }
.tc-wordmark { display:inline-flex; align-items:baseline; color:#ed7c24; font:700 23px/1 var(--sans); letter-spacing:-.055em; white-space:nowrap; }
.tc-wordmark b { font-weight:700; }
.tc-wordmark small { color:#28533c; font-size:.55em; letter-spacing:-.01em; }
.coffee-ribbon-copy { display:flex; flex-direction:column; gap:3px; font-size:13px; }
.coffee-ribbon-copy strong { font-size:14px; }
.coffee-ribbon-copy > span { color:#51473f; }
.coffee-ribbon-cta { color:#5f1c32; font-size:13px; font-weight:700; white-space:nowrap; }
.coffee-ribbon-cta span { padding-left:5px; }
.coffee-back { color:var(--wine-dark); font-size:14px; }
.coffee-hero { display:grid; grid-template-columns:1.03fr .97fr; min-height:650px; background:#f1e9dc; }
.coffee-copy { align-self:center; max-width:660px; padding:72px 10% 72px 12%; }
.tc-wordmark-large { margin-top:26px; font-size:33px; }
.coffee-copy h1 { margin:20px 0; color:var(--wine-dark); font:600 clamp(54px,6vw,76px)/.98 var(--serif); letter-spacing:-.035em; }
.coffee-copy h1 em { color:var(--wine); font-style:normal; }
.coffee-lead { margin:0; color:#302c28; font:600 22px/1.5 var(--serif); }
.coffee-body { margin:15px 0 0; color:#51473f; font-size:15px; line-height:1.75; }
.coffee-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.coffee-note { margin:14px 0 0; color:#554b43; font-size:12px; line-height:1.55; }
.coffee-image { position:relative; min-height:650px; overflow:hidden; background:#382d24; }
.coffee-image img { display:block; width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:70% center; }
.coffee-image::after { position:absolute; inset:auto 0 0; height:36%; background:linear-gradient(transparent,#241c19a8); content:""; }
.coffee-image-caption { position:absolute; z-index:1; right:28px; bottom:24px; left:28px; display:flex; justify-content:space-between; color:white; font-size:13px; font-weight:700; }
.coffee-details { padding:82px 9%; }
.coffee-section-heading h2,.coffee-systems h2,.coffee-pickup h2 { margin:18px 0 0; color:var(--wine-dark); font:600 clamp(38px,4.5vw,54px)/1.05 var(--serif); letter-spacing:-.025em; }
.coffee-steps { display:grid; grid-template-columns:repeat(3,1fr); margin-top:38px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.coffee-steps article { padding:24px 25px 28px; border-right:1px solid var(--line); }
.coffee-steps article:first-child { padding-left:0; }
.coffee-steps article:last-child { border-right:0; }
.coffee-steps article>span { color:var(--wine); font-size:13px; }
.coffee-steps h3 { margin:13px 0 7px; color:var(--wine-dark); font:600 25px/1.1 var(--serif); }
.coffee-steps p,.coffee-systems>p { color:#51473f; font-size:14px; line-height:1.7; }
.coffee-steps a { display:inline-block; margin-top:6px; color:var(--wine); font-size:13px; font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.coffee-systems { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:16px 10%; padding:72px 9%; background:#eee7dc; }
.coffee-systems>p { margin:0; font-size:15px; }
.coffee-systems .button { justify-self:start; }
.coffee-pickup { display:flex; justify-content:space-between; align-items:center; gap:32px; padding:65px 9%; color:var(--paper); background:var(--wine-dark); }
.coffee-pickup h2 { color:var(--paper); }
.coffee-pickup .eyebrow { color:#e3c99f; }
.coffee-pickup>div>p:not(.eyebrow) { color:#f3eade; font-size:15px; line-height:1.7; }
.coffee-pickup .coffee-note { color:#e2d8cd; }
.coffee-pickup-actions { display:flex; flex-direction:column; align-items:flex-start; gap:13px; }
.coffee-phone { color:#f3eade; font-size:14px; }

@media (max-width: 900px) {
  .coffee-ribbon { justify-content:flex-start; gap:18px; padding-right:5%; padding-left:5%; }
  .coffee-hero { grid-template-columns:1fr 1fr; min-height:560px; }
  .coffee-copy { padding:56px 8%; }
  .coffee-image { min-height:560px; }
  .coffee-details,.coffee-systems,.coffee-pickup { padding-right:6%; padding-left:6%; }
  .header { height: 86px; padding: 0 5%; }
  .brand img { width: 132px; }
  .menu-toggle { display: flex; flex-direction: column; gap: 6px; padding: 10px; border: 0; background: none; }
  .menu-toggle span { width: 23px; height: 1px; background: var(--wine-dark); }
  .nav {
    position: absolute;
    top: 86px;
    left: 0;
    right: 0;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 18px;
    padding: 20px 5% 24px;
    border-bottom: 1px solid var(--line);
    background: var(--paper);
    font-size: 16px;
  }
  .nav.open { display: flex; }
  .nav-cta { text-align: center; }
  .hero { grid-template-columns: 1fr; gap: 30px; padding: 36px 6% 46px; }
  .hero-copy { max-width: 650px; padding: 0; }
  .hero h1 { max-width: 680px; font-size: clamp(52px, 9vw, 74px); }
  .hero-visual { height: min(68vw, 500px); min-height: 340px; }
  .section-pad { padding: 70px 6%; }
  .intro-grid { gap: 6%; }
  .product-grid { gap: 20px; }
  .product-card img, .product-wide img { height: 230px; }
  .visit { grid-template-columns: 1fr; gap: 32px; padding: 70px 6%; }
  .map-card iframe { height: 340px; }
  .quote-copy { padding: 54px 8%; }
}

@media (max-width: 620px) {
  .coffee-ribbon { min-height:68px; gap:12px; padding:10px 5%; }
  .coffee-ribbon .tc-wordmark { font-size:18px; }
  .coffee-ribbon-copy { flex:1; font-size:11px; }
  .coffee-ribbon-copy strong { font-size:12px; }
  .coffee-ribbon-cta { font-size:0; }
  .coffee-ribbon-cta span { font-size:18px; }
  .coffee-back { font-size:12px; }
  .coffee-hero { grid-template-columns:1fr; }
  .coffee-copy { padding:44px 7% 38px; }
  .tc-wordmark-large { margin-top:21px; font-size:29px; }
  .coffee-copy h1 { font-size:56px; }
  .coffee-lead { font-size:20px; }
  .coffee-actions { flex-direction:column; }
  .coffee-actions .button { width:100%; }
  .coffee-image { min-height:380px; height:380px; }
  .coffee-image img { object-position:68% center; }
  .coffee-details { padding:55px 7%; }
  .coffee-steps { grid-template-columns:1fr; margin-top:25px; }
  .coffee-steps article,.coffee-steps article:first-child { padding:18px 0; border-right:0; border-bottom:1px solid var(--line); }
  .coffee-steps article:last-child { border-bottom:0; }
  .coffee-systems { grid-template-columns:1fr; gap:12px; padding:52px 7%; }
  .coffee-systems .button { width:100%; }
  .coffee-pickup { flex-direction:column; align-items:flex-start; padding:50px 7%; }
  .coffee-pickup-actions { width:100%; }
  .coffee-pickup-actions .button { width:100%; }
  .header { height: 80px; }
  .nav { top: 80px; }
  .brand img { width: 120px; }
  .hero { padding: 30px 6% 38px; }
  .hero h1 { margin: 21px 0 16px; font-size: clamp(46px, 12vw, 62px); }
  .hero-text { font-size: 16px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 17px; margin-top: 22px; }
  .hero-actions .button { width: 100%; }
  .hero-note { margin-top: 26px; }
  .hero-visual { height: 370px; min-height: 0; }
  .intro-grid { grid-template-columns: 1fr; gap: 16px; margin: 25px 0 32px; }
  .intro h2, .experience h2, .visit h2 { font-size: 46px; }
  .lead { font-size: 20px !important; }
  .occasion-row { grid-template-columns: 1fr; margin-bottom: 36px; }
  .occasion-row article { padding: 16px 4px; border-right: 0; border-bottom: 1px solid var(--line); }
  .occasion-row article:last-child { border-bottom: 0; }
  .occasion-row h3 { margin: 6px 0 4px; font-size: 23px; }
  .product-grid { grid-template-columns: 1fr; gap: 32px; }
  .product-card img, .product-wide img { height: 290px; }
  .product-card h3 { font-size: 25px; }
  .quote-band { grid-template-columns: 1fr; }
  .quote-image { height: 300px; min-height: 0; }
  .quote-copy { padding: 42px 7% 50px; }
  .quote-copy h2 { font-size: 42px; }
  .experience-head { display: block; margin: 25px 0 30px; }
  .experience-head > p { margin-top: 15px; }
  .gallery { grid-template-columns: 1fr 1fr; gap: 24px 14px; }
  .gallery .gallery-tall { grid-column: 1 / -1; grid-row: auto; }
  .gallery .gallery-tall img { height: 400px; }
  .gallery figure:not(.gallery-tall) img { height: 180px; }
  .gallery figcaption { font-size: 13px; }
  .visit-details { gap: 16px; }
  .visit-details p { font-size: 14px; }
  .visit-actions .button { width: 100%; }
  .map-card iframe { height: 290px; }
  .last-cta { padding: 58px 7% 64px; }
  .last-cta h2 { font-size: 42px; }
  .footer { grid-template-columns: 1fr; gap: 16px; padding: 36px 6% 18px; }
  .footer-bottom { grid-column: auto; display: grid; gap: 8px; }
  .floating-wa { right: 14px; bottom: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}


@media (max-width: 900px) {
  .intro-grid { align-items: start; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .floating-wa { display: none; }
}
@media (max-width: 620px) {
  .product-grid { grid-template-columns: 1fr; }
}

/* Carta alla spina, ritratto della titolare e archivio fotografico */
.wine-list { background:#f1e9dc; }
.wine-list-heading { display:grid; grid-template-columns:1fr .85fr; align-items:end; gap:9%; margin:30px 0 34px; }
.wine-list-heading h2,.storytime h2,.photo-stories h2 { margin:0; color:var(--wine-dark); font:600 clamp(42px,5vw,60px)/1.02 var(--serif); letter-spacing:-.03em; }
.wine-list-heading h2 em,.storytime h2 em,.photo-stories h2 em { color:var(--wine); font-style:normal; }
.wine-list-heading > p,.storytime-copy > p:not(.section-label),.photo-stories-head > p { margin:0; color:#51473f; font-size:15px; line-height:1.75; }
.wine-regions { display:grid; grid-template-columns:1.2fr 1fr .7fr; gap:20px; align-items:start; margin:0 0 24px; }
.wine-region { padding:24px; background:#fbf8f1; border-top:2px solid var(--wine); }
.wine-origin { margin:0 0 18px; color:var(--wine); font-size:11px; font-weight:700; letter-spacing:.08em; }
.wine-region h3 { margin:20px 0 8px; color:var(--wine-dark); font:600 22px/1.15 var(--serif); }
.wine-region h3:first-of-type { margin-top:0; }
.wine-region ul { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.wine-region li { display:flex; justify-content:space-between; gap:10px; padding-bottom:7px; color:#3c342e; border-bottom:1px solid #e7dfd4; font-size:13px; line-height:1.4; }
.wine-region li > small { flex:0 0 auto; color:#65584e; font-size:11px; }
.wine-region li span small { color:#65584e; font-size:11px; }
.wine-region-note { color:#51473f; font-size:13px; line-height:1.65; }
.wine-list > .under-link { margin-top:4px; }
.storytime { display:grid; grid-template-columns:.9fr 1.1fr; gap:9%; align-items:center; }
.storytime-photo { position:relative; height:450px; background:#262331; }
.storytime-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:56% center; }
.storytime-photo > span { position:absolute; right:0; bottom:0; left:0; padding:16px 18px; color:white; background:#241c19d9; font:600 17px/1.2 var(--serif); }
.storytime-copy h2 { margin:22px 0 17px; }
.storytime-copy > p:not(.section-label) { margin:0 0 13px; }
.storytime-copy .under-link { margin-top:6px; }
.photo-stories { padding-top:34px; }
.photo-stories-head { display:flex; align-items:end; justify-content:space-between; gap:8%; margin:22px 0 30px; }
.photo-stories-head > p { max-width:390px; }
.photo-story-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px 18px; }
.photo-story { min-width:0; margin:0; }
.photo-story img { display:block; width:100%; height:240px; object-fit:cover; background:#e8dfd2; }
.photo-story-tall { grid-column:span 2; grid-row:span 2; }
.photo-story-tall img { height:530px; }
.photo-story figcaption { padding-top:9px; color:#51473f; font:500 15px/1.4 var(--serif); }
@media (max-width: 900px) {
  .wine-regions { grid-template-columns:1fr 1fr; }
  .wine-region:last-child { grid-column:1 / -1; }
  .wine-list-heading { gap:5%; }
  .storytime { gap:6%; }
  .storytime-photo { height:390px; }
  .photo-story-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .photo-story img { height:210px; }
  .photo-story-tall img { height:450px; }
}
@media (max-width: 620px) {
  .wine-list-heading { grid-template-columns:1fr; gap:14px; margin:23px 0 25px; }
  .wine-list-heading h2,.storytime h2,.photo-stories h2 { font-size:43px; }
  .wine-regions { grid-template-columns:1fr; gap:13px; }
  .wine-region { padding:20px; }
  .wine-region:last-child { grid-column:auto; }
  .storytime { grid-template-columns:1fr; gap:24px; }
  .storytime-photo { height:360px; }
  .photo-stories { padding-top:8px; }
  .photo-stories-head { display:block; margin:20px 0 24px; }
  .photo-stories-head > p { margin-top:12px; }
  .photo-story-grid { grid-template-columns:1fr 1fr; gap:20px 12px; }
  .photo-story-tall { grid-column:1 / -1; grid-row:auto; }
  .photo-story img { height:180px; }
  .photo-story-tall img { height:370px; }
  .photo-story figcaption { font-size:13px; }
}
