/* =========================================================
   AOSE Parent Page
   parent pages shared UI
========================================================= */

.aose-parent-page {
  --aose-parent-wide: 1200px;
  --aose-parent-content: 800px;
  --aose-parent-narrow: 680px;
  --aose-parent-gutter: 18px;
  color: var(--aose-color-text, #272522);
}

.aose-parent-wide {
  width: min(
    calc(100% - (var(--aose-parent-gutter) * 2)),
    var(--aose-parent-wide)
  );
  margin-inline: auto;
}

.aose-parent-narrow {
  width: min(
    calc(100% - (var(--aose-parent-gutter) * 2)),
    var(--aose-parent-narrow)
  );
  margin-inline: auto;
}

.aose-section-label {
  margin: 0 0 10px;
  font-family: sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  opacity: .62;
}

.aose-parent-page h2 {
  margin: 0 0 24px;
  font-size: clamp(28px, 3vw, 44px);
  line-height: 1.45;
  font-weight: 500;
  letter-spacing: .03em;
}

.aose-parent-page h3 {
  font-weight: 500;
}

.aose-parent-page p {
  line-height: 2;
}

/* HERO */

.aose-parent-hero {
  position: relative;
  width: 100vw;
  height: clamp(420px, 32vw, 480px);
  margin-left: calc(50% - 50vw);
  overflow: hidden;
  background: #25221f;
}

.aose-parent-hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.aose-parent-hero__shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(18,17,15,.66) 0%,
      rgba(18,17,15,.34) 44%,
      rgba(18,17,15,.08) 76%
    );
}

.aose-parent-hero__content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: min(calc(100% - 36px), 1200px);
  margin: auto;
  color: #fff;
}

.aose-parent-hero__content h1 {
  margin: 0 0 14px;
  color: inherit;
  font-size: clamp(39px, 4.4vw, 64px);
  line-height: 1.25;
  font-weight: 500;
  letter-spacing: .05em;
}

.aose-parent-hero__eyebrow {
  margin-bottom: 14px !important;
  font-size: 11px;
  letter-spacing: .18em;
}

.aose-parent-hero__lead {
  margin: 0 0 18px !important;
  font-size: clamp(20px, 2vw, 28px);
  line-height: 1.65 !important;
}

.aose-parent-hero__text {
  margin: 0 !important;
  font-size: 15px;
  line-height: 1.9 !important;
}

/* PAGE NAV */

.aose-parent-nav {
  border-bottom: 1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.97);
}

.aose-parent-nav__inner {
  width: min(calc(100% - 36px), 1100px);
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}

.aose-parent-nav a {
  position: relative;
  display: flex;
  min-height: 62px;
  align-items: center;
  justify-content: center;
  padding: 12px;
  color: inherit;
  text-align: center;
  text-decoration: none;
  font-size: 13px;
}

.aose-parent-nav a + a::before {
  content: "";
  position: absolute;
  left: 0;
  width: 1px;
  height: 16px;
  background: rgba(0,0,0,.18);
}

/* INTRO */

.aose-parent-intro {
  padding: clamp(70px, 8vw, 120px) 0;
}

.aose-parent-split {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: clamp(40px, 7vw, 90px);
  align-items: center;
}

.aose-parent-split__text p {
  max-width: 560px;
}

.aose-parent-split__image {
  margin: 0;
}

.aose-parent-split__image img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

/* SECTION */

.aose-parent-section {
  padding: 0 0 clamp(80px, 9vw, 130px);
}

.aose-section-heading {
  margin-bottom: 36px;
}

.aose-section-heading > p:last-child {
  max-width: 680px;
}

.aose-section-heading--row {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
}

.aose-section-heading--row > a {
  color: inherit;
  font-size: 13px;
  text-decoration: none;
}

/* CARDS */

.aose-parent-card-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.aose-parent-card {
  overflow: hidden;
  background: #fff;
  color: inherit;
  text-decoration: none;
  box-shadow: 0 7px 24px rgba(30,25,18,.07);
}

.aose-parent-card figure {
  margin: 0;
}

.aose-parent-card img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  transition: transform .45s ease;
}

.aose-parent-card:hover img {
  transform: scale(1.025);
}

.aose-parent-card__body {
  padding: 20px 20px 18px;
}

.aose-parent-card__body h3 {
  margin: 0 0 8px;
  font-size: 19px;
}

.aose-parent-card__body p {
  min-height: 4em;
  margin: 0 0 14px;
  font-size: 13px;
  line-height: 1.75;
}

.aose-parent-card__body span {
  display: block;
  text-align: right;
  font-size: 12px;
}

/* STORY */

.aose-parent-story {
  position: relative;
  width: 100vw;
  min-height: 500px;
  margin-left: calc(50% - 50vw);
  overflow: hidden;
}

.aose-parent-story__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.aose-parent-story__shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(13,13,12,.75),
      rgba(13,13,12,.38) 52%,
      rgba(13,13,12,.08)
    );
}

.aose-parent-story__content {
  position: relative;
  z-index: 1;
  width: min(calc(100% - 36px), 1200px);
  margin-inline: auto;
  padding: clamp(70px, 8vw, 110px) 0;
  color: #fff;
}

.aose-parent-story__content h2 {
  color: inherit;
}

.aose-parent-story__content p {
  max-width: 550px;
}

.aose-parent-story__button {
  display: inline-flex;
  margin-top: 14px;
  padding: 13px 26px;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 999px;
  color: #fff;
  text-decoration: none;
}

/* MESSAGE */

.aose-parent-message {
  padding: clamp(90px, 10vw, 150px) 0;
  text-align: center;
}

.aose-parent-message p {
  font-size: 16px;
}

/* RELATED */

.aose-parent-related {
  padding: clamp(70px, 8vw, 110px) 0;
  background: #f7f5f1;
}

/* BOTTOM */

.aose-parent-bottom {
  padding: 70px 0;
}

.aose-parent-bottom__grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr 1fr;
  gap: 24px;
}

.aose-parent-bottom__card {
  min-height: 230px;
  padding: 28px;
  background: #faf9f7;
  color: inherit;
  text-decoration: none;
}

.aose-parent-bottom__card span {
  font-size: 10px;
  letter-spacing: .15em;
}

.aose-parent-bottom__card h3 {
  margin: 8px 0 6px;
  font-size: 22px;
}

.aose-parent-bottom__card--image {
  padding: 0;
  overflow: hidden;
}

.aose-parent-bottom__card--image img {
  width: 100%;
  aspect-ratio: 16 / 8;
  object-fit: cover;
}

.aose-parent-bottom__card--image div {
  padding: 22px 24px;
}

/* RESPONSIVE */

@media (max-width: 900px) {

  .aose-parent-card-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .aose-parent-bottom__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {

  .aose-parent-hero {
    height: clamp(360px, 105vw, 430px);
  }

  .aose-parent-hero__shade {
    background: rgba(18,17,15,.43);
  }

  .aose-parent-nav__inner {
    grid-template-columns: repeat(2, 1fr);
  }

  .aose-parent-nav a {
    min-height: 52px;
  }

  .aose-parent-nav a + a::before {
    display: none;
  }

  .aose-parent-split {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .aose-parent-split__image {
    order: -1;
  }

  .aose-parent-card-grid {
    grid-template-columns: 1fr;
  }

  .aose-parent-card__body p {
    min-height: 0;
  }

  .aose-parent-story {
    min-height: 560px;
  }

  .aose-parent-story__shade {
    background: rgba(13,13,12,.5);
  }

  .aose-section-heading--row {
    display: block;
  }
}

@media (prefers-reduced-motion: reduce) {

  .aose-parent-card img {
    transition: none;
  }
}
/* AOSE fermentation reference layout — scoped to this page only */
#main_content:has(.aose-parent-page) > .l-mainContent__inner > .c-pageTitle { display: none; }
#content:has(.aose-parent-page) { padding-top: 0; }
#main_content:has(.aose-parent-page) { width: 100%; max-width: none; margin: 0; padding: 0; }
#main_content:has(.aose-parent-page) .post_content { margin-top: 0; }
.aose-parent-page { font-family: var(--aose-font-serif); font-size: 15px; background: var(--aose-color-background); }
.aose-parent-page *, .aose-parent-page *::before, .aose-parent-page *::after { box-sizing: border-box; }
.aose-parent-page .aose-parent-wide,
.aose-parent-page .aose-parent-hero__content,
.aose-parent-page .aose-parent-story__content { width: min(calc(100% - 2 * var(--aose-gutter)), var(--aose-width-wide)); }
.aose-parent-page :is(h1,h2,h3) { font-family: var(--aose-font-serif); background: none; border: 0; padding: 0; box-shadow: none; color: inherit; }
.aose-parent-page :is(h1,h2,h3)::before,
.aose-parent-page :is(h1,h2,h3)::after { content: none; }
.aose-parent-page h2 { margin-bottom: 16px; font-size: clamp(25px, 2.8vw, 40px); line-height: 1.5; }
.aose-parent-page p { margin: 0 0 12px; line-height: 1.9; }
.aose-parent-page .aose-section-label { margin-bottom: 8px; }
.aose-parent-page .aose-parent-hero { width: 100%; margin-left: 0; height: clamp(400px, 41vw, 580px); }
.aose-parent-page .aose-parent-hero__image { display: block; height: 100% !important; object-position: center 58%; }
.aose-parent-page .aose-parent-hero__content h1 { font-weight: 400; font-size: clamp(38px, 5vw, 68px); margin: 0 0 18px; }
.aose-parent-page .aose-parent-hero__eyebrow { display: none; }
.aose-parent-page .aose-parent-hero__lead { font-size: clamp(21px, 2.5vw, 32px); font-weight: 400; }
.aose-parent-page .aose-parent-hero__text { font-size: clamp(14px, 1.5vw, 18px); }
.aose-parent-page .aose-parent-nav__inner { width: min(calc(100% - 36px), 1100px); grid-template-columns: repeat(5, minmax(0,1fr)); }
.aose-parent-page .aose-parent-nav a { min-height: 54px; padding: 10px 8px; font-size: 13px; }
.aose-parent-page .aose-parent-intro { padding: 38px 0 26px; }
.aose-parent-page .aose-parent-split { grid-template-columns: 1fr 1.1fr; gap: 40px; }
.aose-parent-page .aose-parent-split__image img { height: auto !important; aspect-ratio: 2.2 / 1; }
.aose-parent-page .aose-parent-section { padding: 0 0 34px; }
.aose-parent-page .aose-section-heading { margin-bottom: 16px; }
.aose-parent-page .aose-section-heading h2 { font-size: clamp(23px, 2vw, 28px); margin-bottom: 8px; }
.aose-parent-page .aose-section-heading > p:last-child { max-width: none; }
.aose-parent-page .aose-parent-card-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
.aose-parent-page .aose-parent-card { display: block; min-width: 0; border-radius: 3px; box-shadow: var(--aose-shadow-raised); }
.aose-parent-page .aose-parent-card img { height: auto !important; aspect-ratio: 2.1 / 1; }
.aose-parent-page .aose-parent-card__body { padding: 14px 14px 12px; }
.aose-parent-page .aose-parent-card__body h3 { font-size: 18px; margin: 0 0 8px; line-height: 1.5; }
.aose-parent-page .aose-parent-card__body p { margin-bottom: 8px; min-height: 3.5em; font-size: 13px; line-height: 1.75; }
.aose-parent-page .aose-parent-story { width: 100%; margin-left: 0; min-height: 320px; }
.aose-parent-page .aose-parent-story__image { height: 100% !important; object-position: center; }
.aose-parent-page .aose-parent-story__content { padding: 36px 0; }
.aose-parent-page .aose-parent-story__content h2 { font-size: clamp(26px, 2.8vw, 38px); }
.aose-parent-page .aose-parent-story__content p { max-width: 510px; font-size: 14px; margin-bottom: 9px; }
.aose-parent-page .aose-parent-story__button { margin-top: 8px; padding: 8px 24px; font-size: 13px; }
.aose-parent-page .aose-parent-message { padding: 42px 0; }
.aose-parent-page .aose-parent-related { padding: 24px 0; }
.aose-parent-page .aose-parent-related .aose-section-heading { margin: 0; }
.aose-parent-page .aose-parent-bottom { padding: 24px 0 36px; background: var(--aose-color-background-soft); }
.aose-parent-page .aose-parent-bottom__grid { grid-template-columns: 1.25fr 1fr 1fr; gap: 20px; }
.aose-parent-page .aose-parent-bottom__card { display: block; min-height: 0; padding: 20px; background: #fff; box-shadow: var(--aose-shadow-soft); }
.aose-parent-page .aose-parent-bottom__card h3 { font-size: 21px; }
.aose-parent-page .aose-parent-bottom__card--image img { display: block; height: auto !important; aspect-ratio: 2.8 / 1; }
.aose-parent-page .aose-parent-bottom__card--image div { padding: 14px 0 0; }
@media (max-width: 1023px) {
 .aose-parent-page .aose-parent-split { gap: 24px; }
 .aose-parent-page .aose-parent-card-grid { gap: 16px; }
 .aose-parent-page .aose-parent-card__body h3 { font-size: 16px; }
}
@media (max-width: 767px) {
 .aose-parent-page .aose-parent-hero { height: 440px; }
 .aose-parent-page .aose-parent-hero__image { object-position: 58% center; }
 .aose-parent-page .aose-parent-hero__shade { background: linear-gradient(90deg,rgba(18,17,15,.65),rgba(18,17,15,.12)); }
 .aose-parent-page .aose-parent-nav__inner { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .aose-parent-page .aose-parent-nav a:last-child { grid-column: 1 / -1; }
 .aose-parent-page .aose-parent-split { grid-template-columns: 1fr; gap: 20px; }
 .aose-parent-page .aose-parent-split__image { order: 0; }
 .aose-parent-page .aose-parent-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
 .aose-parent-page .aose-parent-card__body { padding: 12px; }
 .aose-parent-page .aose-parent-story__content { padding: 32px 0; }
 .aose-parent-page .aose-parent-story__shade { background: rgba(13,13,12,.62); }
 .aose-parent-page .aose-parent-bottom__grid { grid-template-columns: 1fr; }
}
@media (max-width: 380px) { .aose-parent-page .aose-parent-card-grid { grid-template-columns: 1fr; } }

/* Fermentation: full-bleed hero and craft; inner copy keeps its width. */
body:has(.aose-parent-page) #content { width:100%; max-width:none; padding-inline:0; }
body:has(.aose-parent-page) #main_content { width:100%; max-width:none; margin-inline:0; }
body:has(.aose-parent-page) #main_content .l-mainContent__inner { width:100%; max-width:none; }
body:has(.aose-parent-page) #main_content .post_content { padding-inline:0; }
.aose-parent-page .aose-parent-hero,
.aose-parent-page .aose-parent-story { width:100%; max-width:none; margin-inline:0; }

/* Fermentation bottom: reuse the existing journal latest list. */
.aose-parent-page .aose-parent-bottom__grid {align-items:stretch;}
.aose-parent-page .aose-parent-bottom__latest .aose-journal__latest-item {display:grid;grid-template-columns:minmax(0,1fr) 12px;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid rgba(39,37,34,.12);color:inherit;text-decoration:none;}
.aose-parent-page .aose-parent-bottom__latest img {display:none;}
.aose-parent-page .aose-parent-bottom__latest .aose-journal__latest-meta {display:flex;flex-wrap:wrap;gap:8px;font-size:11px;line-height:1.6;opacity:.7;}
.aose-parent-page .aose-parent-bottom__latest h3 {font-size:14px;line-height:1.7;margin:4px 0 0;overflow-wrap:anywhere;}
.aose-parent-page .aose-parent-bottom__more {display:block;margin-top:16px;text-align:right;font-size:13px;color:inherit;}

/* Balanced bottom cards: compact journal and larger destination photos. */
.aose-parent-page .aose-parent-bottom__journal > span {display:inline-block;margin-right:12px;}
.aose-parent-page .aose-parent-bottom__journal > h3 {display:inline;font-size:20px;}
.aose-parent-page .aose-parent-bottom__journal > p {display:none;}
.aose-parent-page .aose-parent-bottom__latest {margin-top:12px;}
.aose-parent-page .aose-parent-bottom__card--image {display:flex;flex-direction:column;}
.aose-parent-page .aose-parent-bottom__card--image img {flex:1;min-height:200px;aspect-ratio:auto;object-fit:cover;}
@media(max-width:767px){.aose-parent-page .aose-parent-bottom__card--image img {flex:none;min-height:0;aspect-ratio:1.8 / 1;}}

/* 07: shared parent variants */
.aose-parent-page .aose-parent-content{width:min(calc(100% - 2 * var(--aose-gutter)),800px);margin-inline:auto;}
.aose-parent-page .aose-parent-split--reverse .aose-parent-split__image{order:-1;}
.aose-parent-page .aose-parent-section--spaced{padding-top:36px;}
.aose-parent-page .aose-parent-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.aose-parent-page .aose-parent-menu-grid h3{font-size:22px;margin:14px 0 8px;}
.aose-parent-page .aose-parent-menu-grid img{display:block;width:100%;height:auto!important;aspect-ratio:1.6;object-fit:cover;}
.aose-parent-page .aose-parent-info{margin:24px 0;}
.aose-parent-page .aose-parent-info div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:20px;padding:16px 0;border-bottom:1px solid #ddd;}
.aose-parent-page .aose-parent-info dt{font-weight:500;}
.aose-parent-page .aose-parent-info dd{margin:0;}
.aose-parent-page .aose-parent-map iframe{width:100%;max-width:100%;border:0;}
.aose-parent-page .aose-parent-link{display:inline-block;color:inherit;margin-top:12px;border-bottom:1px solid currentColor;text-decoration:none;}
.aose-parent-page :is(section[id]){scroll-margin-top:100px;}
.aose-parent-page .aose-parent-note{font-size:12px;opacity:.7;margin-top:8px;}
@media(max-width:767px){.aose-parent-page .aose-parent-menu-grid{grid-template-columns:1fr;}.aose-parent-page .aose-parent-split--reverse .aose-parent-split__image{order:0;}.aose-parent-page .aose-parent-info div{grid-template-columns:1fr;gap:6px;}}

/* Native SWELL latest list, confined to parent bottom cards. */
.aose-parent-page .aose-parent-bottom__latest .p-postList{display:block;margin:0;}
.aose-parent-page .aose-parent-bottom__latest .p-postList__item{width:100%;padding:0;margin:0;}
.aose-parent-page .aose-parent-bottom__latest .p-postList__link{display:block;padding:9px 0;border-bottom:1px solid rgba(39,37,34,.12);color:inherit;}
.aose-parent-page .aose-parent-bottom__latest .p-postList__thumb{display:none;}
.aose-parent-page .aose-parent-bottom__latest .p-postList__body{padding:0;}
.aose-parent-page .aose-parent-bottom__latest .p-postList__title{font-size:14px;line-height:1.7;margin:0 0 4px;}
.aose-parent-page .aose-parent-bottom__latest .p-postList__meta{font-size:11px;}

/* Navigation follows the number of links in each parent. */
.aose-parent-page .aose-parent-nav__inner:has(>a:nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr));}
@media(max-width:767px){.aose-parent-page .aose-parent-nav__inner:has(>a:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr));}.aose-parent-page .aose-parent-nav a:nth-child(even):last-child{grid-column:auto;}}

/* About: larger introduction and readable latest articles. */
.aose-parent-page:is(.aose-parent-page--about,.aose-parent-page--recipe,.aose-parent-page--cafe) .aose-parent-intro p{font-size:clamp(18px,1.6vw,20px);line-height:1.95;}
.aose-parent-page:is(.aose-parent-page--about,.aose-parent-page--recipe,.aose-parent-page--cafe) .aose-parent-bottom__latest :is(.p-postListWrap,.p-postList,.p-postList__item,.p-postList__link,.p-postList__body){width:100%!important;max-width:none!important;min-width:0;flex-basis:auto;}
.aose-parent-page:is(.aose-parent-page--about,.aose-parent-page--recipe,.aose-parent-page--cafe) .aose-parent-bottom__latest .p-postList__link{padding:14px 0;}
.aose-parent-page:is(.aose-parent-page--about,.aose-parent-page--recipe,.aose-parent-page--cafe) .aose-parent-bottom__latest .p-postList__title{font-family:var(--aose-font-sans,sans-serif);font-size:17px;font-weight:500;line-height:1.75;letter-spacing:.01em;overflow-wrap:anywhere;}
.aose-parent-page:is(.aose-parent-page--about,.aose-parent-page--recipe,.aose-parent-page--cafe) .aose-parent-bottom__latest .p-postList__meta{font-family:var(--aose-font-sans,sans-serif);font-size:13px;line-height:1.6;}
.aose-parent-page:is(.aose-parent-page--about,.aose-parent-page--recipe,.aose-parent-page--cafe) .aose-parent-bottom__journal>h3{display:block;font-size:24px;margin:8px 0 0;}
.aose-parent-page:is(.aose-parent-page--about,.aose-parent-page--recipe,.aose-parent-page--cafe) .aose-parent-bottom__more{font-family:var(--aose-font-sans,sans-serif);font-size:15px;}
.aose-parent-page:is(.aose-parent-page--about,.aose-parent-page--recipe,.aose-parent-page--cafe) .aose-parent-bottom__card--image{display:grid;grid-template-rows:minmax(180px,1fr) auto;}
.aose-parent-page:is(.aose-parent-page--about,.aose-parent-page--recipe,.aose-parent-page--cafe) .aose-parent-bottom__card--image img{width:100%;height:100%!important;min-height:0;aspect-ratio:auto;object-fit:cover;}
@media(max-width:767px){.aose-parent-page:is(.aose-parent-page--about,.aose-parent-page--recipe,.aose-parent-page--cafe) .aose-parent-bottom__latest .p-postList__title{font-size:16px;}.aose-parent-page:is(.aose-parent-page--about,.aose-parent-page--recipe,.aose-parent-page--cafe) .aose-parent-bottom__card--image{grid-template-rows:auto auto;}.aose-parent-page:is(.aose-parent-page--about,.aose-parent-page--recipe,.aose-parent-page--cafe) .aose-parent-bottom__card--image img{height:auto!important;aspect-ratio:1.8/1;}}

/* Cafe menu photos: five columns, then readable stacked cards. */
.aose-parent-page--cafe .aose-parent-menu-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;align-items:start;}
.aose-parent-page--cafe .aose-parent-menu-grid article{min-width:0;}
.aose-parent-page--cafe .aose-parent-menu-photo{margin:0;background:#f5f2ec;aspect-ratio:1;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.aose-parent-page--cafe .aose-parent-menu-photo img{width:100%;height:100%!important;aspect-ratio:auto;object-fit:contain;}
.aose-parent-page--cafe .aose-parent-menu-grid h3{font-size:18px;line-height:1.6;margin:14px 0 8px;}
.aose-parent-page--cafe .aose-parent-menu-grid p{font-size:15px;line-height:1.85;}
@media(min-width:768px) and (max-width:1023px){.aose-parent-page--cafe .aose-parent-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:767px){.aose-parent-page--cafe .aose-parent-menu-grid{grid-template-columns:1fr;gap:28px;}.aose-parent-page--cafe .aose-parent-menu-photo{width:100%;max-width:360px;margin-inline:auto;}.aose-parent-page--cafe .aose-parent-menu-grid h3{font-size:22px;}}

/* Cafe recommended and latest: existing editorial article slots. */
.aose-parent-page--cafe .aose-cafe-updates{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px;align-items:stretch;}
.aose-parent-page--cafe .aose-cafe-updates--single{grid-template-columns:1fr;}
.aose-parent-page--cafe .aose-cafe-updates a{color:inherit;text-decoration:none;}
.aose-parent-page--cafe .aose-cafe-updates article{min-width:0;border-radius:4px;overflow:hidden;background:#f5f2ec;}
.aose-parent-page--cafe .aose-cafe-updates__featured>a{position:relative;display:block;height:100%;min-height:420px;}
.aose-parent-page--cafe .aose-cafe-updates__featured-image{position:absolute;inset:0;}
.aose-parent-page--cafe .aose-cafe-updates__featured-image img{width:100%;height:100%!important;object-fit:cover;display:block;}
.aose-parent-page--cafe .aose-cafe-updates__featured-body{position:absolute;bottom:0;right:0;width:78%;padding:22px 26px;background:rgba(255,253,247,.96);}
.aose-parent-page--cafe .aose-cafe-updates__label{display:block;font-family:var(--aose-font-sans,sans-serif);font-size:12px;letter-spacing:.1em;margin-bottom:12px;}
.aose-parent-page--cafe .aose-cafe-updates time{display:block;font-family:var(--aose-font-sans,sans-serif);font-size:12px;line-height:1.6;color:#625d56;margin-bottom:7px;}
.aose-parent-page--cafe .aose-cafe-updates h3{font-size:18px;line-height:1.6;margin:0 0 8px;overflow-wrap:anywhere;}
.aose-parent-page--cafe .aose-cafe-updates p{font-size:14px;line-height:1.8;margin:0;}
.aose-parent-page--cafe .aose-cafe-updates__latest{display:flex;flex-direction:column;gap:14px;min-width:0;}
.aose-parent-page--cafe .aose-cafe-updates__small{flex:1;border:1px solid #e5e0d8;}
.aose-parent-page--cafe .aose-cafe-updates__small>a{display:grid;grid-template-columns:120px minmax(0,1fr) 16px;gap:14px;align-items:center;height:100%;min-height:140px;padding-right:14px;}
.aose-parent-page--cafe .aose-cafe-updates__small-image{height:100%;min-height:140px;}
.aose-parent-page--cafe .aose-cafe-updates__small-image img{width:100%;height:100%!important;object-fit:cover;display:block;}
.aose-parent-page--cafe .aose-cafe-updates__small-body{padding:12px 0;min-width:0;}
.aose-parent-page--cafe .aose-cafe-updates__small h3{font-size:16px;line-height:1.65;margin-bottom:5px;}
.aose-parent-page--cafe .aose-cafe-updates__small p{font-size:13px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.aose-parent-page--cafe .aose-cafe-updates__arrow{font-size:20px;}
.aose-parent-page--cafe .aose-cafe-updates__featured-body>.aose-cafe-updates__arrow{display:block;text-align:right;margin-top:8px;}
.aose-parent-page--cafe .aose-parent-hero__image{object-position:center center;}
@media(max-width:1023px){.aose-parent-page--cafe .aose-cafe-updates{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px;}.aose-parent-page--cafe .aose-cafe-updates__small>a{grid-template-columns:90px minmax(0,1fr) 14px;gap:10px;}}
@media(max-width:767px){.aose-parent-page--cafe .aose-cafe-updates{grid-template-columns:1fr;}.aose-parent-page--cafe .aose-cafe-updates__featured>a{min-height:430px;}.aose-parent-page--cafe .aose-cafe-updates__featured-body{width:90%;padding:18px;}.aose-parent-page--cafe .aose-cafe-updates__small>a{grid-template-columns:90px minmax(0,1fr) 12px;padding-right:10px;}.aose-parent-page--cafe .aose-cafe-updates__small h3{font-size:15px;}}

/* Cafe refinement: filled photo frames and text-only latest cards. */
.aose-parent-page--cafe .aose-parent-menu-photo{border-radius:5px;aspect-ratio:4/5;}
.aose-parent-page--cafe .aose-parent-menu-photo img{object-fit:cover;object-position:center center;}
.aose-parent-page--cafe #menu article:nth-child(2) img{object-position:center 42%;}
.aose-parent-page--cafe #menu article:nth-child(3) img{object-position:42% center;}
.aose-parent-page--cafe .aose-cafe-updates__featured-body{width:68%;background:rgba(255,253,247,.83);backdrop-filter:blur(3px);padding:20px 24px;}
.aose-parent-page--cafe .aose-cafe-updates__featured-body h3{font-size:17px;line-height:1.65;}
.aose-parent-page--cafe .aose-cafe-updates__small>a{grid-template-columns:minmax(0,1fr) 18px;padding:20px 22px;gap:16px;min-height:140px;}
.aose-parent-page--cafe .aose-cafe-updates__small-body{padding:0;}
.aose-parent-page--cafe .aose-cafe-updates__small h3{font-size:17px;line-height:1.7;}
.aose-parent-page--cafe .aose-cafe-updates__small p{font-size:14px;color:#514b43;}
@media(max-width:767px){.aose-parent-page--cafe .aose-cafe-updates__featured-body{width:90%;padding:18px;}.aose-parent-page--cafe .aose-cafe-updates__small>a{grid-template-columns:minmax(0,1fr) 14px;padding:16px;}.aose-parent-page--cafe .aose-cafe-updates__small h3{font-size:16px;}}


/* Shared parent footer variant: text-only articles and compact destination links. */
.aose-parent-page .aose-parent-bottom--compact {padding:40px 0 44px;}
.aose-parent-page .aose-parent-bottom--compact .aose-parent-bottom__grid {grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));gap:28px;align-items:start;}
.aose-parent-page .aose-parent-bottom--compact .aose-parent-bottom__card {padding:0;background:transparent;box-shadow:none;}
.aose-parent-page .aose-parent-bottom--compact .aose-parent-bottom__journal > span {display:block;font-family:var(--aose-font-sans,sans-serif);font-size:11px;letter-spacing:.16em;color:#69543a;}
.aose-parent-page .aose-parent-bottom--compact .aose-parent-bottom__journal > h3 {display:block;font-size:22px;margin:8px 0 20px;}
.aose-parent-page .aose-parent-bottom--compact .aose-parent-bottom__latest :is(.p-postListWrap,.p-postList,.p-postList__item,.p-postList__link,.p-postList__body) {width:100%!important;max-width:none!important;min-width:0;flex-basis:auto;}
.aose-parent-page .aose-parent-bottom--compact .p-postList__link {position:relative;padding:14px 28px 14px 0;}
.aose-parent-page .aose-parent-bottom--compact .p-postList__link::after {content:"→";position:absolute;right:0;top:50%;transform:translateY(-50%);color:#69543a;}
.aose-parent-page .aose-parent-bottom--compact .p-postList__body {display:flex;flex-direction:column;}
.aose-parent-page .aose-parent-bottom--compact .p-postList__meta {order:-1;font-family:var(--aose-font-sans,sans-serif);font-size:12px;color:#69543a;margin-bottom:5px;}
.aose-parent-page .aose-parent-bottom--compact .p-postList__title {font-family:var(--aose-font-sans,sans-serif);font-size:16px;font-weight:500;line-height:1.8;letter-spacing:.01em;margin:0;overflow-wrap:anywhere;}
.aose-parent-page .aose-parent-bottom--compact .aose-parent-bottom__more {font-size:13px;margin-top:18px;}
.aose-parent-page .aose-parent-bottom__links {display:grid;gap:8px;padding-top:32px;}
.aose-parent-page .aose-parent-bottom__text-link {display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:5px;align-items:center;padding:18px 0;border-bottom:1px solid rgba(39,37,34,.16);color:inherit;text-decoration:none;}
.aose-parent-page .aose-parent-bottom__text-link > span:first-child {grid-column:1 / -1;font-family:var(--aose-font-sans,sans-serif);font-size:11px;letter-spacing:.14em;color:#69543a;}
.aose-parent-page .aose-parent-bottom__text-link > span:nth-child(2) {font-size:18px;line-height:1.6;}
.aose-parent-page .aose-parent-bottom__text-link:hover {color:#69543a;}
@media(max-width:767px){
 .aose-parent-page .aose-parent-bottom--compact {padding:32px 0;}
 .aose-parent-page .aose-parent-bottom--compact .aose-parent-bottom__grid {grid-template-columns:minmax(0,1fr);gap:22px;}
 .aose-parent-page .aose-parent-bottom--compact .aose-parent-bottom__journal > h3 {font-size:20px;}
 .aose-parent-page .aose-parent-bottom--compact .p-postList__title {font-size:15px;}
 .aose-parent-page .aose-parent-bottom__links {grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding-top:0;}
 .aose-parent-page .aose-parent-bottom__text-link > span:nth-child(2) {font-size:15px;}
}

/* Compact photo destinations beside the readable journal list. */
.aose-parent-page .aose-parent-bottom--compact .aose-parent-bottom__card--image {display:block;margin-top:96px;}
.aose-parent-page .aose-parent-bottom--compact .aose-parent-bottom__card--image img {display:block;width:100%;height:clamp(120px,12vw,170px)!important;min-height:0;object-fit:cover;}
.aose-parent-page .aose-parent-bottom--compact .aose-parent-bottom__card--image div {padding:14px 16px;background:#fff;}
.aose-parent-page .aose-parent-bottom--compact .aose-parent-bottom__card--image h3 {font-size:18px;line-height:1.6;margin:6px 0 0;}
@media(max-width:767px){
 .aose-parent-page .aose-parent-bottom--compact .aose-parent-bottom__grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px;}
 .aose-parent-page .aose-parent-bottom--compact .aose-parent-bottom__journal {grid-column:1 / -1;}
 .aose-parent-page .aose-parent-bottom--compact .aose-parent-bottom__card--image {margin-top:0;}
 .aose-parent-page .aose-parent-bottom--compact .aose-parent-bottom__card--image img {height:110px!important;}
 .aose-parent-page .aose-parent-bottom--compact .aose-parent-bottom__card--image div {padding:12px 10px;}
 .aose-parent-page .aose-parent-bottom--compact .aose-parent-bottom__card--image h3 {font-size:15px;}
}
