/* Hallmark · v2.0.0 · theme: Hito (locked) · redesign: section composition · scope: page · signature: editorial routes through the corpus · built: Codex */
/* Critique: every hub used the same feature, copy and three-column archive shape despite different source material. */

/* Section pages use space, placement and the existing surfaces to distinguish editorial claims. */
.section-hub .section-hub-content {
  min-width: 0;
}

.section-hub .content-section.section-panel {
  padding: var(--space-panel);
  --color-border: color-mix(in srgb, var(--color-text) 16%, transparent);
  --color-border-strong: var(--color-border);
}
.section-panel .provider-card--tile { height:auto; padding-block:var(--space-card); }
.section-food-reading { display:grid; gap:var(--space-heading); min-width:0; }
.section-food-reading .compact-article { grid-template-columns:112px minmax(0,1fr); }

.section-hub .content-section {
  margin-block: var(--space-section);
  border-top: 0;
  padding-top: 0;
}

.section-hub .content-section > h2 {
  max-inline-size: 24ch;
  margin-block-end: var(--space-heading);
  text-wrap: balance;
}

.section-hub .section-directory-link {
  margin-block: var(--space-panel);
}

.section-guide-opener,
.section-destination-constellation,
.section-stay-opening,
.section-food-lead,
.section-things-opening,
.section-stories-opener,
.section-transport-opener,
.section-living-opener {
  display: grid;
  align-items: start;
  gap: var(--grid-editorial-gap);
  margin-block: var(--space-section) var(--space-section);
  min-width: 0;
}

.section-guide-opener {
  grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .85fr);
}

.section-guide-first-trip .content-grid,
.section-food-story .content-grid,
.section-stories-lead .content-grid,
.section-transport-arrival .content-grid,
.section-living-feature .content-grid {
  grid-template-columns: minmax(0, 1fr);
}

.section-guide-aside,
.section-stories-index,
.section-transport-reading,
.section-living-pathways {
  min-width: 0;
  padding: var(--space-panel);
}

.section-guide-aside,
.section-stories-index,
.section-living-pathways {
  background: var(--color-panel);
}

.section-guide-aside h2,
.section-things-intro h2,
.section-transport-reading h2,
.section-living-pathways h3 {
  font-family: var(--font-heading);
  font-size: var(--text-section-compact);
  font-style: normal;
  font-weight: var(--weight-display);
  line-height: 1.15;
  letter-spacing: normal;
  text-wrap: balance;
}

.section-guide-aside p,
.section-stay-intro p,
.section-things-intro p,
.section-transport-reading p,
.section-living-pathways p {
  max-inline-size: 55ch;
  margin-block: var(--space-card);
  font-size: var(--text-body);
  line-height: 1.6;
  text-wrap: pretty;
}

.section-guide-aside > nav,
.section-stay-intro > nav,
.section-things-intro > nav,
.section-transport-reading > nav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-copy) var(--space-card);
  margin-block-start: var(--space-panel);
}

.section-guide-aside > nav a,
.section-stay-intro > nav a,
.section-things-intro > nav a,
.section-transport-reading > nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding-block: var(--space-copy);
  text-underline-offset: .2em;
}

.section-guide-place-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: var(--grid-editorial-gap);
}

.section-destination-constellation {
  grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr);
}

.section-destination-cities {
  display: grid;
  align-content: start;
  gap: var(--grid-editorial-gap);
}

.section-destination-constellation .destination-card {
  min-width: 0;
}

.section-destination-constellation .section-destination-lead picture {
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.section-destination-cities .destination-card picture {
  display: block;
  aspect-ratio: 8 / 5;
  overflow: hidden;
}

.section-destination-constellation .destination-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.section-destination-regions {
  padding: var(--space-panel);
  background: var(--color-culture-surface);
}

.section-place-index ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-card) var(--grid-editorial-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}

.section-place-index li {
  min-width: 0;
  padding-block: var(--space-card);
  border-top: 1px solid var(--color-border);
}

.section-place-index li > div > a {
  display: inline-block;
  font-family: var(--font-heading);
  font-size: var(--text-card-title);
  font-weight: var(--weight-control);
  line-height: 1.25;
  text-decoration: none;
  text-wrap: balance;
}

.section-place-index li > div > a:hover {
  text-decoration: underline;
  text-decoration-skip-ink: auto;
  text-underline-offset: .2em;
}

.section-place-index p {
  max-inline-size: 54ch;
  margin-block-start: var(--space-copy);
  font-size: var(--text-body);
  line-height: 1.6;
  text-wrap: pretty;
}

.section-stay-opening {
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  align-items: center;
  background: var(--color-brand-surface);
}

.section-stay-illustration {
  min-width: 0;
  padding: var(--space-card);
}

.section-stay-illustration .illustration {
  max-width: 38rem;
  margin-inline: auto;
}

.section-stay-intro {
  min-width: 0;
  padding: var(--space-panel);
}

.section-stay-intro h2,
.section-stories-index > h2 {
  max-inline-size: 24ch;
  font-family: var(--font-heading);
  font-size: var(--text-section-compact);
  font-style: normal;
  font-weight: var(--weight-display);
  line-height: 1.15;
  letter-spacing: normal;
  text-wrap: balance;
}

.section-provider-bands {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: var(--grid-editorial-gap);
}

.section-stay-providers .section-provider-bands,
.section-living-workspaces .section-provider-bands {
  grid-template-columns: minmax(0, 1fr);
}

.section-provider-group {
  min-width: 0;
}

.section-provider-group > .provider-card--tile {
  min-width: 0;
}

.section-provider-group > .provider-group-title {
  grid-column: 1 / -1;
  max-inline-size: 40ch;
  margin-block-end: var(--space-card);
  font-family: var(--font-body);
  font-size: var(--text-utility);
  font-style: normal;
  font-weight: 600;
  line-height: 1.5;
  text-wrap: balance;
}

.section-provider-group .provider-card:first-of-type {
  border-top-color: var(--color-border);
}

.section-food-lead {
  grid-template-columns: minmax(0, 1.15fr) minmax(17rem, .85fr);
  align-items: start;
}

.section-food-story .story-card {
  min-width: 0;
}

.section-food-place {
  min-width: 0;
  padding: var(--space-card);
  background: var(--color-food-surface);
}

.section-food-place .provider-card {
  grid-template-columns: minmax(0, 1fr);
  border-top-color: var(--color-border-strong);
}

.section-food-providers {
  padding: var(--space-panel);
  background: var(--color-food-surface);
}

.section-food-providers .section-provider-bands {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.section-things-opening {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
}

.section-things-art {
  min-width: 0;
}

.section-things-art .illustration {
  height: 100%;
}

.section-things-art .illustration picture,
.section-things-art .illustration img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 20rem;
  object-fit: cover;
}

.section-things-intro {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: var(--space-panel);
  background: var(--color-culture-surface);
}

.section-things-providers {
  padding: var(--space-panel);
  background: var(--color-culture-surface);
}

.section-things-providers .section-provider-bands {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.section-stories-opener {
  grid-template-columns: minmax(0, 1.2fr) minmax(18rem, .8fr);
  align-items: stretch;
}

.section-stories-lead .story-card,
.section-stories-index .story-card {
  min-width: 0;
}

.section-stories-index > h2 {
  margin-block-end: var(--space-card);
}

.section-stories-index .content-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-card);
}

.section-stories-index .story-card {
  padding-block: var(--space-card);
  border-top: 1px solid var(--color-border);
}

.section-stories-index .story-card:first-child {
  border-top-color: var(--color-border-strong);
}

.section-transport-opener {
  grid-template-columns: minmax(0, 1.15fr) minmax(17rem, .85fr);
  align-items: start;
}

.section-transport-reading {
  background: var(--color-route-surface);
}

.section-transport-reading nav {
  display: grid;
  align-content: start;
  justify-items: start;
  gap: var(--space-copy);
}

.section-transport-operators {
  padding: var(--space-panel);
  background: var(--color-route-surface);
}

.section-living-opener {
  grid-template-columns: minmax(0, 1.1fr) minmax(18rem, .9fr);
  align-items: stretch;
}

.section-living-pathways {
  display: grid;
  align-content: start;
  gap: var(--space-panel);
}

.section-living-pathways > div + div {
  padding-top: var(--space-card);
  border-top: 1px solid var(--color-border);
}

.section-living-pathways h3 {
  font-family: var(--font-body);
  font-size: var(--text-utility);
  font-style: normal;
  font-weight: 600;
  line-height: 1.5;
}

.section-living-pathways p {
  margin-block: var(--space-copy) var(--space-copy);
}

.section-living-pathways a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-inline-end: var(--space-card);
  text-underline-offset: .2em;
}

.section-hub > .content-section > .content-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: var(--grid-editorial-gap);
}

.section-hub > .content-section > .content-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media(max-width:1000px){.section-hub > .content-section > .content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.section-hub > .content-section > .content-grid{grid-template-columns:minmax(0,1fr)}}

.section-stay-providers .section-provider-group {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--grid-editorial-gap);
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .section-destination-constellation .destination-card img {
    transition: transform 160ms ease-out;
  }

  .section-destination-constellation .destination-card:hover img,
  .section-destination-constellation .destination-card:focus-visible img {
    transform: scale(1.02);
  }
}

@media (max-width: 900px) {
  .section-hub > .content-section > .content-grid,
  .section-stay-providers .section-provider-group {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .section-destination-constellation,
  .section-stories-opener {
    grid-template-columns: minmax(0, 1.1fr) minmax(15rem, .9fr);
  }

  .section-guide-opener,
  .section-food-lead,
  .section-transport-opener,
  .section-living-opener {
    grid-template-columns: minmax(0, 1fr) minmax(15rem, .9fr);
  }

  .section-guide-place-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .section-guide-place-grid > .destination-card:first-child {
    grid-column: 1 / -1;
  }

  .section-food-providers .section-provider-bands {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .section-food-providers .section-provider-group:last-child {
    grid-column: 1 / -1;
  }

  .section-things-providers .section-provider-bands {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .section-things-providers .section-provider-group:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 700px) {
  .section-guide-opener,
  .section-destination-constellation,
  .section-stay-opening,
  .section-food-lead,
  .section-things-opening,
  .section-stories-opener,
  .section-transport-opener,
  .section-living-opener {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-panel);
    margin-block: var(--space-panel) var(--space-section);
  }

  .section-guide-aside,
  .section-stories-index,
  .section-transport-reading,
  .section-living-pathways,
  .section-stay-intro,
  .section-things-intro,
  .section-food-providers,
  .section-things-providers,
  .section-transport-operators {
    padding: var(--space-card);
  }

  .section-guide-place-grid,
  .section-destination-cities,
  .section-provider-bands,
  .section-stay-providers .section-provider-group,
  .section-hub > .content-section > .content-grid,
  .section-food-providers .section-provider-bands,
  .section-place-index ul,
  .section-hub--guide > .content-section > .content-grid,
  .section-hub--stay > .content-section > .content-grid,
  .section-hub--food > .content-section > .content-grid,
  .section-hub--transport > .content-section > .content-grid,
  .section-hub--living > .content-section > .content-grid,
  .section-hub--stories > .content-section > .content-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .section-food-providers .section-provider-group:last-child,
  .section-things-providers .section-provider-group:last-child {
    grid-column: auto;
  }

  .section-guide-place-grid > .destination-card:first-child {
    grid-column: auto;
  }

  .section-destination-constellation .section-destination-lead picture,
  .section-destination-cities .destination-card picture {
    aspect-ratio: 8 / 5;
  }

  .section-things-art .illustration picture,
  .section-things-art .illustration img {
    min-height: 0;
    aspect-ratio: 8 / 5;
  }

  .section-food-place .provider-card {
    padding-block: var(--space-card);
  }

  .section-stories-index .content-grid {
    gap: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .section-destination-constellation .destination-card img {
    transition: none;
    transform: none;
  }
}

.section-stay-providers .section-provider-group{row-gap:var(--space-card)}
.section-stay-providers .section-provider-group--photo{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:var(--grid-editorial-gap)}
.provider-group-lead,.provider-group-list{min-width:0}
.provider-group-list{display:grid;gap:var(--space-panel)}
.provider-group-lead .provider-card,.provider-group-list .provider-card{height:auto}
.section-directory-link{margin-block:var(--space-panel)!important}
@media(max-width:700px){.section-stay-providers .section-provider-group--photo{grid-template-columns:minmax(0,1fr)}}
