/* Scoped composition rules. Theme tokens remain the only global token owner. */
.hc { position: relative; container: hc / inline-size; min-width: 0; width: 100%; margin-block: var(--space-8); color: var(--theme-text); }
.hc *, .hc *::before, .hc *::after { box-sizing: border-box; }
.hc__layout { display: grid; gap: var(--space-4); grid-template-columns: minmax(0, 1fr); align-items: stretch; }
.hc__host { container: hc-host / inline-size; min-width: 0; border-radius: var(--hc-radius-card, var(--radius-lg)); background: var(--theme-surface); color: var(--theme-text); }
.hc__card { display: flex; flex-direction: column; min-width: 0; height: 100%; position: relative; }
.hc__body { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-6); padding: var(--space-8); min-width: 0; flex: 1; }
.hc__title, .hc__description, .hc__eyebrow, .hc__mini p, .hc__mini-title { margin: 0; overflow-wrap: anywhere; }
.hc__title { font: 700 var(--text-fluid-lg)/1.1 var(--font-display); color: inherit; }
.hc__description { font-size: var(--text-fluid-sm); line-height: 1.5; color: inherit; }
.hc__eyebrow { font-size: var(--text-xs); font-weight: 700; letter-spacing: .04em; }
.hc__tone--coral { background: var(--theme-accent); color: var(--hc-ink, var(--theme-text)); }
.hc__tone--ink { background: var(--hc-ink, var(--theme-text)); color: var(--color-on-primary); }
.hc__tone--teal { background: var(--hc-teal, var(--cat-tone-doing)); color: var(--color-on-primary); }
.hc__tone--sand { background: var(--hc-sand, var(--theme-subtle)); }
.hc .hc__action { min-height: 2.75rem; max-width: 100%; padding: var(--space-3) var(--space-5); white-space: normal; text-align: center; border-radius: var(--radius-pill); font-size: var(--text-sm); overflow-wrap: anywhere; }
.hc .hc__action.button:not(.button--secondary) { background: var(--hc-ink, var(--theme-text)); color: var(--color-on-primary); border-color: transparent; }
.hc .hc__action.button.hc__action--brand { background: var(--theme-accent-strong); color: var(--color-on-primary); }
.hc__tone--ink .hc__action:not(.button--secondary), .hc__tone--teal .hc__action:not(.button--secondary) { background: var(--theme-surface); color: var(--hc-ink, var(--theme-text)); }
.hc a:focus-visible, .hc button:focus-visible, .hc select:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.hc__media { margin: 0; position: relative; min-width: 0; border-radius: var(--hc-radius-card, var(--radius-lg)); overflow: hidden; }
.hc__media-link { display: block; position: absolute; inset: 0; }
.hc__media-link > .hc__image { width: 100%; height: 100%; object-fit: cover; transition: transform var(--dur-base) var(--ease-smooth); }
.hc__media-link:hover > .hc__image, .hc__media-link:focus-visible > .hc__image { transform: scale(1.015); }
.hc__media-link > .hc__image--outgoing { position: absolute; inset: 0; opacity: 1; transition: opacity var(--hc-media-crossfade, var(--dur-slow)) var(--ease-smooth); }
.hc__media-link > .hc__image--outgoing.is-leaving { opacity: 0; }
.hc__media-link:focus-visible { outline-offset: -4px !important; outline-color: var(--color-on-primary) !important; }
.hc__host--linked .hc__action::after { content: ''; position: absolute; inset: 0; border-radius: var(--hc-radius-card, var(--radius-lg)); }
.hc-tabs { position: relative; }
.hc-tabs > [data-hc-active] > .hc { margin-block: var(--space-16); }
.hc__rotation-toggle { position: absolute; bottom: var(--space-8); right: var(--space-2); z-index: 1; width: 2.75rem; height: 2.75rem; padding: var(--space-2); background: var(--theme-surface); color: var(--theme-text); border: 1px solid var(--theme-border); border-radius: var(--radius-pill); font: inherit; font-size: var(--text-sm); cursor: pointer; }
.hc__rotation-toggle:focus-visible { outline: 2px solid var(--theme-text); outline-offset: 2px; }
.hc__image { display: block; width: 100%; height: auto; object-fit: cover; }
.hc__media > .hc__image { aspect-ratio: 3 / 2; }
.hc__media figcaption { position: absolute; inset-inline-start: var(--space-6); bottom: var(--space-6); max-width: calc(100% - var(--space-12)); padding: var(--space-2); background: var(--theme-surface); color: var(--theme-text); border-radius: var(--radius-sm); font-size: var(--text-xs); }
.hc__badge { position: absolute; inset-inline-start: var(--space-3); bottom: var(--space-3); max-width: calc(100% - var(--space-6)); padding: var(--space-2) var(--space-3); border-radius: var(--radius-pill); background: var(--theme-surface); color: var(--theme-text); font-size: var(--text-xs); font-weight: 600; pointer-events: none; overflow-wrap: anywhere; }
.hc__badge { transition: transform var(--dur-base) var(--ease-smooth); }
.hc__host--media:hover .hc__badge, .hc__host--media:focus-within .hc__badge { transform: translateY(calc(-1 * var(--space-xxs))); }
.hc__host--media .hc__body { padding: var(--space-5) var(--space-6); }
.hc__mini-slot { padding: var(--space-4); min-width: 0; }
.hc__mini { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; padding: var(--space-4); border-radius: var(--hc-radius-mini, var(--radius-md)); background: var(--theme-surface); color: var(--hc-ink, var(--theme-text)); border: 1px solid var(--theme-border); font-size: var(--text-xs); }
.hc__mini-title { font-size: var(--text-sm); line-height: 1.3; font-weight: 700; }
.hc__mini p { line-height: 1.5; }
.hc__items { display: grid; gap: var(--space-3); padding-inline-start: var(--space-5); margin: 0; }
.hc__items li { min-width: 0; overflow-wrap: anywhere; }
.hc__items li > span { display: block; }
.hc__items--destination { list-style: none; padding: 0; grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr)); }
.hc__items--destination li { display: flex; flex-direction: column; gap: var(--space-2); }
.hc__items--destination .hc__image { aspect-ratio: 2 / 1; border-radius: var(--radius-sm); }
.hc__items--destination a { display: flex; align-items: center; min-height: 2.75rem; color: inherit; font-weight: 600; }
.hc__items--route { list-style: none; padding: 0; }
.hc__items--route li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-3); padding-block: var(--space-3); border-bottom: 1px solid var(--theme-border); }
.hc__disclosure { margin: var(--space-3) 0 0; font-size: var(--text-xs); line-height: 1.5; }
.hc__logo .hc__image { width: 152px; height: 27px; object-fit: contain; }
.hc__search { display: grid; gap: var(--space-3); width: 100%; min-width: 0; }
.hc__search .input { min-width: 0; width: 100%; min-height: 2.75rem; }
.hc .pin-grid { width: 100%; }
.hc__layout--panel .hc__title, .hc__layout--panel-footer .hc__title { font-size: var(--text-fluid-lg); }
@container hc (min-width: 48rem) {
  .hc__layout--split { grid-template-columns: minmax(0, 5fr) minmax(0, 8fr); }
  .hc__layout--split-reverse, .hc__layout--collage { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); }
  .hc__layout--collage-three { grid-template-columns: minmax(0, 5fr) minmax(0, 5fr) minmax(0, 2.5fr); }
  .hc__layout--trio { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hc__layout--trio > :first-child { grid-column: 1 / -1; }
  .hc__layout--feature, .hc__layout--explore { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hc__layout--feature > :first-child, .hc__layout--explore > :first-child, .hc__layout--explore > :last-child { grid-column: 1 / -1; }
  .hc__layout--split .hc__media, .hc__layout--split-reverse .hc__media, .hc__layout--collage .hc__media { flex: 1; min-height: 22.625rem; }
  .hc__layout--split .hc__media > img, .hc__layout--split-reverse .hc__media > img, .hc__layout--collage .hc__media > img { position: absolute; inset: 0; width: 100%; height: 100%; }
  .hc__layout--split .hc__title, .hc__layout--split-reverse .hc__title { font-size: var(--hc-text-display, var(--text-fluid-hero)); }
}
@container hc (min-width: 64rem) {
  .hc__layout--trio { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hc__layout--trio > :first-child { grid-column: auto; }
  .hc__layout--feature { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); }
  .hc__layout--feature > :first-child { grid-column: 1; grid-row: span 2; }
  .hc__layout--explore { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .hc__layout--explore > :first-child { grid-column: span 2; grid-row: span 2; }
  .hc__layout--explore > :nth-child(2), .hc__layout--explore > :nth-child(5), .hc__layout--explore > :nth-child(6) { grid-column: span 2; }
}
/* Only media and scrims are absolute. Grid overlap keeps long minis measurable. */
@container hc-host (min-width: 30rem) {
  .hc__host--media .hc__card:has(> .hc__mini-slot--summary, > .hc__mini-slot--itinerary, > .hc__mini-slot--brand) { display: grid; grid-template-columns: minmax(0, 1fr); }
  .hc__host--media .hc__card:has(> .hc__mini-slot--summary, > .hc__mini-slot--itinerary, > .hc__mini-slot--brand) > .hc__media { grid-area: 1 / 1; min-height: 23.75rem; }
  .hc__host--media .hc__mini-slot--summary, .hc__host--media .hc__mini-slot--itinerary, .hc__host--media .hc__mini-slot--brand { grid-area: 1 / 1; z-index: 1; align-self: end; justify-self: start; width: min(100%, 24rem); padding: var(--space-6); }
}
@container hc-host (min-width: 35rem) {
  .hc__host--media .hc__card:has(> .hc__mini-slot--destination) { display: grid; grid-template-columns: minmax(0, 1fr); }
  .hc__host--media .hc__card:has(> .hc__mini-slot--destination) > .hc__media { grid-area: 1 / 1; min-height: 23.75rem; }
  .hc__host--media .hc__mini-slot--destination { grid-area: 1 / 1; z-index: 1; align-self: end; justify-self: start; width: min(100%, 28.625rem); padding: var(--space-6); }
}
@container hc-host (min-width: 37.5rem) {
  .hc__host--media .hc__card:has(> .hc__mini-slot--search) { display: grid; grid-template-columns: minmax(0, 1fr); }
  .hc__host--media .hc__card:has(> .hc__mini-slot--search) > .hc__media { grid-area: 1 / 1; min-height: 23.75rem; }
  .hc__host--media .hc__mini-slot--search { grid-area: 1 / 1; z-index: 1; align-self: end; justify-self: start; width: min(100%, 35.5rem); padding: var(--space-6); }
}
@container hc (min-width: 45rem) {
  .hc__layout--panorama .hc__card, .hc__layout--panorama-search .hc__card { min-height: 23.75rem; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: end; background: var(--hc-ink, var(--theme-text)); border-radius: inherit; }
  .hc__layout--panorama .hc__media, .hc__layout--panorama-search .hc__media { position: absolute; inset: 0; }
  .hc__layout--panorama .hc__media > img, .hc__layout--panorama-search .hc__media > img { height: 100%; opacity: .25; }
  .hc__layout--panorama .hc__body, .hc__layout--panorama-search .hc__body, .hc__layout--panorama .hc__mini-slot, .hc__layout--panorama-search .hc__mini-slot { position: relative; }
  .hc__layout--panorama .hc__body, .hc__layout--panorama-search .hc__body { color: var(--color-on-primary); }
}
@container hc (max-width: 47.999rem) {
  .hc__layout { gap: var(--space-3); }
  .hc__body { padding: var(--space-6); }
  .hc .hc__action { width: 100%; }
}
/* Existing mini summary: visible companion by default; reveal only with a fine pointer. */
.hc--compact .hc__host--reveal .hc__mini-slot { padding: var(--space-3); }
.hc--compact .hc__host--reveal .hc__mini { font-size: var(--text-xs); }
.hc--compact .hc__host--reveal .hc__mini { flex-direction: row; align-items: center; justify-content: space-between; gap: var(--space-2); padding: var(--space-2) var(--space-3); }
.hc--compact .hc__host--reveal .hc__mini-title { font-size: var(--text-sm); font-weight: 600; }
.hc__mini-thumb { flex: 0 0 3rem; width: 3rem; height: 3rem; overflow: hidden; border-radius: var(--radius-sm); }
.hc__mini-thumb > .hc__image { width: 100%; height: 100%; object-fit: cover; }
.hc__mini-link { position: relative; flex: 0 0 2.75rem; display: inline-flex; align-items: center; justify-content: center; height: 2.75rem; width: 2.75rem; min-height: 2.75rem; min-width: 2.75rem; padding: 0; border: 0; border-radius: var(--radius-pill); color: var(--color-on-primary); background: transparent; font-size: var(--text-lg); text-decoration: none; }
.hc__mini-link::before { content: ''; position: absolute; inset: calc(var(--space-3) / 2); border-radius: inherit; background: var(--theme-accent-strong); transition: background var(--dur-base) var(--ease-smooth); }
.hc__mini-link:hover::before, .hc__mini-link:focus-visible::before { background: var(--theme-accent-strong); }
.hc__mini-link span { position: relative; z-index: 1; transition: transform var(--dur-base) var(--ease-smooth); }
.hc__mini-link:hover span, .hc__mini-link:focus-visible span { transform: translateX(var(--space-1)); }
.hc .hc__mini .hc__action--icon { display: grid; place-items: center; flex: 0 0 2.75rem; min-width: 2.75rem; width: 2.75rem; height: 2.75rem; min-height: 2.75rem; padding: 0; color: inherit; text-decoration: none; border: 0; border-radius: var(--radius-pill); }
.hc .hc__mini .hc__action--icon:hover { background: var(--theme-subtle); }
@media (hover: hover) and (pointer: fine) {
  .hc--compact .hc__host--reveal .hc__card { display: grid; grid-template-columns: minmax(0, 1fr); }
  .hc--compact .hc__host--reveal .hc__media { grid-area: 1 / 1; }
  .hc--compact .hc__host--reveal .hc__mini-slot { grid-area: 1 / 1; z-index: 1; align-self: end; width: min(100%, 19rem); min-width: 0; opacity: 1; pointer-events: auto; }
}
.hc--compact .hc__host--reveal .hc__mini:hover, .hc--compact .hc__host--reveal .hc__mini:focus-within { border-color: var(--theme-border); background: var(--theme-surface); }
.hc--compact .hc__mini:hover .hc__mini-link span, .hc--compact .hc__mini:focus-within .hc__mini-link span { transform: translateX(var(--space-1)); }
.hc--compact .hc__host--reveal .hc__action--icon span { transition: transform var(--dur-base) var(--ease-smooth); }
.hc--compact .hc__host--reveal .hc__mini:hover .hc__action--icon span, .hc--compact .hc__host--reveal .hc__mini:focus-within .hc__action--icon span { transform: translate(var(--space-1), calc(-1 * var(--space-1))); }
@container hc (max-width: 35rem) {
  .hc--compact .hc__body { display: flex; align-items: flex-start; }
  .hc--compact .hc__action { width: auto; }
  .hc--compact .hc__host--reveal .hc__mini .hc__action { padding: var(--space-2); font-size: var(--text-xs); }
}
@media (max-width: 900px) { .hc-tabs > [data-hc-active] > .hc { margin-block: var(--space-8); } }
/* Compact B02a / B03: bounded editorial column, wide scenery, then mobile stack. */
.hc--compact { margin-block: var(--space-4) var(--space-6); }
.hc--compact .hc__layout { grid-template-columns: minmax(0, 24rem) minmax(0, 1fr); gap: var(--space-4); }
.hc--compact .hc__body { display: flex; flex-direction: column; align-items: flex-start; padding: calc(var(--space-6) * 1.2) var(--space-6); gap: var(--space-3); justify-content: center; }
.hc--compact .hc__host--cta .hc__card { min-height: 17.25rem; }
.hc--compact .hc__title { font-size: var(--text-fluid-lg); word-break: normal; overflow-wrap: normal; }
.hc--compact .hc__eyebrow { word-break: normal; overflow-wrap: normal; }
.hc--compact .hc__description { font-size: var(--text-sm); }
.hc--compact .hc__host--media .hc__card { min-height: 0; }
.hc--compact .hc__host--reveal .hc__card { display: grid; grid-template-columns: minmax(0, 1fr); }
.hc--compact .hc__host--reveal .hc__media { grid-area: 1 / 1; }
.hc--compact .hc__host--media .hc__card:has(> .hc__mini-slot) > .hc__media { min-height: 0; height: 100%; }
.hc--compact .hc__media { flex: 1; min-height: 0; height: 100%; }
.hc--compact .hc__media > .hc__image { position: absolute; inset: 0; height: 100%; width: 100%; aspect-ratio: auto; min-height: 0; }
.hc--compact .hc__host--reveal .hc__mini-slot { grid-area: 1 / 1; z-index: 1; align-self: end; justify-self: start; width: min(100%, 19rem); min-width: 0; padding: var(--space-3); }
.hc--compact .hc__action { width: auto; }
/* Centered hover feedback; no palette changes or translated arrow. */
.hc .hc__mini-link span, .hc .hc__mini:hover .hc__mini-link span, .hc .hc__mini-link:hover span, .hc .hc__mini-link:focus-visible span { transform: none; transition: none; }
.hc .hc__mini-link::before { transition: transform var(--dur-base) var(--ease-smooth); }
.hc .hc__mini:hover .hc__mini-link::before, .hc .hc__mini:focus-within .hc__mini-link::before { transform: scale(1.07); }
@container hc (min-width: 40rem) and (max-width: 63.999rem) {
  .hc--compact .hc__layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); }
  .hc--compact .hc__body { padding-inline: var(--space-5); }
  .hc--compact .hc__title { font-size: var(--text-2xl); }
}
@container hc (max-width: 39.999rem) {
  .hc--compact .hc__layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
  .hc--compact .hc__host:first-child { grid-column: 1 / -1; }
  .hc--compact .hc__body { display: flex; flex-direction: column; align-items: flex-start; padding: var(--space-4); gap: var(--space-2); }
  .hc--compact .hc__host--cta .hc__card { min-height: 0; }
  .hc--compact .hc__eyebrow { font-size: var(--text-xs); }
  .hc--compact .hc__title { font-size: var(--text-lg); }
  .hc--compact .hc__description { display: none; }
  .hc--compact .hc__action { max-width: 100%; width: auto; font-size: var(--text-sm); padding: var(--space-3) var(--space-4); }
  .hc--compact .hc__host--media .hc__card { height: 12rem; }
}
@container hc (max-width: 35rem) {
  .hc--compact .hc__host--reveal .hc__mini { padding: var(--space-1) var(--space-2); gap: var(--space-1); }
  .hc--compact .hc__host--reveal .hc__mini-title { position: static; width: auto; height: auto; margin: 0; padding: 0; overflow: visible; clip-path: none; white-space: normal; font-size: var(--text-xs); }
  .hc--compact .hc__mini-thumb { width: 2.25rem; height: 2.25rem; flex-basis: 2.25rem; }
  .hc--compact .hc__badge { padding: var(--space-2); }
}
@media (prefers-reduced-motion: reduce) { .hc *, .hc *::before, .hc *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }

.hc .hc__mini-target { color: var(--hc-ink); text-decoration: none; cursor: pointer; }
.hc .hc__mini-target:focus-visible { outline: 2px solid var(--hc-ink); outline-offset: 3px; }

@media (hover: hover) and (pointer: fine) {
  .hc .hc__mini-target .hc__mini-thumb img { transition: transform var(--dur-base) var(--ease-smooth); }
  .hc .hc__mini-target:hover .hc__mini-thumb img, .hc .hc__mini-target:focus-visible .hc__mini-thumb img { transform: scale(1.05); }
}

.hc .hc__mini-title { transition: color var(--dur-base) var(--ease-smooth), opacity 140ms ease-out, transform 160ms ease-out; }
.hc .hc__mini-target:hover .hc__mini-title, .hc .hc__mini-target:focus-visible .hc__mini-title { color: var(--theme-accent-strong); }

.hc .hc__mini-thumb { position: relative; }
.hc .hc__mini-thumb > .hc__mini-thumb-outgoing { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 1; transition: opacity 140ms ease-out; }
.hc .hc__mini-thumb > .hc__mini-thumb-outgoing.is-leaving { opacity: 0; }
@media (hover: hover) and (pointer: fine) {
  .hc .hc__mini-target { transform-origin: left bottom; transition: transform 180ms var(--ease-smooth); }
  .hc .hc__mini-target:hover { transform: scale(1.05); }
  .hc .hc__mini-target:hover .hc__mini-thumb img, .hc .hc__mini-target:hover .hc__mini-link::before { transform: none; }
}

/* Quiet countdown, confined to the photo; decorative and motion-aware. */
.hc__progress { position: absolute; inset-inline: 0; top: 0; height: 2px; border-radius: 0; overflow: hidden; color: var(--theme-accent-strong); background: var(--theme-subtle); z-index: 2; pointer-events: none; }
.hc__progress-fill { display: block; width: 100%; height: 100%; background: currentColor; transform: scaleX(0); transform-origin: left center; transition: transform 50ms linear; }
[data-hc-stopped] .hc__progress { display: none; }
@media (prefers-reduced-motion: reduce), (pointer: coarse) { .hc__progress { display: none; } }

/* Editorial profile: compact article modules, opt-in; homepage recipes stay unchanged. */
.hc--editorial { margin-block: var(--space-5); }
.hc--editorial .hc__host { border-radius: var(--radius-md); overflow: hidden; }
.hc--editorial .hc__body { padding: var(--space-5); gap: var(--space-3); justify-content: center; }
.hc--editorial .hc__body > .hc__title,
.hc--editorial .hc__body > .hc__description,
.hc--editorial .hc__body > .hc__eyebrow,
.hc--editorial .hc__mini > .hc__mini-title,
.hc--editorial .hc__mini > p { margin: 0; color: inherit; }
.hc--editorial .hc__body > .hc__title { font-size: var(--text-lg); line-height: 1.25; }
.hc--editorial .hc__description { font-size: var(--text-sm); line-height: 1.5; }
.hc--editorial .hc__eyebrow { color: var(--theme-muted); font-size: var(--text-xs); }
.hc--editorial .hc__leading-icon { display: inline-flex; color: inherit; }
.hc--editorial .hc__badge { display: inline-flex; align-items: center; gap: var(--space-1); top: var(--space-3); bottom: auto; font-size: var(--text-xs); }
.hc--editorial .hc__badge svg { width: var(--text-sm); height: var(--text-sm); flex: none; }
.hc--editorial .hc__layout--split { grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); }
.hc--editorial .hc__layout--split .hc__body > .hc__title { font-size: var(--text-fluid-lg); max-width: 20ch; }
.hc--editorial .hc__layout--split .hc__body { align-items: flex-start; padding: var(--space-6); }
.hc--editorial .hc__layout--split .hc__media { min-height: 0; height: auto; flex: none; }
.hc--editorial .hc__layout--split .hc__media > .hc__image { position: static; aspect-ratio: 2 / 1; height: auto; width: 100%; }
.hc--editorial .hc__host--media .hc__card:has(> .hc__mini-slot) { display: flex; }
.hc--editorial .hc__host--media .hc__card:has(> .hc__mini-slot) > .hc__media { min-height: 0; }
.hc--editorial .hc__mini-slot { width: 100%; padding: var(--space-3); }
.hc--editorial .hc__mini { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: var(--space-3); row-gap: var(--space-1); padding: var(--space-3); border: 0; background: var(--theme-subtle); }
.hc--editorial .hc__mini-thumb { grid-column: 1; grid-row: 1 / span 2; align-self: center; }
.hc--editorial .hc__mini > .hc__mini-title { grid-column: 2; font-size: var(--text-sm); }
.hc--editorial .hc__mini > p { grid-column: 2; font-size: var(--text-xs); }
@container hc (min-width: 40rem) {
  .hc--editorial .hc__layout--split { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
}
.hc--editorial .hc__layout--split .hc__media > .hc__image { aspect-ratio: 3 / 1; }
.hc--editorial .hc__layout--split .hc__body { padding: var(--space-5); }
.hc--editorial .hc__layout--split .hc__mini-slot { padding: var(--space-2); }
/* Compact article chrome only when an editorial composition is present. */
body.single:has(.entry-content .hc--editorial) .internal-hero__title { font-size: var(--text-3xl); line-height: 1.2; max-width: 34ch; }
body.single:has(.entry-content .hc--editorial) .internal-hero__dek { font-size: var(--text-base); margin-block: var(--space-3); }
body.single:has(.entry-content .hc--editorial) .internal-hero__meta { margin-block-start: var(--space-3); }
body.single:has(.entry-content .hc--editorial) .internal-hero__badges { margin-block: var(--space-2); }
body.single:has(.entry-content .hc--editorial) .internal-hero__inner { padding-block-end: var(--space-4); }
body.single:has(.entry-content .hc--editorial) .post-layout { padding-block-start: var(--space-4); }
.hc--editorial { scroll-margin-top: var(--space-20); }

/* Editorial page grid: explicit row count, canonical card styling unchanged. */
.hc-page-grid[data-columns="3"] .pin-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@container hc (max-width: 48rem) {
  .hc-page-grid[data-columns="3"] .pin-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container hc (max-width: 26rem) {
  .hc-page-grid[data-columns="3"] .pin-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Guide decisions reuse canonical FAQ rows with icons in one reading column. */
.hub360-faq--guide .hub360-faq__list { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-3); align-items: start; }
.hub360-faq--guide .hub360-faq__question { justify-content: start; }
.hub360-faq--guide .hub360-faq__icon { display: inline-flex; flex: none; color: var(--theme-text); }
.hub360-faq--guide .hub360-faq__label { flex: 1; }
.hub360-faq--guide .hub360-faq__chevron { flex: none; }
@media (max-width: 640px) { .hub360-faq--guide .hub360-faq__list { grid-template-columns: minmax(0, 1fr); } }

/* Page content adds image margin, link underlines, and heading margins. The home banner keeps its own frame. */
.entry-content .hc img {
  margin-block: 0;
  border-radius: 0;
}
.entry-content .hc :is(h2, h3, h4, p):not(.pin-card *) {
  margin: 0;
  scroll-margin-top: 0;
  color: inherit;
}
.entry-content .hc.hc--compact h2.hc__title {
  font-size: var(--text-fluid-lg);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: normal;
}
.entry-content .hc.hc--compact h3.hc__mini-title {
  margin: 0;
  font-size: var(--text-sm);
  font-weight: 600;
  line-height: 1.3;
}
.entry-content .hc a:not(.button):not(.btn):not(.wp-block-button__link):not(.pin-card *) {
  color: inherit;
  text-decoration: none;
}
.entry-content .hc a:not(.button):not(.btn):not(.wp-block-button__link):not(.pin-card *):hover,
.entry-content .hc a:not(.button):not(.btn):not(.wp-block-button__link):not(.pin-card *):focus {
  color: inherit;
  text-decoration: none;
}
@container hc (min-width: 40rem) and (max-width: 63.999rem) {
  .entry-content .hc.hc--compact h2.hc__title { font-size: var(--text-2xl); }
}
@container hc (max-width: 39.999rem) {
  .entry-content .hc.hc--compact h2.hc__title { font-size: var(--text-lg); }
}
@container hc (max-width: 35rem) {
  .entry-content .hc.hc--compact h3.hc__mini-title { font-size: var(--text-xs); }
}
.hc-support-banner {
  margin-block: var(--space-8);
}
.hc-support-banner .hc__host,
.hc-support-banner .hc__tone--white,
.hc-support-banner .hc__tone--sand {
  background: var(--theme-surface);
  border: 1px solid var(--theme-border);
  border-radius: var(--theme-radius);
  overflow: hidden;
}
.hc-support-banner.hc--editorial .hc__host {
  border-radius: var(--theme-radius);
}
.hc-support-banner .hc__leading-icon { display: none; }
.hc-support-banner.hc--editorial .hc__body {
  display: grid;
  grid-template-columns: 6.5rem minmax(0, 1fr) auto;
  align-items: center;
  column-gap: var(--space-5);
  row-gap: var(--space-1);
  padding: var(--space-3) var(--space-5) var(--space-3) var(--space-3);
}
.hc-support-banner__thumb {
  grid-column: 1;
  grid-row: 1 / span 3;
  align-self: stretch;
  width: 6.5rem;
  min-height: 6.5rem;
  border-radius: var(--theme-radius);
  overflow: hidden;
}
.entry-content .hc-support-banner .hc-support-banner__thumb img,
.hc-support-banner .hc-support-banner__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
  border-radius: 0;
}
.hc-support-banner .hc__eyebrow,
.hc-support-banner.hc--editorial .hc__body > .hc__title,
.hc-support-banner.hc--editorial .hc__description {
  grid-column: 2;
}
.hc-support-banner .hc__eyebrow { grid-row: 1; align-self: end; }
.hc-support-banner.hc--editorial .hc__body > .hc__title { grid-row: 2; align-self: center; }
.hc-support-banner.hc--editorial .hc__description { grid-row: 3; align-self: start; }
.hc-support-banner.hc--editorial .hc__body:not(:has(.hc__eyebrow)) > .hc__title { grid-row: 1; }
.hc-support-banner.hc--editorial .hc__body:not(:has(.hc__eyebrow)) > .hc__description { grid-row: 2; }
.hc-support-banner.hc--editorial .hc__body:not(:has(.hc__eyebrow)) .hc-support-banner__thumb,
.hc-support-banner.hc--editorial .hc__body:not(:has(.hc__eyebrow)) .hc__action { grid-row: 1 / span 2; }
.hc-support-banner .hc__eyebrow {
  color: var(--theme-muted);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.hc-support-banner.hc--editorial .hc__body > .hc__title {
  max-width: none;
  font-size: var(--text-xl);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.015em;
}
.hc-support-banner.hc--editorial .hc__description {
  max-width: none;
  color: var(--theme-muted);
  font-size: var(--text-sm);
  line-height: 1.4;
}
.hc-support-banner .hc__action {
  grid-column: 3;
  grid-row: 1 / span 3;
  justify-self: end;
  align-self: center;
  width: auto;
  min-height: 2.75rem;
  padding-inline: var(--space-6);
  white-space: nowrap;
}
.hc.hc-support-banner:has(.hc-stack) {
  width: 100%;
  max-width: none;
}
.hc-support-banner:has(.hc-stack) .hc__host,
.hc-support-banner:has(.hc-stack) .hc__tone--white {
  background: var(--hc-sand, #f7f3ec);
  border-color: transparent;
}
.hc-support-banner.hc--editorial .hc__body:has(.hc-stack) {
  display: grid;
  grid-template-columns: 18rem minmax(0, 1fr) auto;
  align-items: center;
  width: min(100%, 62rem);
  min-height: 12.5rem;
  margin-inline: auto;
  padding: var(--space-4) var(--space-5);
}
.hc-stack {
  grid-column: 1;
  grid-row: 1 / span 2;
  position: relative;
  width: 18rem;
  height: 11.5rem;
  align-self: center;
}
.hc-stack__card {
  position: absolute;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  width: 7.25rem;
  margin: 0;
  padding: 0.4rem 0.4rem 0.55rem;
  border-radius: 8px;
  background: var(--theme-surface);
  color: var(--theme-text);
  text-decoration: none;
  box-shadow: 0 10px 24px rgb(23 23 23 / 10%);
}
.hc-stack__card--back { left: 0; top: 0.85rem; z-index: 1; transform: rotate(-8deg); }
.hc-stack__card--mid { left: 5.1rem; top: 0; z-index: 2; transform: rotate(2deg); }
.hc-stack__card--front { left: 10.1rem; top: 1.35rem; z-index: 3; transform: rotate(7deg); }
.entry-content .hc-stack a.hc-stack__card:not(.button):not(.btn):not(.wp-block-button__link):not(.pin-card *),
.entry-content .hc-stack a.hc-stack__card:not(.button):not(.btn):not(.wp-block-button__link):not(.pin-card *):hover,
.entry-content .hc-stack a.hc-stack__card:not(.button):not(.btn):not(.wp-block-button__link):not(.pin-card *):focus {
  color: var(--theme-text);
  text-decoration: none;
}
.entry-content .hc-stack .hc-stack__card img,
.hc-stack__card img {
  display: block;
  width: 100%;
  height: 6.1rem;
  margin: 0;
  object-fit: cover;
  border-radius: 4px;
}
.hc-stack__label {
  padding: 0 0.15rem 0.1rem;
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1.2;
}
@container hc (max-width: 48rem) {
  .hc-support-banner.hc--editorial .hc__body {
    grid-template-columns: 5.5rem minmax(0, 1fr);
    padding: var(--space-4);
  }
  .hc-support-banner__thumb {
    width: 5.5rem;
    min-height: 5.5rem;
    height: 5.5rem;
    align-self: start;
    grid-row: 1 / span 3;
  }
  .hc-support-banner.hc--editorial .hc__body > .hc__title,
  .hc-support-banner.hc--editorial .hc__description {
    max-width: none;
  }
  .hc-support-banner .hc__action,
  .hc-support-banner.hc--editorial .hc__body:not(:has(.hc__eyebrow)) .hc__action {
    grid-column: 1 / -1;
    grid-row: 4;
    justify-self: start;
    width: auto;
    margin-block-start: var(--space-2);
    white-space: normal;
  }
  .hc-support-banner.hc--editorial .hc__body:has(.hc-stack) {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }
  .hc-stack {
    grid-column: 1;
    grid-row: 1;
    justify-self: center;
    width: min(100%, 18rem);
  }
  .hc-support-banner.hc--editorial .hc__body:has(.hc-stack) > .hc__title,
  .hc-support-banner.hc--editorial .hc__body:has(.hc-stack) > .hc__description {
    grid-column: 1;
  }
  .hc-support-banner.hc--editorial .hc__body:has(.hc-stack) > .hc__title { grid-row: 2; }
  .hc-support-banner.hc--editorial .hc__body:has(.hc-stack) > .hc__description { grid-row: 3; }
  .hc-support-banner.hc--editorial .hc__body:has(.hc-stack) .hc__action { grid-row: 4; }
}

/* Trust links at the foot of an internal page: one card per destination. */
.hc-trust-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-3);
  margin-block: var(--space-4) var(--space-8);
}
.entry-content .hc-trust-cards > a.hc-trust-cards__card:not(.button):not(.btn):not(.wp-block-button__link):not(.pin-card *) {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  min-height: 4.75rem;
  margin: 0;
  padding: var(--space-4);
  border: 1px solid var(--theme-border);
  border-radius: var(--theme-radius);
  background: var(--theme-surface);
  color: var(--theme-text);
  text-decoration: none;
  transition: border-color var(--dur-base, 260ms) var(--ease-expo-out, cubic-bezier(0.16, 1, 0.3, 1));
}
.entry-content .hc-trust-cards > a.hc-trust-cards__card:not(.button):not(.btn):not(.wp-block-button__link):not(.pin-card *):hover,
.entry-content .hc-trust-cards > a.hc-trust-cards__card:not(.button):not(.btn):not(.wp-block-button__link):not(.pin-card *):focus {
  background: var(--theme-surface);
  border-color: var(--theme-text);
  color: var(--theme-text);
  text-decoration: none;
}
.hc-trust-cards__icon {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  color: var(--theme-text);
}
.hc-trust-cards__icon svg {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  transition: transform var(--dur-slow, 400ms) var(--ease-expo-out, cubic-bezier(0.16, 1, 0.3, 1));
}
.entry-content .hc-trust-cards > a.hc-trust-cards__card:hover .hc-trust-cards__icon svg,
.entry-content .hc-trust-cards > a.hc-trust-cards__card:focus .hc-trust-cards__icon svg {
  transform: scale(1.06);
}
.hc-trust-cards__label { font-size: var(--text-sm); font-weight: 600; line-height: 1.3; }
@media (max-width: 48rem) {
  .hc-trust-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 26rem) {
  .hc-trust-cards { grid-template-columns: minmax(0, 1fr); }
}

/* Closable archive/tip banner: icon + text links, no action buttons. */
.hc-tip-banner { margin-block: 0; }
.hc-tip-banner .hc__host { border: 1px solid var(--theme-border-soft); }
.hc-tip-banner .hc__body {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: start;
  column-gap: var(--space-3);
  row-gap: var(--space-1);
  padding: var(--space-3) var(--space-3) var(--space-3) var(--space-4);
}
.hc-tip-banner .hc__leading-icon { grid-column: 1; grid-row: 1 / span 2; color: var(--theme-muted); }
.hc-tip-banner .hc__leading-icon svg { width: 1rem; height: 1rem; }
.hc-tip-banner .hc__eyebrow { grid-column: 2; margin: 0; color: var(--theme-muted); }
.hc-tip-banner .hc__description {
  grid-column: 2;
  margin: 0;
  max-width: 72ch;
  color: var(--theme-muted);
  font-size: var(--text-sm);
  line-height: 1.5;
  overflow-wrap: break-word;
}
.hc-tip-banner .hc__description p { margin: 0; }
.hc-tip-banner .hc__description a {
  display: inline-flex;
  align-items: center;
  gap: 0.2em;
  color: inherit;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  white-space: nowrap;
}
.hc-tip-banner .hc__description a:hover { color: var(--theme-text); }
.hc-tip-banner .hc-tip-banner__link-icon {
  display: inline-flex;
  flex: none;
  color: currentColor;
}
.hc-tip-banner .hc-tip-banner__link-icon svg {
  width: 0.75em;
  height: 0.75em;
}
.hc-tip-banner .hc-tip-banner__close { grid-column: 3; grid-row: 1 / span 2; align-self: start; }
.hc-tip-banner .button { display: none; }
.entry-content .hc-tip-banner a:not(.button):not(.btn):not(.wp-block-button__link) {
  color: inherit;
  font-weight: 600;
}
.entry-content .hc-tip-banner a:not(.button):not(.btn):not(.wp-block-button__link):hover {
  color: var(--theme-text);
  text-decoration-thickness: 1px;
}

/* Editorial compositions share the same three-column card rhythm as Pin grids. */
.hc--editorial[data-recipe="G05"] > .pin-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@container hc (max-width: 48rem) { .hc--editorial[data-recipe="G05"] > .pin-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container hc (max-width: 28rem) { .hc--editorial[data-recipe="G05"] > .pin-grid { grid-template-columns: minmax(0, 1fr); } }

/* Reusable article scenes: photography carries the hierarchy, B08/B04 own the cards. */
.hc-article-cover { width: 100%; max-width: var(--theme-site-width); margin-inline: auto; padding-block: var(--space-6) var(--space-3); }
.hc-article-cover .hc { margin-block: 0; }
.hc-article-cover .hc__layout { gap: var(--space-3); }
.hc-article-cover .hc__host:first-child .hc__body { justify-content: center; padding: var(--space-6); gap: var(--space-5); }
.hc-article-cover .hc__title { font-size: var(--text-fluid-lg); line-height: 1.12; letter-spacing: -.025em; }
.hc-article-cover .hc__description { font-size: var(--text-base); line-height: 1.6; }
.hc-article-cover .hc__host:nth-child(2) { order: -1; }
.hc-article-cover .hc__host--media .hc__media { min-height: 17rem; height: 100%; }
.hc-article-cover .hc__host--media .hc__media .hc__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hc-article-cover__meta { display: flex; justify-content: flex-end; padding-block: var(--space-4); color: var(--theme-muted); font-size: var(--text-sm); }
.hc-article-scene { margin-block: var(--space-10); }
.hc-article-scene .hc__host--media .hc__body { display: none; }
.hc-article-scene .hc__title { font-size: var(--text-fluid-lg); }
.hc-article-scene .hc__media { min-height: 18rem; height: 100%; }
.hc-article-scene .hc__image { width: 100%; height: 100%; object-fit: cover; }
@container hc (min-width: 48rem) {
  .hc-article-cover .hc__layout { grid-template-columns: minmax(0, 5fr) minmax(0, 8fr); }
  .hc-article-cover .hc__host:nth-child(2) { order: 0; }
  .hc-article-cover .hc__host--media .hc__media { min-height: 29rem; }
  .hc-article-cover .hc__host:first-child .hc__body { padding: var(--space-8); }
}
.hc-article-cover .hc__mini-slot { display: none; }
@container hc-host (min-width: 17.5rem) {
  .hc-article-cover .hc__mini-slot { display: block; }
}
@container hc-host (min-width: 17.5rem) {
  .hc-article-cover .hc__card:has(> .hc__mini-slot) { display: grid; grid-template-columns: minmax(0, 1fr); }
  .hc-article-cover .hc__card:has(> .hc__mini-slot) > .hc__media { grid-area: 1 / 1; }
  .hc-article-cover .hc__mini-slot { grid-area: 1 / 1; align-self: end; z-index: 1; padding: var(--space-4); }
}
/* Visual reading modules stay in one column, matching the canonical FAQ rhythm. */
.hc-article-list { margin-block: var(--space-6); min-width: 0; }
.hc-article-list__heading { margin-block: 0 var(--space-4); }
.entry-content .hc-article-list__items { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-2); list-style: none; padding: 0; margin: 0; }
.entry-content .hc-article-list__item { display: grid; grid-template-columns: 1.75rem minmax(0, 1fr); gap: var(--space-4); align-items: start; margin: 0; padding: var(--space-4) var(--space-5); border: 1px solid var(--hub360-border, var(--theme-border)); border-radius: var(--radius-md); background: var(--hub360-surface, var(--theme-surface)); min-width: 0; }
.hc-article-list__number { font-size: var(--text-lg); font-weight: 600; line-height: 1.5; color: var(--theme-muted); }
.hc-article-list__icon { display: inline-flex; padding-block-start: var(--space-1); color: var(--theme-text); }
.hc-article-list__icon svg { width: 1.25rem; height: 1.25rem; }
.hc-article-list__body { min-width: 0; font-size: var(--text-base); line-height: 1.6; overflow-wrap: anywhere; }
.entry-content .hc-article-list__body p { margin: 0; }
.entry-content .hc-article-list__body p + p { margin-block-start: var(--space-2); }

/* The summary mini is one compact linked target, using the native thumb/title/arrow. */
.hc-article-cover .hc__mini-slot { width: min(100%, 21rem); justify-self: start; }
.hc-article-cover .hc__mini--summary { display: grid; grid-template-columns: 3rem minmax(0, 1fr) 2.75rem; align-items: center; column-gap: var(--space-2); row-gap: var(--space-1); padding: var(--space-3); text-decoration: none; border-radius: var(--radius-md); }
.hc-article-cover .hc__mini-thumb { grid-column: 1; grid-row: 1 / span 2; width: 3rem; height: 3rem; }
.hc-article-cover .hc__mini-title { grid-column: 2; grid-row: 2; font-size: var(--text-sm); line-height: 1.3; }
.hc-article-cover .hc__mini p { grid-column: 2; grid-row: 1; font-size: var(--text-xs); line-height: 1.2; color: var(--theme-muted); }
.hc-article-cover .hc__mini-link { grid-column: 3; grid-row: 1 / span 2; }
