.home-page { background: var(--color-canvas-obsidian); }
.home-page .home-hero { padding: clamp(4.5rem, 9vw, 8rem) 0 clamp(3.5rem, 7vw, 6rem); background: radial-gradient(circle at 88% 25%, rgba(184, 135, 88, .14), transparent 28rem), var(--color-canvas-velvet); }
.home-hero__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-7); align-items: center; }
.home-hero__grid > * { min-width: 0; width: 100%; }
.home-hero__copy { max-width: 35.625rem; }
.home-hero__copy .lead { max-width: 37.5rem; }
.home-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-4); align-items: center; margin-block: var(--space-5); }
.home-hero__meta { display: flex; flex-wrap: wrap; gap: var(--space-3); margin: 0; padding: 0; }
.home-hero__meta li { display: flex; min-width: 0; flex: 1 1 10rem; align-items: center; gap: var(--space-2); padding-inline-end: var(--space-3); color: var(--color-text-secondary); font-size: var(--text-sm); }
.home-line-icon { width: .75rem; height: .75rem; flex: 0 0 .75rem; border: 1.5px solid var(--color-moonlight-bronze); border-radius: 50%; }
.home-hero__media { min-width: 0; margin: 0; overflow: hidden; border: var(--border-subtle); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); aspect-ratio: 16 / 9; }
.home-hero__media img { width: 100%; height: 100%; object-fit: cover; animation: home-media-enter var(--transition-slow) both; }
.home-principles__intro { max-width: 38.75rem; }
.home-principles__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.home-principles__grid > * { min-width: 0; width: 100%; }
.home-principle-card .card__body { display: flex; min-height: 100%; flex-direction: column; gap: var(--space-3); }
.home-principle-card h3, .home-principle-card p { margin: 0; }
.home-card-number { color: var(--color-soft-amber); font-family: var(--font-heading); font-weight: 800; }
.home-formats__intro { max-width: 38.75rem; }
.home-formats__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.home-formats__grid > * { min-width: 0; width: 100%; }
.home-format-card { display: flex; flex-direction: column; color: var(--color-text-secondary); text-decoration: none; }
.home-format-card__media { display: block; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; }
.home-format-card__media img { width: 100%; height: 100%; object-fit: cover; }
.home-format-card__body { display: flex; min-width: 0; flex: 1; flex-direction: column; gap: var(--space-3); padding: var(--space-5); }
.home-format-card__title { color: var(--color-text-primary); font-family: var(--font-heading); font-size: var(--text-xl); font-weight: 800; line-height: 1.25; letter-spacing: -.035em; }
.home-format-card__link { margin-top: auto; color: var(--color-text-primary); font-size: var(--text-sm); font-weight: 600; text-decoration: underline; text-underline-offset: .25em; }
.home-live__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8); align-items: center; }
.home-live__grid > * { min-width: 0; width: 100%; }
.home-live__media { margin: 0; overflow: hidden; border: var(--border-subtle); border-radius: var(--radius-lg); aspect-ratio: 4 / 5; box-shadow: var(--shadow-card); }
.home-live__media img { width: 100%; height: 100%; object-fit: cover; }
.home-live__copy { max-width: 35rem; }
.home-live__lead { max-width: 35rem; padding-inline-start: var(--space-4); border-inline-start: 1px solid var(--color-moonlight-bronze); }
.home-live__modules { display: flex; flex-direction: column; gap: var(--space-5); margin-top: var(--space-6); }
.home-live__modules article { min-width: 0; border-top: 1px solid rgba(184, 135, 88, .22); padding-top: var(--space-4); }
.home-live__modules article > :last-child { margin-bottom: 0; }
.home-hospitality__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-8); align-items: center; }
.home-hospitality__grid > * { min-width: 0; width: 100%; }
.home-hospitality__copy { max-width: 31.875rem; }
.home-hospitality__sequence { justify-self: end; max-width: 31.25rem; padding: var(--space-6); }
.home-hospitality__sequence article { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--space-4); padding-block: var(--space-4); border-bottom: 1px solid rgba(184, 135, 88, .22); }
.home-hospitality__sequence article:first-child { padding-top: 0; }
.home-hospitality__sequence article:last-child { padding-bottom: 0; border-bottom: 0; }
.home-hospitality__sequence article > * { min-width: 0; }
.home-hospitality__sequence article > span { color: var(--color-soft-amber); font-family: var(--font-heading); font-weight: 800; }
.home-hospitality__sequence h3, .home-hospitality__sequence p { margin: 0; }
.home-gallery__intro { max-width: 32.5rem; }
.home-gallery__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.home-gallery__grid > * { min-width: 0; width: 100%; }
.home-gallery__item { display: flex; min-width: 0; padding: 0; border: 0; background: transparent; color: var(--color-text-secondary); flex-direction: column; gap: var(--space-3); text-align: left; }
.home-gallery__item img { width: 100%; border: var(--border-subtle); border-radius: var(--radius-lg); object-fit: cover; transition: transform var(--transition-base), border-color var(--transition-base); }
.home-gallery__item:hover img { border-color: var(--color-moonlight-bronze); transform: translateY(-3px); }
.home-gallery__item--hall { grid-column: 1 / span 7; grid-row: 1 / span 2; }
.home-gallery__item--hall img { height: 100%; min-height: 30rem; }
.home-gallery__item--detail { grid-column: 8 / span 5; grid-row: 1; }
.home-gallery__item--detail img { aspect-ratio: 4 / 3; }
.home-gallery__item--guests { grid-column: 8 / span 5; grid-row: 2; }
.home-gallery__item--guests img { aspect-ratio: 3 / 2; }
.home-gallery__link { margin-top: var(--space-6); }
.home-process__intro { max-width: 36.25rem; }
.home-process__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); position: relative; }
.home-process__grid::before { position: absolute; top: 1.2rem; right: 12.5%; left: 12.5%; height: 1px; background: rgba(184, 135, 88, .42); content: ""; }
.home-process__grid > * { position: relative; min-width: 0; width: 100%; padding-top: var(--space-6); }
.home-process__grid article > span { display: inline-flex; width: 2.5rem; height: 2.5rem; align-items: center; justify-content: center; border: 1px solid var(--color-moonlight-bronze); border-radius: 50%; background: var(--color-canvas-obsidian); color: var(--color-soft-amber); font-family: var(--font-heading); font-weight: 800; }
.home-process__grid h3 { margin-top: var(--space-4); }
.home-process__grid article > :last-child { margin-bottom: 0; }
.home-manifest__content { max-width: 47.5rem; }
.home-manifest__content h2 { font-size: clamp(2rem, 4vw, 3rem); }
.home-manifest__content > p { max-width: 37.5rem; }
.home-manifest__uses { display: flex; max-width: 37.5rem; flex-direction: column; margin-top: var(--space-6); border-top: 1px solid rgba(184, 135, 88, .26); }
.home-manifest__uses a { display: grid; grid-template-columns: minmax(9rem, .85fr) minmax(0, 1.7fr); gap: var(--space-4); min-width: 0; min-height: 4.5rem; align-items: center; border-bottom: 1px solid rgba(184, 135, 88, .26); padding-block: var(--space-3); text-decoration: none; }
.home-manifest__uses a > * { min-width: 0; }
.home-manifest__uses span { color: var(--color-text-secondary); }
.home-preparation__intro { max-width: 37.5rem; }
.home-preparation__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.home-preparation__grid > * { min-width: 0; width: 100%; }
.home-preparation__grid article { padding: var(--space-5); }
.home-preparation__grid article > span { color: var(--color-soft-amber); font-family: var(--font-heading); font-weight: 800; }
.home-preparation__grid article h3 { margin-top: var(--space-3); }
.home-preparation__grid article > :last-child { margin-bottom: 0; }
.home-contact__intro { max-width: 32.5rem; }
.home-contact__form { max-width: 57.5rem; margin-top: var(--space-7); padding: var(--space-6); }
.home-contact__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.home-contact__fields > * { min-width: 0; width: 100%; }
.home-contact__field--full { grid-column: 1 / -1; }
.home-contact__consent { display: grid; grid-template-columns: 1rem minmax(0, 1fr); column-gap: var(--space-3); margin-top: var(--space-5); }
.home-contact__consent input { grid-column: 1; grid-row: 1; margin-top: .25rem; }
.home-contact__consent label { grid-column: 2; grid-row: 1; margin: 0; }
.home-contact__consent .form-error { grid-column: 2; grid-row: 2; }
.home-contact__age-note { margin-top: var(--space-4); color: var(--color-text-muted); font-size: var(--text-sm); }
.home-contact__submit { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); margin-top: var(--space-5); }
.home-contact__submit .button { min-width: 10rem; }
.home-contact__status { min-height: 1.5rem; font-size: var(--text-sm); }
.home-contact__status.is-success { color: #9dceb0; }
.home-contact__status.is-error { color: var(--color-danger-coral); }
.home-lightbox { position: fixed; z-index: 1000; inset: 0; }
.home-lightbox[hidden] { display: none; }
.home-lightbox__backdrop { position: absolute; inset: 0; background: var(--color-overlay-black); }
.home-lightbox__dialog { position: relative; width: min(92vw, 70rem); max-height: 92vh; margin: 4vh auto; padding: var(--space-5); border: var(--border-accent); border-radius: var(--radius-lg); background: var(--color-surface-slate-strong); box-shadow: var(--shadow-card); }
.home-lightbox__dialog img { width: 100%; max-height: calc(92vh - 8rem); object-fit: contain; }
.home-lightbox__dialog p { margin: var(--space-3) 0 0; color: var(--color-text-secondary); }
.home-lightbox__close { position: absolute; z-index: 1; top: .5rem; right: .5rem; width: 2.75rem; height: 2.75rem; border: var(--border-accent); border-radius: 50%; background: var(--color-canvas-obsidian); color: var(--color-text-primary); font-size: 1.75rem; line-height: 1; }
@keyframes home-media-enter { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 980px) { .home-hero__grid { grid-template-columns: minmax(0, 1fr); } .home-hero__copy { max-width: 100%; } .home-hero__media { aspect-ratio: 4 / 3; } .home-process__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-process__grid::before { display: none; } }
@media (max-width: 920px) { .home-live__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); } .home-live__media { aspect-ratio: 3 / 2; } .home-live__copy { max-width: 100%; } }
@media (max-width: 900px) { .home-principles__grid, .home-formats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 880px) { .home-hospitality__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); } .home-hospitality__copy, .home-hospitality__sequence { max-width: 100%; justify-self: stretch; } }
@media (max-width: 800px) { .home-gallery__grid { grid-template-columns: minmax(0, 1fr); } .home-gallery__item--hall, .home-gallery__item--detail, .home-gallery__item--guests { grid-column: 1; grid-row: auto; } .home-gallery__item--hall img { min-height: 0; aspect-ratio: 3 / 2; } .home-gallery__item--detail img { aspect-ratio: 4 / 3; } }
@media (max-width: 720px) { .home-contact__form { padding: var(--space-5); } .home-contact__fields { grid-template-columns: minmax(0, 1fr); } .home-contact__field--full { grid-column: 1; } }
@media (max-width: 700px) { .home-preparation__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) { .home-page .home-hero { padding-top: var(--space-8); } .home-hero__actions { align-items: stretch; } .home-hero__actions .button { width: 100%; } .home-hero__meta { flex-direction: column; } .home-hero__meta li { width: 100%; flex: 0 0 auto; } .home-principles__grid, .home-formats__grid, .home-process__grid { grid-template-columns: minmax(0, 1fr); } .home-formats__grid { gap: var(--space-5); } .home-format-card__media { aspect-ratio: 3 / 2; } .home-manifest__uses a { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); } .home-contact__submit { align-items: stretch; } .home-contact__submit .button { width: 100%; } }
@media (max-width: 379px) { .home-contact__form { padding: var(--space-5); } .home-hospitality__sequence { padding: var(--space-5); } .home-hospitality__sequence article { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); } }
@media (prefers-reduced-motion: reduce) { .home-hero__media img { animation: none; } .home-gallery__item:hover img { transform: none; } }
ul { list-style: none !important; }
.nav-toggle { flex-direction: column; }
