.home-page { overflow: hidden; }
.home-page .section { position: relative; }
.home-page .frame { width: 100%; min-width: 0; margin: 0; }
.home-page .frame img { display: block; width: 100%; max-width: 100%; }

.home-hero { padding-block: var(--space-24) var(--space-32); background: radial-gradient(circle at 78% 20%, rgba(199,154,67,.12), transparent 28%), linear-gradient(115deg, var(--color-obsidian-950) 25%, rgba(11,12,16,.62) 58%, rgba(23,26,53,.62)); }
.home-hero__layout { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: stretch; min-width: 0; gap: var(--space-12); }
.home-hero__copy { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; justify-content: center; gap: var(--space-6); }
.home-hero__copy h1 { max-width: 39rem; margin: 0; }
.home-hero__eyebrow-line { display: flex; min-width: 0; align-items: center; gap: var(--space-3); }
.home-hero__eyebrow-line .eyebrow { margin: 0; }
.home-hero__intro { max-width: 34rem; }
.home-hero__intro p { margin: 0; }
.home-hero__actions { width: 100%; }
.home-hero__note { margin: 0; color: var(--color-mist-500); font-size: var(--text-sm); }
.home-hero__media { align-self: stretch; min-width: 0; min-height: 34rem; box-shadow: var(--shadow-panel); }
.home-hero__media img { height: 100%; width: 100%; object-fit: cover; object-position: center; }

.home-value__intro { max-width: 43rem; }
.home-value__rows { display: flex; min-width: 0; flex-direction: column; }
.home-value__row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 8fr); min-width: 0; gap: var(--space-8); padding: var(--space-8) 0; border-top: 1px solid var(--border-subtle); }
.home-value__row:last-child { border-bottom: 1px solid var(--border-subtle); }
.home-value__row--indigo { margin-inline: calc(var(--space-4) * -1); padding-inline: var(--space-4); background: linear-gradient(90deg, transparent, rgba(23,26,53,.82), transparent); }
.home-value__index, .home-value__row p { min-width: 0; }
.home-value__index span, .home-value__row h3 { display: block; }
.home-value__index span { margin-bottom: var(--space-3); color: var(--color-gold-300); font-size: var(--text-sm); font-weight: 700; }
.home-value__index h3 { max-width: 9rem; }
.home-value__row p { max-width: 38rem; margin: 0; }
.home-value__link { margin-top: var(--space-6); }

.home-services__intro { max-width: 42rem; }
.home-service-private { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); min-width: 0; align-items: stretch; overflow: hidden; }
.home-service-private__copy, .home-service-poker__copy { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-6); padding: var(--space-8); }
.home-service-private__copy h3, .home-service-private__copy p, .home-service-poker__copy h3, .home-service-poker__copy p { margin: 0; }
.home-service-private__copy p:not(.eyebrow) { max-width: 31rem; }
.home-service-private__media { min-width: 0; min-height: 28rem; border: 0; border-left: 1px solid var(--border-subtle); }
.home-service-private__media img { height: 100%; width: 100%; object-fit: cover; object-position: center; transition: transform var(--transition-base); }
.home-service-private:hover .home-service-private__media img { transform: scale(1.03); }
.home-services__lower { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); min-width: 0; gap: var(--space-8); margin-top: var(--space-8); }
.home-service-corporate { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-6); padding: var(--space-8); }
.home-service-corporate > * { min-width: 0; margin: 0; }
.home-service-corporate > p:not(.eyebrow) { max-width: 31rem; }
.home-service-poker { display: flex; min-width: 0; flex-direction: column; }
.home-service-poker__media { min-width: 0; border-radius: var(--radius-md) var(--radius-md) 0 0; min-height: 19rem; border-bottom: 0; }
.home-service-poker__media img { height: 100%; width: 100%; object-fit: cover; object-position: center; transition: transform var(--transition-base); }
.home-service-poker:hover .home-service-poker__media img { transform: scale(1.03); }
.home-service-poker__copy { border-radius: 0 0 var(--radius-md) var(--radius-md); border-top: 0; }
.home-service-poker__copy p:not(.eyebrow) { max-width: 28rem; }

.home-private-story__layout { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); min-width: 0; align-items: end; }
.home-private-story__media { min-height: 42rem; min-width: 0; }
.home-private-story__media img { height: 100%; width: 100%; object-fit: cover; object-position: center; }
.home-private-story__panel { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-6); width: min(100%, 36rem); margin: 0 0 var(--space-12); padding: var(--space-8); z-index: 1; }
.home-private-story__panel > * { min-width: 0; margin: 0; }
.home-private-story__lead { max-width: 34rem; }
.home-private-story__moments { display: flex; min-width: 0; flex-direction: column; width: 100%; gap: var(--space-6); }
.home-private-story__moments article { min-width: 0; max-width: 30rem; padding-left: var(--space-6); border-left: 1px solid var(--color-gold-500); }
.home-private-story__moments span { color: var(--color-gold-300); font-size: var(--text-sm); font-weight: 700; }
.home-private-story__moments h3 { margin-top: var(--space-2); }
.home-private-story__moments p { margin-bottom: 0; }

.home-corporate { background: radial-gradient(circle at 45% 0%, rgba(228,196,119,.08), transparent 20rem), var(--color-midnight-indigo-900); }
.home-corporate__intro { max-width: 44rem; margin-inline: auto; text-align: center; }
.home-corporate__intro p:not(.eyebrow) { max-width: 40rem; margin-inline: auto; }
.home-corporate__rows { display: flex; min-width: 0; flex-direction: column; width: min(100%, 54rem); margin-inline: auto; }
.home-corporate__rows article { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 8fr); min-width: 0; gap: var(--space-8); padding-block: var(--space-6); border-top: 1px solid var(--border-subtle); }
.home-corporate__rows article:last-child { border-bottom: 1px solid var(--border-subtle); }
.home-corporate__rows article > * { min-width: 0; }
.home-corporate__rows span { display: block; margin-bottom: var(--space-3); color: var(--color-gold-300); font-size: var(--text-sm); font-weight: 700; }
.home-corporate__rows h3 { max-width: 10rem; }
.home-corporate__rows p { max-width: 42rem; margin: 0; }
.home-corporate__action { display: flex; justify-content: center; margin-top: var(--space-8); }

.home-poker__layout { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); min-width: 0; align-items: stretch; gap: var(--space-12); }
.home-poker__copy { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; justify-content: center; gap: var(--space-6); }
.home-poker__copy > * { min-width: 0; margin: 0; }
.home-poker__copy h2 { max-width: 40rem; }
.home-poker__lead { max-width: 33rem; }
.home-poker__details { display: flex; min-width: 0; flex-direction: column; width: 100%; gap: var(--space-6); }
.home-poker__details article { max-width: 38rem; padding-top: var(--space-4); border-top: 1px solid var(--border-subtle); }
.home-poker__details span { color: var(--color-gold-300); font-size: var(--text-sm); font-weight: 700; }
.home-poker__details h3 { margin-top: var(--space-2); }
.home-poker__details p { margin-bottom: 0; }
.home-poker__media { min-height: 44rem; min-width: 0; }
.home-poker__media img { height: 100%; width: 100%; object-fit: cover; object-position: center; }

.home-layers__intro { max-width: 36rem; margin-inline: auto; text-align: center; }
.home-layers__intro p:not(.eyebrow) { margin-bottom: 0; }
.home-layers__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); min-width: 0; gap: var(--space-8); margin-top: var(--space-12); }
.home-layer { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-8); background: var(--color-obsidian-900); border: 1px solid var(--border-subtle); box-shadow: var(--shadow-panel); transition: transform var(--transition-base), border-color var(--transition-base); }
.home-layer:hover { border-color: rgba(228,196,119,.72); transform: translateY(-3px); }
.home-layer > * { min-width: 0; margin: 0; }
.home-layer span { color: var(--color-gold-300); font-size: var(--text-2xl); font-family: var(--font-display); }
.home-layer p { max-width: 28rem; }
.home-layer--one { grid-column: 1 / span 5; }
.home-layer--two { grid-column: 7 / span 4; margin-top: var(--space-12); }
.home-layer--three { grid-column: 2 / span 7; background: var(--color-midnight-indigo-900); }
.home-layer--four { grid-column: 9 / span 4; margin-top: var(--space-8); }

.home-portfolio__intro { max-width: 38rem; }
.home-portfolio__gallery { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); min-width: 0; align-items: start; gap: var(--space-8); }
.home-portfolio__gallery figure { min-width: 0; margin: 0; overflow: hidden; }
.home-portfolio__gallery img { width: 100%; max-width: 100%; object-fit: cover; transition: filter var(--transition-base); }
.home-portfolio__gallery figure:hover img { filter: brightness(1.08); }
.home-portfolio__gala img { aspect-ratio: 16 / 10; object-position: center; }
.home-portfolio__detail { margin-top: var(--space-12) !important; }
.home-portfolio__detail img { aspect-ratio: 4 / 5; object-position: center; }
.home-portfolio__gallery figcaption { max-width: 31rem; padding-top: var(--space-3); }
.home-portfolio__detail figcaption { max-width: 27rem; }
.home-portfolio__link { margin-top: var(--space-8); }

.home-preparation { background: var(--color-obsidian-900); }
.home-preparation__top { display: grid; grid-template-columns: minmax(0, 5fr) minmax(17rem, 3fr); min-width: 0; align-items: start; gap: var(--space-12); }
.home-preparation__intro { max-width: 38rem; }
.home-preparation__cue { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-6); }
.home-preparation__cue > * { min-width: 0; margin: 0; }
.home-preparation__items { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 0; gap: var(--space-8); margin-top: var(--space-12); }
.home-preparation__items article { min-width: 0; padding-top: var(--space-6); border-top: 1px solid var(--border-subtle); }
.home-preparation__items span { color: var(--color-gold-300); font-size: var(--text-sm); font-weight: 700; }
.home-preparation__items h3 { margin-top: var(--space-2); }
.home-preparation__items p { max-width: 32rem; margin-bottom: 0; }
.home-preparation__contact { margin: var(--space-8) 0 0; }

.home-contact { padding-block: var(--space-32); background: radial-gradient(circle at 50% 5%, rgba(199,154,67,.13), transparent 23rem), linear-gradient(135deg, var(--color-midnight-indigo-900), var(--color-obsidian-950) 55%); }
.home-contact__intro { max-width: 42rem; margin-inline: auto; text-align: center; }
.home-contact__intro p:not(.eyebrow) { max-width: 40rem; margin-inline: auto; }
.home-contact__form { display: flex; min-width: 0; flex-direction: column; gap: var(--space-8); width: min(100%, 62rem); margin: var(--space-12) auto 0; padding: var(--space-8); }
.home-contact__form-heading { max-width: 34rem; }
.home-contact__form-heading > * { margin: 0; }
.home-contact__form-heading { display: flex; flex-direction: column; gap: var(--space-3); }
.home-contact__fields { display: grid; grid-template-columns: repeat(2, minmax(16rem, 1fr)); min-width: 0; gap: var(--space-6); }
.home-contact__fields > * { min-width: 0; }
.home-contact__message { grid-column: 1 / -1; }
.home-contact__form .field { min-height: 3rem; }
.home-contact__form textarea.field { min-height: 10rem; }
.home-form-optional { color: var(--color-mist-500); font-weight: 400; }
.home-contact__message small { display: block; margin-top: var(--space-2); color: var(--color-champagne-300); }
.home-form-error { min-height: 1.35em; margin: var(--space-2) 0 0; color: var(--color-error-coral); font-size: var(--text-sm); line-height: var(--leading-sm); }
.home-contact__form .field[aria-invalid="true"] { border-color: var(--color-error-coral); }
.home-contact__submit { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: var(--space-4); }
.home-contact__submit > * { min-width: 0; }
.home-form-status { margin: 0; font-size: var(--text-sm); }
.home-contact__privacy { max-width: 46rem; color: var(--color-champagne-300); font-size: var(--text-sm); }
.home-contact__privacy p { margin-bottom: var(--space-3); }
.home-contact__privacy p:last-child { margin-bottom: 0; }

@media (max-width: 980px) {
  .home-layers__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-layer--one, .home-layer--two, .home-layer--three, .home-layer--four { grid-column: auto; margin-top: 0; }
  .home-preparation__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-preparation__items article:nth-child(3) { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
  .home-hero { padding-block: var(--space-16); }
  .home-hero__layout, .home-private-story__layout, .home-poker__layout { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .home-hero__copy { order: 1; padding: var(--space-8); background: var(--color-obsidian-900); border: 1px solid var(--border-subtle); }
  .home-hero__media {
    order: 2;
    position: relative;
    width: 100%;
    max-width: 100%;
    min-height: 0;
    aspect-ratio: 1 / 1;
    border-top: 0;
  }
  .home-hero__media img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
  }
  .home-value__row { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
  .home-value__index h3 { max-width: none; }
  .home-service-private, .home-services__lower { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .home-service-private { margin-bottom: var(--space-8); }
  .home-service-private__media {
    position: relative;
    width: 100%;
    min-height: 0;
    aspect-ratio: 3 / 2;
    border: 0;
    border-top: 1px solid var(--border-subtle);
  }
  .home-service-private__media img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
  }
  .home-service-poker__media {
    order: 1;
    position: relative;
    width: 100%;
    min-height: 0;
    aspect-ratio: 1 / 1;
  }
  .home-service-poker__copy { order: 2; }
  .home-service-poker__media img,
  .home-private-story__media img,
  .home-poker__media img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
  }
  .home-private-story__media {
    position: relative;
    width: 100%;
    min-height: 0;
    aspect-ratio: 1 / 1;
  }
  .home-private-story__panel { width: 100%; margin: 0; }
  .home-poker__media {
    order: 1;
    position: relative;
    width: 100%;
    min-height: 0;
    aspect-ratio: 1 / 1;
  }
  .home-poker__copy { order: 2; padding: var(--space-8); background: var(--color-obsidian-900); border: 1px solid var(--border-subtle); border-top: 0; }
  .home-portfolio__gallery { grid-template-columns: minmax(0, 1fr); }
  .home-portfolio__detail { margin-top: 0 !important; }
}

@media (max-width: 820px) {
  .home-corporate__rows article { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
  .home-corporate__rows h3 { max-width: none; }
}

@media (max-width: 760px) {
  .home-contact { padding-block: var(--space-24); }
  .home-contact__fields { grid-template-columns: minmax(0, 1fr); }
  .home-contact__message { grid-column: auto; }
}

@media (max-width: 700px) {
  /* Keep hero in normal flow — negative bleed was clipping/mis-sizing the media */
  .home-hero {
    margin-inline: 0;
  }
  .home-hero__layout {
    width: min(100% - (var(--container-padding) * 2), var(--container-max));
    max-width: 100%;
  }
  .home-contact { margin-inline: calc(var(--container-padding) * -1); }
  .home-contact .container { width: min(100% - 2.5rem, var(--container-max)); }
  .home-hero__copy, .home-service-private__copy, .home-service-poker__copy, .home-service-corporate, .home-private-story__panel, .home-poker__copy, .home-contact__form { padding: var(--space-6); }
  .home-hero__copy h1 { font-size: clamp(2.9rem, 12vw, 4.3rem); }
  .home-services__lower { gap: var(--space-6); }
  .home-private-story__moments { gap: var(--space-4); }
  .home-layers__grid, .home-preparation__items { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .home-preparation__items article:nth-child(3) { grid-column: auto; }
  .home-preparation__top { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .home-contact__form { margin-top: var(--space-8); }
  .home-contact__submit { align-items: stretch; }
}

@media (prefers-reduced-motion: reduce) {
  .home-service-private__media img, .home-service-poker__media img, .home-layer, .home-portfolio__gallery img { transition: none; }
  .home-service-private:hover .home-service-private__media img, .home-service-poker:hover .home-service-poker__media img, .home-layer:hover { transform: none; }
}