.home-page { overflow: hidden; }
.home-page .eyebrow { color: var(--color-sage-dark); }
.home-page .button { min-height: 44px; }
.home-page a:focus-visible, .home-page button:focus-visible, .home-page [tabindex]:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 3px; }
.home-hero { padding-block: var(--space-18); }
.home-hero__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr); align-items: center; gap: var(--space-8); }
.home-hero__copy { grid-column: 1 / span 5; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-6); }
.home-hero__copy > * { margin: 0; }
.home-hero__copy h1 { max-width: 18ch; }
.home-hero__lead { max-width: 470px; font-size: clamp(1.125rem, 1.5vw, 1.25rem); line-height: 1.5; }
.home-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); min-width: 0; }
.home-hero__note { color: var(--color-sage-dark); font-size: var(--text-small); font-weight: 700; }
.home-hero__media { grid-column: 3 / span 1; width: min(100%, 680px); min-width: 0; margin: 0; border-radius: var(--radius-xl) 0 var(--radius-xl) 0; }
.home-hero__media img { width: 100%; height: clamp(400px, 48vw, 640px); object-fit: cover; object-position: center; }
.home-principles__intro { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 20px; align-items: end; padding-bottom: var(--space-8); border-bottom: var(--border-strong); }
.home-principles__heading { grid-column: 1 / span 4; min-width: 0; }
.home-principles__heading h2 { max-width: 600px; }
.home-principles__lead { grid-column: 5 / span 4; min-width: 0; max-width: 500px; }
.home-principles__lead p { margin-bottom: 0; }
.home-principles__label { grid-column: 9 / span 4; min-width: 0; justify-self: end; padding: var(--space-4) var(--space-6); background: var(--color-apricot); font-family: var(--font-heading); font-weight: 700; line-height: 1.1; transform: rotate(-2deg); }
.home-principles__items { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 3fr) minmax(0, 4fr); gap: 20px; padding-top: var(--space-8); align-items: stretch; }
.home-principle { min-width: 0; padding: var(--space-6); }
.home-principle > *:last-child { margin-bottom: 0; }
.home-principle--presence { border-top: var(--border-strong); padding-left: 0; }
.home-principle--rhythm { background: var(--color-sage); border: var(--border-default); border-radius: var(--radius-lg); }
.home-principle--details { background: var(--color-surface-apricot); border: var(--border-default); border-radius: var(--radius-lg); }
.home-principle__meta { margin-bottom: var(--space-4); color: var(--color-sage-dark); font-size: var(--text-label); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.home-formats { background: var(--color-blue); }
.home-formats__heading { max-width: 620px; }
.home-formats__heading p { max-width: 560px; }
.home-formats__list { display: flex; flex-direction: column; gap: var(--space-3); margin-top: var(--space-10); }
.home-format { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 4fr) minmax(0, 5fr); gap: 20px; align-items: start; min-width: 0; padding: var(--space-6); border-top: var(--border-strong); transition: background-color var(--transition-base), border-color var(--transition-base); }
.home-format > * { min-width: 0; }
.home-format h3 { margin: 0; }
.home-format__index { font-family: var(--font-heading); font-size: var(--text-h4); font-weight: 700; }
.home-format__content { max-width: 520px; }
.home-format__content p { margin-bottom: var(--space-3); }
.home-format__content a, .home-occasion a, .home-poker__link { font-weight: 700; }
.home-format:hover { background: rgba(255,253,248,.34); }
.home-format--apricot { background: var(--color-apricot); }
.home-format--sage { background: var(--color-sage); }
.home-format--light { background: var(--color-canvas); }
.home-format--blue { background: rgba(255,253,248,.26); }
.home-format--poker { background: var(--color-plum); border-color: var(--color-plum); color: var(--color-white); }
.home-format--poker h3, .home-format--poker a { color: var(--color-white); }
.home-format--poker:hover { border-color: var(--color-apricot); background: var(--color-plum-hover); }
.home-materials__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 5fr); gap: 20px; align-items: start; }
.home-materials__copy { grid-column: 1 / span 1; min-width: 0; max-width: 520px; }
.home-materials__copy p { max-width: 500px; }
.home-materials__mark { margin: var(--space-6) 0; color: var(--color-apricot); font-size: 3rem; line-height: 1; }
.home-materials__label { display: inline-block; margin-top: var(--space-2); background: var(--color-apricot); padding: var(--space-3) var(--space-4); font-weight: 700; transform: rotate(-1deg); }
.home-materials__visual { grid-column: 3 / span 1; min-width: 0; width: 100%; }
.home-materials__image { width: 100%; margin: 0; }
.home-materials__image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.home-materials__meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); margin: var(--space-4) 0 0; padding: var(--space-4); background: var(--color-surface); border: var(--border-default); }
.home-materials__meta > div { min-width: 0; }
.home-materials__meta dt { color: var(--color-blue-dark); font-size: var(--text-label); letter-spacing: .08em; text-transform: uppercase; }
.home-materials__meta dd { margin: var(--space-2) 0 0; font-size: var(--text-small); }
.home-poker { background: var(--color-plum); color: var(--color-white); }
.home-poker :is(h2,h3) { color: var(--color-white); }
.home-poker .eyebrow { color: var(--color-apricot); }
.home-poker__top { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr); gap: 20px; align-items: center; }
.home-poker__copy { grid-column: 1 / span 1; min-width: 0; max-width: 520px; }
.home-poker__copy p { font-size: 1.125rem; }
.home-poker__copy span { text-decoration: underline; text-decoration-color: var(--color-apricot); text-decoration-thickness: 2px; text-underline-offset: .2em; }
.home-poker__link { color: var(--color-white); }
.home-poker__link:hover { color: var(--color-apricot); }
.home-poker__image { grid-column: 3 / span 1; min-width: 0; width: 100%; margin: 0; }
.home-poker__image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.home-poker__image figcaption { color: var(--color-surface-apricot); }
.home-poker__bottom { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 5fr); gap: 20px; margin-top: var(--space-8); }
.home-poker__host, .home-poker__mood { min-width: 0; }
.home-poker__host { max-width: 460px; }
.home-poker__mood { background: var(--color-blue); color: var(--color-plum); padding: var(--space-6); border-radius: var(--radius-lg); }
.home-poker__mood h3 { color: var(--color-plum); }
.home-poker__mood > *:last-child, .home-poker__host > *:last-child { margin-bottom: 0; }
.home-process { background: var(--color-sage); }
.home-process__heading { max-width: 580px; margin-inline: auto; text-align: center; }
.home-process__heading p { margin-bottom: 0; }
.home-process__steps { display: grid; grid-template-columns: repeat(2, minmax(0, 5fr)); gap: var(--space-8) 20px; margin-top: var(--space-10); }
.home-process__step { min-width: 0; padding-top: var(--space-4); border-top: var(--border-strong); cursor: pointer; transition: background-color var(--transition-base), padding var(--transition-base); }
.home-process__step:nth-child(even) { transform: translateY(var(--space-8)); }
.home-process__step span { color: var(--color-sage-dark); font-size: var(--text-label); font-weight: 700; letter-spacing: .08em; }
.home-process__step p { max-width: 430px; margin-bottom: 0; }
.home-process__step.is-active { background: rgba(255,253,248,.42); padding: var(--space-6); }
.home-process__step--final { background: var(--color-blue); padding: var(--space-6); border-radius: var(--radius-lg); border-top: 0; }
.home-process__step--final .button { margin-top: var(--space-4); }
.home-occasions__heading { max-width: 620px; margin-inline: auto; text-align: center; }
.home-occasions__heading p { margin-bottom: 0; }
.home-occasions__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 2fr) minmax(0, 5fr); gap: var(--space-4) 20px; margin-top: var(--space-10); }
.home-occasion { min-width: 0; padding: var(--space-6); border-radius: var(--radius-lg); }
.home-occasion > *:last-child { margin-bottom: 0; }
.home-occasion p { max-width: 420px; }
.home-occasion--birthday, .home-occasion--team { grid-column: 1 / span 1; }
.home-occasion--corporate, .home-occasion--evening { grid-column: 3 / span 1; }
.home-occasion--corporate, .home-occasion--evening { transform: translateY(var(--space-8)); }
.home-occasion--birthday { background: var(--color-apricot); }
.home-occasion--corporate { background: var(--color-sage); }
.home-occasion--team { background: var(--color-blue); }
.home-occasion--evening { background: var(--color-plum); color: var(--color-white); }
.home-occasion--evening h3, .home-occasion--evening a { color: var(--color-white); }
.home-occasions__closing { display: flex; flex-direction: column; align-items: center; gap: var(--space-4); max-width: 600px; margin: calc(var(--space-10) + var(--space-8)) auto 0; text-align: center; }
.home-occasions__closing > * { margin: 0; }
.home-occasions__closing p { max-width: 500px; }
.home-presence__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; }
.home-presence__dark, .home-presence__light { min-width: 0; padding: var(--space-8); }
.home-presence__dark { background: var(--color-plum); color: var(--color-white); }
.home-presence__dark h2, .home-presence__dark .eyebrow { color: var(--color-white); }
.home-presence__dark p { max-width: 470px; }
.home-presence__dark > *:last-child { margin-bottom: 0; }
.home-presence__light { background: var(--color-surface); border: var(--border-default); }
.home-presence__light > p { max-width: 500px; }
.home-presence__light dl { margin-bottom: 0; }
.home-presence__light dl > div { padding: var(--space-4) 0; border-top: var(--border-default); }
.home-presence__light dd { margin: var(--space-2) 0 0; }
.home-conversation { background: var(--color-surface-apricot); }
.home-conversation__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 2fr) minmax(0, 5fr); gap: 20px; align-items: start; }
.home-conversation__copy { grid-column: 1 / span 1; min-width: 0; max-width: 500px; }
.home-conversation__panel { grid-column: 3 / span 1; min-width: 0; display: flex; flex-direction: column; gap: var(--space-4); background: var(--color-surface); border: var(--border-default); border-radius: var(--radius-lg); padding: var(--space-6); }
.home-conversation__panel > div { min-width: 0; padding-bottom: var(--space-4); border-bottom: var(--border-default); }
.home-conversation__panel > div:last-child { padding-bottom: 0; border-bottom: 0; }
.home-conversation__panel h3 { font-size: var(--text-h5); }
.home-conversation__panel p { margin-bottom: 0; }
.home-conversation__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); margin-top: var(--space-8); }
.home-conversation__actions p { flex-basis: 100%; max-width: 480px; margin-bottom: 0; }
.home-contact { background: var(--color-plum); color: var(--color-white); }
.home-contact .eyebrow { color: var(--color-apricot); }
.home-contact__inner { width: min(100% - (var(--container-padding) * 2), 75rem); }
.home-contact__intro { max-width: 650px; margin-inline: auto; text-align: center; }
.home-contact__intro h2 { color: var(--color-white); }
.home-contact__intro p { max-width: 560px; margin-inline: auto; }
.home-contact__form { display: flex; flex-direction: column; gap: var(--space-6); max-width: 920px; margin: var(--space-8) auto 0; padding: var(--space-8); background: var(--color-surface); color: var(--color-plum); border-radius: var(--radius-lg); box-shadow: var(--shadow-floating); }
.home-contact__form-head { max-width: 500px; }
.home-contact__form-head > *:last-child { margin-bottom: 0; }
.home-contact__fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.home-contact__field { min-width: 0; }
.home-contact__field--wide { grid-column: 1 / -1; }
.home-contact__submit { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.home-contact__submit > * { margin: 0; }
.home-contact__submit p { max-width: 600px; font-size: var(--text-small); }
.home-contact__success { padding: var(--space-6); background: var(--color-sage); border-radius: var(--radius-md); }
.home-contact__success > *:last-child { margin-bottom: 0; }
@media (max-width: 61.25rem) {
.home-hero__grid, .home-poker__top { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.home-hero__copy, .home-poker__copy { grid-column: 1 / -1; }
.home-hero__media, .home-poker__image { grid-column: 1 / -1; max-width: none; }
.home-hero__media img { height: auto; aspect-ratio: 16 / 10; }
.home-principles__intro { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.home-principles__heading { grid-column: 1 / span 3; }
.home-principles__lead { grid-column: 4 / span 3; }
.home-principles__label { grid-column: 1 / span 3; justify-self: start; }
.home-principles__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.home-principle--details { grid-column: 1 / -1; }
.home-materials__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.home-materials__copy, .home-materials__visual { grid-column: 1 / -1; max-width: none; }
.home-poker__bottom { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.home-process__steps { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.home-process__step:nth-child(even) { transform: none; }
.home-process__step { max-width: none; }
.home-occasions__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.home-occasion--birthday, .home-occasion--team, .home-occasion--corporate, .home-occasion--evening { grid-column: auto; transform: none; }
.home-conversation__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.home-conversation__copy, .home-conversation__panel { grid-column: 1 / -1; max-width: none; }
.home-contact__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 56.25rem) {
.home-format { grid-template-columns: 48px minmax(0, 1fr); }
.home-format__index { grid-column: 1; grid-row: 1 / span 2; }
.home-format h3 { grid-column: 2; }
.home-format__content { grid-column: 2; max-width: none; }
.home-presence__grid { grid-template-columns: repeat(1, minmax(0, 1fr)); gap: var(--space-4); }
}
@media (max-width: 45rem) {
.home-hero { padding-block: var(--space-14); }
.home-hero__grid, .home-principles__intro, .home-materials__grid, .home-poker__top, .home-conversation__grid { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.home-hero__copy, .home-hero__media, .home-principles__heading, .home-principles__lead, .home-principles__label, .home-materials__copy, .home-materials__visual, .home-poker__copy, .home-poker__image, .home-conversation__copy, .home-conversation__panel { grid-column: 1; }
.home-hero__copy h1 { max-width: 100%; font-size: clamp(3rem, 13vw, 4rem); }
.home-hero__lead { max-width: 38ch; }
.home-hero__actions { width: 100%; flex-direction: column; }
.home-hero__actions .button { width: 100%; }
.home-hero__media img { aspect-ratio: 4 / 5; height: auto; }
.home-principles__intro { gap: var(--space-4); }
.home-principles__label { justify-self: start; }
.home-principles__items { grid-template-columns: repeat(1, minmax(0, 1fr)); gap: var(--space-4); }
.home-principle--details { grid-column: 1; }
.home-principle--presence { padding-left: var(--space-6); }
.home-formats__heading h2, .home-materials__copy h2, .home-poker__copy h2, .home-process__heading h2, .home-occasions__heading h2, .home-conversation__copy h2, .home-contact__intro h2 { font-size: clamp(2.5rem, 11vw, 3rem); }
.home-format { grid-template-columns: repeat(1, minmax(0, 1fr)); gap: var(--space-3); padding: var(--space-6); }
.home-format__index, .home-format h3, .home-format__content { grid-column: 1; grid-row: auto; }
.home-format__index { font-size: var(--text-label); }
.home-materials__meta { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.home-materials__meta > div + div { padding-top: var(--space-3); border-top: var(--border-default); }
.home-poker__image img { aspect-ratio: 4 / 5; }
.home-process__heading, .home-occasions__heading { margin-inline: 0; text-align: left; }
.home-process__steps { gap: var(--space-6); border-left: 1px solid var(--color-sage-dark); padding-left: var(--space-6); }
.home-process__step { position: relative; }
.home-process__step::before { content: ''; position: absolute; width: 9px; height: 9px; left: calc(var(--space-6) * -1 - 5px); top: var(--space-4); border-radius: 50%; background: var(--color-plum); }
.home-process__step.is-active, .home-process__step--final { padding: var(--space-4); }
.home-process__step--final .button { width: 100%; }
.home-occasions__grid { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.home-occasion--birthday, .home-occasion--team, .home-occasion--corporate, .home-occasion--evening { grid-column: 1; }
.home-occasions__closing { align-items: stretch; margin-top: var(--space-8); text-align: left; }
.home-occasions__closing .button { width: 100%; }
.home-presence__dark, .home-presence__light { padding: var(--space-6); }
.home-conversation__actions { flex-direction: column; align-items: stretch; }
.home-conversation__actions .button { width: 100%; }
.home-contact__form { padding: var(--space-6); }
.home-contact__fields { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.home-contact__field--wide { grid-column: 1; }
.home-contact__submit { align-items: stretch; }
.home-contact__submit button { width: 100%; }
}
