.venue-styling-page { overflow: hidden; }
.venue-styling-page .container--wide { width: min(100% - (var(--gutter) * 2), var(--container-wide)); }
.venue-styling-page__hero { padding-block: var(--space-10) var(--space-9); }
.venue-styling-hero__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr); align-items: center; }
.venue-styling-hero__copy { grid-column: 1 / span 1; width: 100%; max-width: 35rem; min-width: 0; }
.venue-styling-hero__media { grid-column: 3 / span 1; width: 100%; min-width: 0; aspect-ratio: 4 / 5; border-radius: 2.5rem 1.75rem 2.5rem 1.75rem; }
.venue-styling-hero__media img, .venue-styling-materials__media img, .venue-styling-casino__media img, .venue-styling-cohesion__media img { width: 100%; height: 100%; transition: transform var(--transition-base); }
.venue-styling-hero__media img { object-position: center 58%; }
.venue-styling-hero__media:hover img, .venue-styling-materials__media:hover img, .venue-styling-casino__media:hover img, .venue-styling-cohesion__media:hover img { transform: scale(1.015); }
.venue-styling-hero__action { display: flex; width: 100%; min-width: 0; margin-top: var(--space-5); }
.venue-styling-hero__pull { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: var(--space-3); align-items: start; width: 100%; min-width: 0; margin-top: var(--space-7); }
.venue-styling-hero__pull span { width: 2rem; height: 2px; margin-top: .75rem; background: var(--color-terracotta); }
.venue-styling-hero__pull p { width: 100%; max-width: 31rem; margin: 0; color: var(--color-wood-900); font-family: var(--font-display); font-size: 1.55rem; font-style: italic; line-height: 1.2; }
.venue-styling-philosophy__intro { width: 100%; max-width: 38.75rem; min-width: 0; }
.venue-styling-philosophy__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); width: 100%; min-width: 0; margin-top: var(--space-7); }
.venue-styling-principle { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; padding: var(--space-6); border: var(--border-soft); border-radius: var(--radius-md); background: var(--color-card-neutral); transition: transform var(--transition-fast), box-shadow var(--transition-fast); }
.venue-styling-principle > * { min-width: 0; margin: 0; }
.venue-styling-principle .icon-line { color: var(--color-terracotta-dark); }
.venue-styling-principle h3 { font-size: 2rem; line-height: 1.08; }
.venue-styling-principle p { max-width: 17.8rem; }
.venue-styling-principle:hover, .venue-styling-scenario:hover { box-shadow: var(--shadow-sm); transform: translateY(-2px); }
.venue-styling-materials__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.venue-styling-materials__media { grid-column: 1 / span 5; width: 100%; min-width: 0; aspect-ratio: 3 / 4; border-radius: var(--radius-lg); }
.venue-styling-materials__media img { object-position: 58% center; }
.venue-styling-materials__content { grid-column: 7 / span 6; width: 100%; min-width: 0; }
.venue-styling-materials__content > h2, .venue-styling-materials__content > .lead { max-width: 31.25rem; }
.venue-styling-materials__notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6) var(--space-5); width: 100%; min-width: 0; margin-top: var(--space-6); }
.venue-styling-material-note { min-width: 0; }
.venue-styling-material-note > * { min-width: 0; }
.venue-styling-material-note span { display: block; margin-bottom: var(--space-2); color: var(--color-terracotta-dark); font-size: var(--text-xs); font-weight: 600; letter-spacing: .12em; }
.venue-styling-material-note h3 { margin-bottom: var(--space-2); font-size: 1.5rem; line-height: 1.25; }
.venue-styling-material-note p { max-width: 18.125rem; }
.venue-styling-scenarios__intro { width: 100%; max-width: 38.75rem; min-width: 0; margin-inline: auto; text-align: center; }
.venue-styling-scenarios__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); width: 100%; min-width: 0; margin-top: var(--space-7); }
.venue-styling-scenario { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); min-width: 0; padding: var(--space-5); border: var(--border-soft); border-radius: var(--radius-md); background: var(--color-card-neutral); transition: transform var(--transition-fast), box-shadow var(--transition-fast); }
.venue-styling-scenario > * { min-width: 0; margin: 0; }
.venue-styling-scenario h3 { font-size: 2rem; line-height: 1.08; }
.venue-styling-scenario p:not(.eyebrow) { max-width: 16.5rem; }
.venue-styling-scenario .text-link { margin-top: auto; padding-block: var(--space-2); }
.venue-styling-casino { padding-top: var(--space-8); }
.venue-styling-casino__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: center; }
.venue-styling-casino__media { grid-column: 1 / span 7; width: 100%; min-width: 0; aspect-ratio: 3 / 2; border-radius: var(--radius-lg); }
.venue-styling-casino__media img { object-position: left center; }
.venue-styling-casino__panel { grid-column: 7 / span 6; width: 100%; min-width: 0; margin-left: calc(var(--space-6) * -1); padding: clamp(var(--space-5), 4vw, var(--space-7)); border: var(--border-soft); border-radius: var(--radius-lg); background: var(--color-card-neutral); }
.venue-styling-casino__panel h2 { max-width: 29rem; font-size: clamp(2.125rem, 2rem + 1vw, 2.75rem); line-height: 1.08; }
.venue-styling-casino__panel .lead { max-width: 29rem; }
.venue-styling-casino__note { display: grid; grid-template-columns: .5rem minmax(0, 1fr); gap: var(--space-3); width: 100%; max-width: 25rem; min-width: 0; margin-top: var(--space-5); }
.venue-styling-casino__note::before { width: .5rem; height: .5rem; margin-top: .55rem; border-radius: 50%; background: var(--color-terracotta); content: ""; }
.venue-styling-process__intro { width: 100%; max-width: 40rem; min-width: 0; }
.venue-styling-process__stages { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-7); width: 100%; min-width: 0; margin-top: var(--space-7); }
.venue-styling-stage { position: relative; min-width: 0; }
.venue-styling-stage span { display: flex; align-items: center; justify-content: center; width: 3.25rem; height: 3.25rem; margin-bottom: var(--space-4); border: 1px solid var(--color-terracotta); border-radius: 50%; color: var(--color-terracotta-dark); font-family: var(--font-display); font-size: 2rem; line-height: 1; }
.venue-styling-stage h3 { margin-bottom: var(--space-3); font-size: 1.5rem; }
.venue-styling-stage p { max-width: 18.75rem; }
.venue-styling-stage:not(:last-child)::after { position: absolute; top: 1.625rem; left: calc(100% + var(--space-3)); width: calc(var(--space-7) - var(--space-5)); height: 1px; background: var(--color-line-soft); content: ""; }
.venue-styling-stage i { display: block; width: 2.5rem; height: 2px; margin-top: var(--space-4); background: var(--color-terracotta); transform: rotate(-4deg); }
.venue-styling-planning { background: var(--color-milk-deep); }
.venue-styling-planning__intro { width: 100%; max-width: 33.75rem; min-width: 0; }
.venue-styling-planning__layout { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); width: 100%; min-width: 0; margin-top: var(--space-7); }
.venue-styling-checklist { grid-column: 1 / span 8; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); width: 100%; min-width: 0; }
.venue-styling-checklist article { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); gap: var(--space-3); min-width: 0; }
.venue-styling-checklist article > * { min-width: 0; }
.venue-styling-checklist .icon-line { color: var(--color-terracotta-dark); }
.venue-styling-checklist h3 { margin-bottom: var(--space-2); font-size: 1.5rem; }
.venue-styling-checklist p { max-width: 18.75rem; }
.venue-styling-reassurance { grid-column: 9 / span 4; align-self: center; width: 100%; min-width: 0; padding: var(--space-5); border: var(--border-soft); border-radius: var(--radius-md); background: var(--color-card-neutral); }
.venue-styling-reassurance p { max-width: 22.5rem; margin: 0; color: var(--color-wood-900); font-family: var(--font-display); font-size: 1.75rem; font-style: italic; line-height: 1.14; }
.venue-styling-cohesion { padding-bottom: var(--space-8); }
.venue-styling-cohesion__media { width: 100%; min-width: 0; aspect-ratio: 3 / 2; border-radius: var(--radius-xl); }
.venue-styling-cohesion__media img { object-position: center; }
.venue-styling-cohesion__wrap { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); width: 100%; min-width: 0; }
.venue-styling-cohesion__panel { grid-column: 3 / span 8; width: 100%; min-width: 0; margin-top: calc(var(--space-7) * -1); padding: clamp(var(--space-5), 4vw, var(--space-7)); border: var(--border-soft); border-radius: var(--radius-lg); background: var(--color-card-neutral); }
.venue-styling-cohesion__panel h2 { max-width: 33.75rem; }
.venue-styling-cohesion__observations { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); width: 100%; min-width: 0; margin-top: var(--space-6); }
.venue-styling-cohesion__observations article { min-width: 0; }
.venue-styling-cohesion__observations article:last-child { grid-column: 1 / span 2; }
.venue-styling-cohesion__observations h3 { margin-bottom: var(--space-2); font-size: 1.5rem; }
.venue-styling-cohesion__observations p { max-width: 16.875rem; }
.venue-styling-cohesion__observations article:last-child p { max-width: 33.75rem; }
.venue-styling-cohesion__observations i { display: block; margin-top: var(--space-3); color: var(--color-terracotta-dark); font-size: 1.25rem; font-style: normal; }
.venue-styling-faqs__intro { width: 100%; max-width: 37.5rem; min-width: 0; }
.venue-styling-faqs__stack { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-3); width: min(100% - (var(--gutter) * 2), var(--container-reading)); min-width: 0; margin-top: var(--space-7); }
.venue-styling-faq { width: 100%; min-width: 0; border: var(--border-soft); border-radius: var(--radius-md); background: var(--color-card-neutral); overflow: hidden; }
.venue-styling-faq h3 { margin: 0; font-size: inherit; }
.venue-styling-faq button { display: grid; grid-template-columns: minmax(0, 1fr) 2rem; align-items: start; gap: var(--space-4); width: 100%; min-width: 0; min-height: 3.5rem; padding: var(--space-5); border: 0; background: transparent; color: var(--color-wood-900); font-family: var(--font-body); font-size: var(--text-base); font-weight: 600; line-height: var(--line-base); text-align: left; }
.venue-styling-faq button > span { min-width: 0; }
.venue-styling-faq__icon { color: var(--color-terracotta-dark); font-size: 1.75rem; font-weight: 400; line-height: 1; text-align: center; transition: transform var(--transition-fast); }
.venue-styling-faq button[aria-expanded="true"] .venue-styling-faq__icon { transform: rotate(45deg); }
.venue-styling-faq__answer { padding: 0 var(--space-5) var(--space-5); }
.venue-styling-faq__answer p { width: 100%; max-width: 40rem; margin: 0; }
.venue-styling-faqs__link { justify-self: start; min-width: 0; padding: var(--space-3) 0; }
.venue-styling-closing { padding-top: var(--space-8); }
.venue-styling-closing__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); width: 100%; min-width: 0; }
.venue-styling-closing__panel { grid-column: 2 / span 10; display: flex; flex-direction: column; align-items: center; gap: var(--space-5); width: 100%; min-width: 0; padding: var(--space-8) var(--space-7); border-radius: var(--radius-lg); background: var(--color-milk-deep); text-align: center; }
.venue-styling-closing__panel > * { min-width: 0; margin: 0; }
.venue-styling-closing__panel h2, .venue-styling-closing__panel .lead { width: 100%; max-width: 35rem; }
.venue-styling-closing__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-3); width: 100%; min-width: 0; }
.venue-styling-closing__actions .button { min-width: 10rem; }
@media (max-width: 68.75rem) { .venue-styling-materials__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); } .venue-styling-materials__media { grid-column: 1 / span 8; aspect-ratio: 4 / 3; } .venue-styling-materials__content { grid-column: 1 / span 8; margin-top: var(--space-6); } .venue-styling-materials__notes { max-width: 40rem; } .venue-styling-cohesion__panel { grid-column: 2 / span 10; } }
@media (max-width: 63.9375rem) { .venue-styling-hero__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: var(--space-5); } .venue-styling-hero__copy { grid-column: 1 / span 4; max-width: none; } .venue-styling-hero__media { grid-column: 5 / span 4; } .venue-styling-hero__copy h1 { font-size: 2.75rem; line-height: 1.08; } .venue-styling-philosophy__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .venue-styling-philosophy__cards .venue-styling-principle:last-child { grid-column: 1 / span 2; } .venue-styling-scenarios__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .venue-styling-casino__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: var(--space-4); } .venue-styling-casino__media { grid-column: 1 / span 8; } .venue-styling-casino__panel { grid-column: 1 / span 8; margin-left: 0; } .venue-styling-process__stages { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); } .venue-styling-stage { padding-left: 4.5rem; } .venue-styling-stage span { position: absolute; top: 0; left: 0; } .venue-styling-stage:not(:last-child)::after { top: 3.5rem; left: 1.625rem; width: 1px; height: calc(100% + var(--space-3)); } .venue-styling-planning__layout { grid-template-columns: repeat(8, minmax(0, 1fr)); } .venue-styling-checklist { grid-column: 1 / span 8; grid-template-columns: minmax(0, 1fr); } .venue-styling-reassurance { grid-column: 1 / span 8; } }
@media (max-width: 56.25rem) { .venue-styling-closing__panel { grid-column: 1 / span 12; } }
@media (max-width: 45rem) { .venue-styling-page__hero { padding-block: var(--space-8) var(--section-space); } .venue-styling-hero__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-6); } .venue-styling-hero__copy, .venue-styling-hero__media { grid-column: 1 / span 4; } .venue-styling-hero__copy h1 { font-size: 2.25rem; line-height: 1.11; } .venue-styling-hero__media { aspect-ratio: 4 / 3; border-radius: var(--radius-lg); } .venue-styling-hero__action .button { width: auto; } .venue-styling-philosophy__cards, .venue-styling-scenarios__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); } .venue-styling-philosophy__cards .venue-styling-principle:last-child { grid-column: 1; } .venue-styling-materials__notes { grid-template-columns: minmax(0, 1fr); gap: 0; } .venue-styling-material-note { padding-block: var(--space-5); border-bottom: var(--border-soft); } .venue-styling-material-note:last-child { border-bottom: 0; } .venue-styling-material-note p { max-width: none; } .venue-styling-scenario p:not(.eyebrow) { max-width: none; } .venue-styling-casino__panel { padding: var(--space-5); } .venue-styling-process__stages { margin-top: var(--space-6); } .venue-styling-planning__layout { grid-template-columns: repeat(4, minmax(0, 1fr)); } .venue-styling-checklist, .venue-styling-reassurance { grid-column: 1 / span 4; } .venue-styling-checklist { gap: 0; } .venue-styling-checklist article { padding-block: var(--space-5); border-bottom: var(--border-soft); } .venue-styling-checklist article:last-child { border-bottom: 0; } .venue-styling-checklist p { max-width: none; } .venue-styling-cohesion__media { aspect-ratio: 4 / 3; border-radius: var(--radius-lg); } .venue-styling-cohesion__wrap { grid-template-columns: repeat(4, minmax(0, 1fr)); } .venue-styling-cohesion__panel { grid-column: 1 / span 4; margin-top: var(--space-4); padding: var(--space-5); } .venue-styling-cohesion__observations { grid-template-columns: minmax(0, 1fr); gap: 0; } .venue-styling-cohesion__observations article, .venue-styling-cohesion__observations article:last-child { grid-column: 1; padding-block: var(--space-5); border-bottom: var(--border-soft); } .venue-styling-cohesion__observations article:last-child { border-bottom: 0; } .venue-styling-cohesion__observations p, .venue-styling-cohesion__observations article:last-child p { max-width: none; } .venue-styling-faqs__stack { width: 100%; } .venue-styling-faq button { min-height: 3.5rem; padding: var(--space-4); } .venue-styling-faq__answer { padding: 0 var(--space-4) var(--space-4); } .venue-styling-closing__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } .venue-styling-closing__panel { grid-column: 1 / span 4; padding: var(--space-6) var(--space-5); } }
@media (max-width: 35rem) { .venue-styling-closing__actions { flex-direction: column; align-items: stretch; } .venue-styling-closing__actions .button { width: 100%; } }
@media (max-width: 26.25rem) { .venue-styling-hero__action .button { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .venue-styling-hero__media:hover img, .venue-styling-materials__media:hover img, .venue-styling-casino__media:hover img, .venue-styling-cohesion__media:hover img, .venue-styling-principle:hover, .venue-styling-scenario:hover { transform: none; } }