.hero-section-booking {background: radial-gradient(circle at top left, rgba(240, 176, 108, 0.22), transparent 55%), radial-gradient(circle at bottom right, rgba(21, 17, 15, 0.16), transparent 60%), var(--color-bg);} .hero-booking-grid {display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.1fr); gap: var(--space-24); align-items: stretch;} .hero-booking-copy {display: flex; flex-direction: column; gap: var(--space-6); max-width: 36rem;} .hero-booking-eyebrow {display: inline-flex; align-items: center; padding: var(--space-2) var(--space-5); border-radius: var(--radius-full); background-color: rgba(255, 255, 255, 0.8); border: 1px solid rgba(197, 122, 60, 0.26); font-size: var(--font-size-xs); letter-spacing: 0.16em; text-transform: uppercase; color: var(--color-text-soft);} .hero-booking-subtitle {font-size: var(--font-size-md); color: var(--color-text-soft);} .hero-booking-meta {display: flex; flex-wrap: wrap; gap: var(--space-4); margin-top: var(--space-2); font-size: var(--font-size-sm); color: var(--color-text-soft);} .hero-booking-meta-item {display: inline-flex; align-items: center; gap: var(--space-2);} .hero-booking-cta-row {display: flex; flex-wrap: wrap; gap: var(--space-4); margin-top: var(--space-6);} .hero-booking-panel {display: flex; align-items: center; justify-content: flex-end;} .hero-booking-card {width: 100%; max-width: 420px; margin-left: auto; background: linear-gradient(145deg, #1d1814, #30251e); color: #f7f1e7; border-radius: 24px; padding: var(--space-16); box-shadow: var(--shadow-strong);} .hero-booking-card-header p {color: rgba(250, 246, 240, 0.82);} .hero-booking-stats {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-8); margin-bottom: var(--space-6); font-size: var(--font-size-xs);} .hero-booking-stat-item dt {color: rgba(250, 246, 240, 0.7); margin-bottom: var(--space-2);} .hero-booking-stat-item dd {font-family: var(--font-serif); font-size: var(--font-size-lg); color: #ffe7c4;} .hero-booking-note {font-size: var(--font-size-xs); color: rgba(250, 246, 240, 0.72);} .booking-layout-grid {display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1.1fr); gap: var(--space-24); align-items: flex-start;} .booking-form-wrapper h2 {margin-bottom: var(--space-4);} .booking-intro {margin-bottom: var(--space-8);} .booking-form {margin-top: var(--space-4);} .booking-fieldset {border: none; padding: 0; margin: 0 0 var(--space-10);} .booking-legend {font-family: var(--font-serif); font-size: var(--font-size-lg); margin-bottom: var(--space-6);} .booking-grid-narrow {gap: var(--space-8);} .booking-label {font-size: var(--font-size-sm); font-weight: 500; color: var(--color-text); margin-bottom: var(--space-3);} .booking-checkbox-group {display: flex; flex-direction: column; gap: var(--space-3);} .booking-checkbox-item {display: flex; align-items: flex-start; gap: var(--space-3); font-size: var(--font-size-sm); color: var(--color-text-soft);} .booking-checkbox-item input[type="checkbox"] {margin-top: 3px; width: auto; flex-shrink: 0;} .booking-submit-row {display: flex; flex-direction: column; gap: var(--space-3); margin-top: var(--space-4);} .booking-submit-note {font-size: var(--font-size-sm);} .booking-gdpr-note {margin-top: var(--space-4); font-size: var(--font-size-xs);} .booking-sidebar {display: flex; flex-direction: column; gap: var(--space-8);} .booking-contact-card h2, .booking-venue-card h2, .booking-packages-card h2 {margin-bottom: var(--space-3);} .booking-contact-list {display: flex; flex-direction: column; gap: var(--space-3); margin-top: var(--space-3); margin-bottom: var(--space-4);} .booking-contact-item dt {font-size: var(--font-size-xs); text-transform: uppercase; letter-spacing: 0.12em; color: var(--color-text-soft); margin-bottom: var(--space-1);} .booking-contact-item dd a {font-weight: 500;} .booking-contact-actions {display: flex; flex-direction: column; gap: var(--space-3); margin-top: var(--space-3);} .booking-link-quiet {font-size: var(--font-size-sm); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px;} .booking-venue-card {background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.92), var(--color-surface-soft));} .booking-venue-list {display: flex; flex-direction: column; gap: var(--space-3); margin-top: var(--space-3); margin-bottom: var(--space-3);} .booking-venue-note {font-size: var(--font-size-sm);} .booking-packages-card {display: flex; flex-direction: column; gap: var(--space-4);} .booking-package-list {display: flex; flex-direction: column; gap: var(--space-3);} .booking-packages-btn {align-self: flex-start;} .booking-faq-grid {display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.5fr); gap: var(--space-24); align-items: flex-start;} .booking-faq-intro {display: flex; flex-direction: column; gap: var(--space-6);} .booking-faq-highlight h3 {margin-bottom: var(--space-3);} .booking-faq-highlight p {margin-bottom: var(--space-3);} .booking-faq-list {display: flex; flex-direction: column; gap: var(--space-6);} .booking-faq-item h3 {font-size: var(--font-size-md); margin-bottom: var(--space-2);} .booking-faq-steps {counter-reset: faqstep; display: flex; flex-direction: column; gap: var(--space-2); padding-left: 0; margin-top: var(--space-2);} .booking-faq-steps li {position: relative; padding-left: var(--space-6); font-size: var(--font-size-sm); color: var(--color-text-soft);} .booking-faq-steps li::before {counter-increment: faqstep; content: counter(faqstep); position: absolute; left: 0; top: 0; width: 22px; height: 22px; border-radius: var(--radius-full); background-color: var(--color-primary-soft); color: var(--color-primary); display: flex; align-items: center; justify-content: center; font-size: 0.7rem; font-weight: 600;} .booking-link-inline, .privacy-link-inline {font-size: var(--font-size-sm); text-decoration: underline; text-underline-offset: 3px;} .privacy-access-grid {display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.2fr); gap: var(--space-24); align-items: stretch;} .privacy-card, .accessibility-card {height: 100%;} .privacy-list, .accessibility-list {display: flex; flex-direction: column; gap: var(--space-3); margin-top: var(--space-3); margin-bottom: var(--space-3);} .privacy-links {display: flex; flex-wrap: wrap; gap: var(--space-4); margin-top: var(--space-4);} .booking-bottom-cta-card {background: linear-gradient(135deg, #fff9f2, #f3e3d0); box-shadow: var(--shadow-soft);} .booking-bottom-cta-content {display: flex; justify-content: space-between; align-items: center; gap: var(--space-8);} .booking-bottom-cta-actions {display: flex; flex-wrap: wrap; gap: var(--space-4);} .booking-link-inline {font-size: var(--font-size-sm);} @media (max-width: 1024px) {.hero-booking-grid {grid-template-columns: minmax(0, 1fr);} .hero-booking-panel {justify-content: flex-start;} .hero-booking-card {max-width: 100%;} .booking-layout-grid {grid-template-columns: minmax(0, 1fr);} .booking-sidebar {flex-direction: row; flex-wrap: wrap;} .booking-contact-card, .booking-venue-card, .booking-packages-card {flex: 1 1 260px;}} @media (max-width: 768px) {.hero-section-booking {padding-top: var(--space-24); padding-bottom: var(--space-24);} .hero-booking-card {padding: var(--space-12);} .hero-booking-stats {grid-template-columns: repeat(2, minmax(0, 1fr));} .booking-layout-grid {gap: var(--space-16);} .booking-faq-grid {grid-template-columns: minmax(0, 1fr); gap: var(--space-16);} .privacy-access-grid {grid-template-columns: minmax(0, 1fr); gap: var(--space-16);} .booking-bottom-cta-content {flex-direction: column; align-items: flex-start;} .booking-sidebar {flex-direction: column;} .hero-booking-meta {flex-direction: column;}} @media (max-width: 480px) {.hero-booking-stats {grid-template-columns: minmax(0, 1fr);} .booking-packages-btn {width: 100%; justify-content: center;} .booking-bottom-cta-actions {width: 100%;} .booking-bottom-cta-actions .btn {flex: 1 1 100%; justify-content: center;}}