/* HOME-HERO-004: compact guest welcome; existing shell, icons and CTA. */
.guest-welcome { grid-template-columns: minmax(0, 1fr); gap: .5rem; padding: .875rem; background: #fff6fb; align-items: start; }
.guest-welcome__copy { min-inline-size: 0; }
.guest-welcome__eyebrow { margin: 0 0 .375rem; color: #775383; font-size: .625rem; font-weight: 700; line-height: 1.5; letter-spacing: .1em; }
.guest-welcome h1 { margin: 0 0 .5rem; color: var(--ft-ink); font-size: clamp(2rem, 8.3vw, 2.25rem); font-weight: 800; line-height: 1.05; letter-spacing: -.035em; }
.guest-welcome h1 > span { display: inline; }
.guest-welcome__title-accent { color: var(--ft-primary); }
.guest-welcome__intro { margin: 0 0 .75rem; max-inline-size: 60ch; font-size: .9375rem; line-height: 1.5; text-wrap: pretty; }
.guest-welcome__actions { margin: 0; align-items: center; gap: .5rem; }
.guest-welcome__actions .ft-button { flex: 0 1 auto; padding-inline: 1rem; font-size: .875rem; }
.guest-welcome__actions .ft-button--secondary { border-color: transparent; background: transparent; padding-inline: .5rem; }
.guest-welcome__join-full { display: none; }
.guest-welcome__slogan { display: flex; align-items: center; justify-content: flex-end; gap: .375rem; margin: 0; min-inline-size: 0; color: #694579; font-family: 'Bradley Hand', 'Segoe Print', cursive; font-size: 1rem; line-height: 1.2; }
.guest-welcome__slogan > span:first-child { min-inline-size: 0; overflow-wrap: anywhere; }
.guest-welcome__heart { flex: none; color: var(--ft-primary); font-family: var(--ft-font-body, sans-serif); font-size: 1.25em; line-height: 1; }
.guest-features { min-inline-size: 0; container-type: inline-size; }
.guest-features__heading { margin-block-end: .5rem; }
.guest-features__heading h2 { margin: 0; font-size: 1rem; font-weight: 750; line-height: 1.35; letter-spacing: -.02em; }
.guest-features__list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .25rem; list-style: none; padding: 0; margin: 0; }
.guest-features__list li { min-inline-size: 0; }
.guest-features__tile { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .375rem; inline-size: 100%; min-block-size: 3.75rem; padding: .5rem .125rem; border: 1px solid #e5d8ec; border-radius: .75rem; background: #fff; color: #694579; font: inherit; font-size: clamp(.6875rem, 4cqi, .8125rem); font-weight: 600; line-height: 1.3; text-align: center; }
.guest-features__tile > span { white-space: nowrap; }
button.guest-features__tile { cursor: pointer; transition: background-color 160ms, border-color 160ms, color 160ms; }
.guest-features__tile .ft-icon { inline-size: 1.25rem; block-size: 1.25rem; }
.guest-features__tile[aria-pressed="true"] { background: var(--ft-pink); color: var(--ft-primary); border-color: #be467d; }
.guest-features__tile:hover { border-color: #be467d; }
.guest-features__tile:focus-visible { outline: 3px solid var(--ft-focus); outline-offset: 3px; }
.guest-features__descriptions { display: grid; margin-block-start: .5rem; }
/* Hidden paragraphs still size this shared row, including at text zoom. */
.guest-features__description { grid-area: 1 / 1; visibility: hidden; margin: 0; font-size: .875rem; line-height: 1.5; color: var(--ft-muted); overflow-wrap: break-word; }
.guest-features__description.is-active { visibility: visible; }
.guest-features__static-name { display: none; }
.guest-features.is-enhanced noscript { display: none; }
.guest-features__fallback { margin: .75rem 0 0; padding-inline-start: 1rem; color: var(--ft-muted); font-size: .875rem; line-height: 1.5; }
.guest-features__fallback li + li { margin-block-start: .5rem; }
@media (min-width: 48rem) {
 .guest-welcome h1 > span { display: inline; }
 .guest-welcome h1 { font-size: 2.75rem; }
 .guest-welcome__eyebrow { font-size: .6875rem; }
 .guest-welcome__intro { font-size: 1rem; text-wrap: balance; }
 .guest-welcome__join-short { display: none; }
 .guest-welcome__join-full { display: inline; }
}
@media (min-width: 60rem) {
 .guest-welcome { grid-template-columns: minmax(0, 1.18fr) minmax(0, 1fr); grid-template-rows: auto 1fr; padding: 1.5rem; gap: .875rem 1.5rem; }
 .guest-welcome__copy { grid-column: 1; grid-row: 1 / span 2; align-self: center; }
 .guest-welcome h1 { font-size: clamp(2.75rem, 3.15vw, 3rem); margin-block-end: .75rem; }
 .guest-welcome__intro { max-inline-size: 62ch; margin-block-end: 1rem; }
 .guest-welcome__slogan { grid-column: 2; grid-row: 1; font-size: 1.25rem; }
 .guest-features { grid-column: 2; grid-row: 2; align-self: center; }
 .guest-features__heading { margin-block-end: .75rem; }
 .guest-features__heading h2 { font-size: 1.125rem; }
 .guest-features__list { gap: .375rem; }
 .guest-features__tile { min-block-size: 4rem; font-size: .8125rem; }
}
@media (max-width: 22rem) {
 .guest-welcome { padding: .875rem; gap: .75rem; }
 .guest-welcome__eyebrow { font-size: .5625rem; letter-spacing: .075em; }
 .guest-features__tile { font-size: .6875rem; gap: .25rem; padding-inline: 0; }
 .guest-welcome__actions .ft-button { padding-inline: .75rem; }
}
@media (prefers-reduced-motion: reduce) { button.guest-features__tile { transition: none; } }
