.home-page { overflow: clip; }
.home-page .section { position: relative; }
.home-page .home-hero__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr); align-items: center; gap: 0; min-height: min(82svh, 62rem); padding-block: clamp(6rem, 11vw, 10rem); }
.home-hero__copy { grid-column: 1 / 2; min-width: 0; }
.home-hero__copy h1 { max-width: 11ch; }
.home-hero__copy h1 span { color: var(--color-cobalt); }
.home-hero__copy .lead { max-width: 42ch; }
.home-hero__actions { max-width: 34rem; }
.home-hero__media { grid-column: 3 / 4; position: relative; width: calc(100% + max(0px, (100vw - var(--container-max)) / 2)); max-width: none; min-width: 0; height: clamp(31rem, 48vw, 46rem); margin: 0; }
.home-hero__media img { transition: transform var(--transition-base); }
.home-hero__media:hover img { transform: scale(1.03); }
.home-hero__media::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(33,28,44,.12), transparent 45%); content: ""; pointer-events: none; }
.home-hero__number { position: absolute; right: 0; bottom: 2rem; z-index: 1; padding: .15em .18em; background: var(--color-cobalt); color: var(--color-white); font-size: clamp(4rem, 9vw, 8rem); }
.home-hero__media figcaption { position: absolute; right: 1rem; bottom: -2rem; max-width: 23ch; margin: 0; color: var(--color-ink); text-align: right; }
.home-manifest { overflow: hidden; }
.home-manifest::after { position: absolute; top: 4rem; right: -8rem; width: 18rem; height: 18rem; border: 1px solid var(--color-chrome); border-radius: 50%; content: ""; opacity: .6; }
.home-manifest__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 2rem; align-items: start; }
.home-manifest__intro { grid-column: 1 / span 4; min-width: 0; }
.home-manifest__intro h2 { max-width: 18ch; }
.home-manifest__claims { grid-column: 6 / span 5; display: flex; min-width: 0; flex-direction: column; gap: 2rem; }
.home-manifest__claim { min-width: 0; padding-top: 1.5rem; border-top: var(--border-subtle); }
.home-manifest__claim h3 { font-size: 1.25rem; }
.home-manifest__claim p { max-width: 50ch; }
.home-text-link { display: inline-block; color: var(--color-cobalt); font-family: var(--font-heading); font-size: var(--text-sm); font-weight: 700; text-decoration: none; }
.home-text-link::after { display: block; width: 100%; height: 1px; margin-top: .3rem; background: currentColor; content: ""; transform: scaleX(.35); transform-origin: left; transition: transform var(--transition-base); }
.home-text-link:hover::after, .home-text-link:focus-visible::after { transform: scaleX(1); }
.home-scope__intro { width: min(100%, 42ch); }
.home-scope__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 2rem; align-items: stretch; margin-top: 3rem; }
.home-scope__item { display: flex; min-width: 0; min-height: 18rem; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 1rem; padding: 2rem; color: var(--color-ink); text-decoration: none; transition: transform var(--transition-base); }
.home-scope__item:hover { color: inherit; transform: translateY(-4px); }
.home-scope__item > span { color: var(--color-cobalt); font-family: var(--font-heading); font-size: 2.5rem; font-weight: 800; line-height: .9; }
.home-scope__item h3, .home-scope__item p { margin: 0; }
.home-scope__item p { max-width: 38ch; }
.home-scope__item b { margin-top: auto; font-family: var(--font-heading); font-size: var(--text-sm); }
.home-scope__item--company { grid-column: 1 / span 6; background: var(--color-paper); border: var(--border-subtle); }
.home-scope__item--team { grid-column: 8 / span 3; margin-top: 3rem; background: var(--color-powder-pink); }
.home-scope__item--private { grid-column: 3 / span 5; background: var(--color-burgundy); color: var(--color-paper); }
.home-scope__item--private > span { color: var(--color-powder-pink); }
.home-scope__item--immersive { grid-column: 9 / span 4; background: var(--color-cobalt); color: var(--color-white); }
.home-scope__item--immersive > span { color: var(--color-paper); }
.home-transformation__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 2rem; align-items: start; }
.home-transformation__narrative { grid-column: 1 / span 4; min-width: 0; }
.home-transformation__narrative h2 { max-width: 13ch; }
.home-transformation__lead { max-width: 42ch; }
.home-transformation__controls { display: flex; min-width: 0; flex-direction: column; gap: .25rem; margin-top: 2rem; }
.home-transformation__controls button { display: flex; width: 100%; min-width: 0; min-height: 3rem; align-items: center; gap: .75rem; padding: .5rem 0; border: 0; border-bottom: 1px solid rgba(255,253,252,.22); background: transparent; color: var(--color-paper); font-size: var(--text-sm); text-align: left; }
.home-transformation__controls button span { min-width: 0; }
.home-transformation__controls button[aria-selected="true"] { color: var(--color-powder-pink); font-family: var(--font-heading); font-weight: 700; }
.home-transform-nav { display: flex; min-width: 0; gap: 1rem; margin-top: 1rem; }
.home-transform-nav button { min-width: 0; padding: .5rem 0; border: 0; background: transparent; color: var(--color-paper); font-size: var(--text-sm); text-decoration: underline; text-underline-offset: .25em; }
.home-transformation__visual { grid-column: 6 / span 7; min-width: 0; }
.home-transformation__visual figure { height: 34rem; margin: 0; }
.home-transformation__visual img { object-position: 0% 50%; transition: opacity 320ms cubic-bezier(.22,1,.36,1), object-position 320ms cubic-bezier(.22,1,.36,1); }
.home-transformation__visual figure figcaption { position: absolute; right: 1rem; bottom: 1rem; margin: 0; padding: .4rem .6rem; background: rgba(33,28,44,.76); color: var(--color-paper); }
.home-transformation__detail { display: flex; min-width: 0; gap: 1rem; margin-top: 1.5rem; }
.home-transformation__detail > span { color: var(--color-powder-pink); font-family: var(--font-heading); font-size: 2.5rem; font-weight: 800; line-height: 1; }
.home-transformation__detail h3, .home-transformation__detail p { margin-bottom: .75rem; }
.home-transformation__detail p { max-width: 40ch; }
.home-floor__intro { width: min(100%, 42ch); }
.home-floor__intro .editorial-number { font-size: clamp(4rem, 8vw, 7rem); }
.home-floor__layout { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 1fr) minmax(0, 3fr); gap: 0; align-items: center; margin-top: 3rem; }
.home-floor__map-wrap { grid-column: 1 / 2; min-width: 0; overflow: auto; }
.home-floor__map { width: 100%; min-width: 680px; height: auto; }
.home-floor__path { fill: none; stroke: var(--color-chrome); stroke-dasharray: 5 8; stroke-width: 3; }
.home-floor__hotspot rect, .home-floor__hotspot circle { fill: var(--color-paper); stroke: var(--color-chrome); stroke-width: 2; transition: fill var(--transition-base), stroke var(--transition-base); }
.home-floor__hotspot text { fill: var(--color-ink); font-family: var(--font-heading); font-size: 15px; font-weight: 700; letter-spacing: .04em; pointer-events: none; text-anchor: middle; }
.home-floor__hotspot[aria-pressed="true"] rect, .home-floor__hotspot[aria-pressed="true"] circle { fill: var(--color-cobalt); stroke: var(--color-cobalt); }
.home-floor__hotspot[aria-pressed="true"] text { fill: var(--color-white); }
.home-floor__panel { grid-column: 3 / 4; min-width: 0; padding: 2rem; border: var(--border-ink); background: var(--color-paper); }
.home-floor__panel p { max-width: 38ch; }
.home-floor__panel > p:first-child { color: var(--color-burgundy); font-size: var(--text-xs); font-weight: 700; letter-spacing: var(--tracking-label); text-transform: uppercase; }
.home-floor__mobile-list { display: none; }
.home-rituals__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 2rem; align-items: start; }
.home-rituals__intro { grid-column: 1 / span 4; min-width: 0; }
.home-rituals__intro h2 { max-width: 13ch; }
.home-rituals__intro .lead { max-width: 42ch; }
.home-rituals__card-room { grid-column: 6 / span 6; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 4fr); gap: 2rem; min-width: 0; background: transparent; }
.home-rituals__card-room figure { height: 33rem; margin: 0; }
.home-rituals__card-room > div { min-width: 0; align-self: end; }
.home-rituals__card-room p { max-width: 42ch; }
.home-text-link--light { color: var(--color-paper); }
.home-rituals__roulette { grid-column: 2 / span 10; position: relative; min-width: 0; margin-top: 3rem; }
.home-rituals__roulette figure { height: 28rem; margin: 0; }
.home-rituals__roulette figure::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(33,28,44,.72), rgba(33,28,44,.08)); content: ""; pointer-events: none; }
.home-rituals__roulette-copy { position: absolute; top: 3rem; left: 3rem; z-index: 1; width: min(100% - 6rem, 32ch); }
.home-rituals__roulette-copy p { max-width: 32ch; }
.home-rituals__blackjack { grid-column: 8 / span 5; min-width: 0; margin-top: 2rem; padding: 2rem; background: var(--color-burgundy); color: var(--color-paper); }
.home-rituals__blackjack p { max-width: 40ch; }
.home-rituals__blackjack .eyebrow { color: var(--color-powder-pink); }
.home-timeline__intro { width: min(100%, 42ch); }
.home-timeline__points { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); min-width: 0; margin-top: 3rem; border-top: 1px solid rgba(255,255,255,.56); }
.home-timeline__points button { display: flex; min-width: 0; min-height: 8rem; flex-direction: column; align-items: flex-start; gap: .75rem; padding: 1rem .75rem 1rem 0; border: 0; border-right: 1px solid rgba(255,255,255,.3); background: transparent; color: var(--color-white); text-align: left; }
.home-timeline__points button:last-child { border-right: 0; }
.home-timeline__points button strong { font-family: var(--font-heading); font-size: 1.25rem; }
.home-timeline__points button span { font-size: var(--text-sm); line-height: 1.3; }
.home-timeline__points button[aria-selected="true"] { background: var(--color-burgundy); padding-left: .75rem; }
.home-timeline__detail { display: grid; grid-template-columns: minmax(5rem, 1fr) minmax(0, 4fr); gap: 1.5rem; width: min(100%, 34rem); min-width: 0; margin-top: 2rem; padding: 1.5rem; background: var(--color-burgundy); }
.home-timeline__detail > span { font-family: var(--font-heading); font-size: 1.5rem; font-weight: 800; }
.home-timeline__detail h3, .home-timeline__detail p { margin-bottom: .75rem; }
.home-timeline__detail p { max-width: 36ch; }
.home-process__intro { width: min(100%, 40ch); }
.home-process__steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); min-width: 0; margin-top: 3rem; border-top: var(--border-subtle); }
.home-process__steps article { display: flex; min-width: 0; flex-direction: column; gap: 1rem; padding: 1.5rem; border-right: var(--border-subtle); }
.home-process__steps article:first-child { padding-left: 0; }
.home-process__steps article:last-child { border-right: 0; }
.home-process__steps article > span { color: var(--color-chrome); font-family: var(--font-heading); font-size: 2.5rem; font-weight: 800; line-height: 1; }
.home-process__steps h3, .home-process__steps p { margin-bottom: .75rem; }
.home-process__steps p { max-width: 34ch; }
.home-process__step--featured { background: var(--color-burgundy); color: var(--color-paper); }
.home-process__step--featured > span { color: var(--color-powder-pink) !important; }
.home-final-image { position: relative; min-height: clamp(35rem, 72svh, 50rem); background: var(--color-night-plum); color: var(--color-paper); }
.home-final-image > img, .home-final-image__overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.home-final-image > img { object-fit: cover; object-position: center; }
.home-final-image__overlay { background: linear-gradient(0deg, rgba(33,28,44,.86), rgba(33,28,44,.18) 70%); }
.home-final-image__content { position: relative; z-index: 1; display: flex; min-height: clamp(35rem, 72svh, 50rem); flex-direction: column; justify-content: flex-end; gap: 1.5rem; padding-bottom: 3rem; }
.home-final-image blockquote { width: min(100%, 22ch); margin: 0; padding: 0; border: 0; color: var(--color-paper); font-size: clamp(2.1rem, 4vw, 4rem); line-height: 1.02; }
.home-final-image__content > p { width: min(100%, 42ch); margin: 0; padding: .75rem; background: rgba(33,28,44,.66); font-size: var(--text-sm); }
.home-contact { overflow: hidden; }
.home-contact__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 2rem; align-items: stretch; }
.home-contact__copy { grid-column: 3 / span 5; min-width: 0; }
.home-contact__copy h2 { max-width: 18ch; }
.home-contact__copy .lead { max-width: 40ch; }
.home-contact__accent { grid-column: 9 / span 4; min-width: 0; min-height: 18rem; background: var(--color-cobalt); }
@media (max-width: 74rem) { .home-page .home-hero__grid { column-gap: 2rem; } .home-hero__media { width: 100%; height: 34rem; } .home-scope__item--team { grid-column: 7 / span 6; margin-top: 0; } .home-scope__item--private { grid-column: 1 / span 6; } .home-scope__item--immersive { grid-column: 7 / span 6; } .home-process__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-process__steps article:nth-child(2) { border-right: 0; } .home-process__steps article:nth-child(3) { padding-left: 0; } }
@media (max-width: 68.75rem) { .home-page .home-hero__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-hero__copy { grid-column: 1 / 2; } .home-hero__media { grid-column: 2 / 3; } .home-timeline__points { grid-template-columns: repeat(4, minmax(0, 1fr)); } .home-timeline__points button:nth-child(4) { border-right: 0; } .home-rituals__card-room { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 65.625rem) { .home-transformation__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-transformation__narrative { grid-column: 1 / 2; } .home-transformation__visual { grid-column: 2 / 3; } .home-floor__layout { grid-template-columns: 1fr; gap: 1.5rem; } .home-floor__map-wrap, .home-floor__panel { grid-column: 1; } .home-floor__panel { width: min(100%, 36rem); } }
@media (max-width: 56.25rem) { .home-page .home-hero__grid, .home-manifest__grid, .home-transformation__grid, .home-rituals__grid, .home-contact__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } .home-page .home-hero__grid { min-height: auto; gap: 2rem; padding-block: 3.5rem 3rem; } .home-hero__copy, .home-hero__media { grid-column: 1 / -1; } .home-hero__copy h1 { max-width: 8ch; } .home-hero__media { height: 42svh; } .home-hero__media figcaption { position: static; margin-top: .5rem; text-align: left; } .home-hero__number { right: 1rem; bottom: 1rem; } .home-manifest__intro, .home-manifest__claims { grid-column: 1 / -1; } .home-manifest__intro h2 { max-width: 18ch; } .home-manifest__claims { gap: 1.5rem; } .home-scope__grid { grid-template-columns: 1fr; gap: 1rem; } .home-scope__item, .home-scope__item--company, .home-scope__item--team, .home-scope__item--private, .home-scope__item--immersive { grid-column: 1; min-height: 14rem; margin-top: 0; } .home-transformation__narrative, .home-transformation__visual { grid-column: 1 / -1; } .home-transformation__visual { display: flex; flex-direction: column; gap: 1.5rem; } .home-transformation__visual figure { order: 1; height: auto; aspect-ratio: 4 / 5; } .home-transformation__detail { order: 2; } .home-transformation__controls { flex-direction: row; overflow-x: auto; padding-bottom: .5rem; scroll-snap-type: x mandatory; } .home-transformation__controls button { min-width: 12rem; padding: .75rem; border: 1px solid rgba(255,253,252,.3); scroll-snap-align: start; } .home-floor__mobile-list { display: grid; grid-template-columns: 1fr; gap: .5rem; margin-top: 1.5rem; } .home-floor__mobile-list button { min-height: 3rem; padding: .75rem; border: var(--border-ink); background: var(--color-paper); text-align: left; } .home-floor__mobile-list button[aria-pressed="true"] { border-color: var(--color-cobalt); background: var(--color-cobalt); color: var(--color-white); } .home-rituals__intro, .home-rituals__card-room, .home-rituals__roulette, .home-rituals__blackjack { grid-column: 1 / -1; margin-top: 0; } .home-rituals__card-room { grid-template-columns: 1fr; gap: 1.5rem; } .home-rituals__card-room figure { height: auto; aspect-ratio: 4 / 5; } .home-rituals__roulette figure { height: auto; aspect-ratio: 4 / 3; } .home-rituals__roulette figure::after { display: none; } .home-rituals__roulette-copy { position: static; width: auto; padding-top: 1.5rem; } .home-timeline__points { grid-template-columns: 1fr; margin-top: 2rem; border-top: 0; } .home-timeline__points button { display: grid; grid-template-columns: 5rem minmax(0, 1fr); min-height: 3rem; align-items: center; padding: .75rem; border: 0; border-bottom: 1px solid rgba(255,255,255,.32); } .home-timeline__points button[aria-selected="true"] { padding-left: .75rem; } .home-timeline__detail { width: 100%; grid-template-columns: 5rem minmax(0, 1fr); } .home-process__steps { grid-template-columns: 1fr; border-top: 0; } .home-process__steps article, .home-process__steps article:first-child, .home-process__steps article:nth-child(3) { display: grid; grid-template-columns: 4rem minmax(0, 1fr); padding: 1.5rem 0; border-right: 0; border-bottom: var(--border-subtle); } .home-process__step--featured { padding-inline: 1rem !important; } .home-contact__copy, .home-contact__accent { grid-column: 1 / -1; } .home-contact__accent { min-height: 4.5rem; } }
@media (max-width: 26.25rem) { .home-process__steps article, .home-process__steps article:first-child, .home-process__steps article:nth-child(3) { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .home-hero__media:hover img, .home-scope__item:hover { transform: none; } .home-transformation__visual img { transition: none; } }
