@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:ital,wght@0,300;0,400;0,500;0,700;1,400&family=Space+Mono:wght@400;700&display=swap'); 
:root {--olive:#6b7c45; --olive-light:#8fa05c; --olive-dark:#4a5630; --olive-glow:rgba(107,124,69,0.35); --black:#0d0d0d; --black-soft:#141414; --black-card:#1a1a1a; --white:#f5f5f0; --white-dim:rgba(245, 245, 240, 0.7); --white-faint:rgba(245, 245, 240, 0.1); --glass-bg:rgba(20, 20, 20, 0.55); --glass-border:rgba(107, 124, 69, 0.25); --glass-blur:blur(16px); --radius:16px; --radius-sm:8px; --font-display:'Bebas Neue', sans-serif; --font-body:'DM Sans', sans-serif; --font-mono:'Space Mono', monospace; --transition:0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);}
*, *::before, *::after {box-sizing:border-box; margin:0; padding:0;}
html {scroll-behavior:smooth; scroll-padding-top:80px;}
body {background:var(--black); color:var(--white); font-family:var(--font-body); font-size:16px; line-height:1.6; overflow-x:hidden;}
img {max-width:100%; display:block;}
a {color:inherit; text-decoration:none;}
ul {list-style:none;}
button {cursor:pointer; border:none; background:none; font-family:inherit;}
input, textarea, select {font-family:inherit;}
h1, h2, h3, h4 {font-family:var(--font-display); letter-spacing:0.04em; line-height:1;}
h1 {font-size:clamp(3rem,10vw,7rem);}
h2 {font-size:clamp(2rem,5vw,3.5rem);}
h3 {font-size:clamp(1.4rem,3vw,2rem);}
* {caret-color:transparent;}
input, textarea {caret-color:var(--white);}
::-webkit-scrollbar {width:6px;}
::-webkit-scrollbar-track {background:var(--black);}
::-webkit-scrollbar-thumb {background:var(--olive); border-radius:3px;}
.eb-toast {position:fixed; bottom:2rem; right:2rem; z-index:9999; display:flex; align-items:center; gap:.75rem; padding:1rem 1.5rem; background:var(--glass-bg); backdrop-filter:var(--glass-blur); border:1px solid var(--glass-border); border-radius:var(--radius); color:var(--white); font-family:var(--font-mono); font-size:.85rem; transform:translateY(2rem) scale(.95); opacity:0; transition:var(--transition); box-shadow:0 8px 32px rgba(0,0,0,.5);}
.eb-toast--visible {transform:translateY(0) scale(1); opacity:1;}
.eb-toast--success {border-color:var(--olive);}
.eb-toast--success .eb-toast__icon {color:var(--olive-light);}
.eb-toast--error {border-color:#c0392b;}
.eb-toast--error .eb-toast__icon {color:#e74c3c;}
.eb-toast__icon {font-size:1.1rem; font-weight:700;}
.eb-nav {position:fixed; top:0; left:0; right:0; z-index:1000; transition:var(--transition);}
.eb-nav--scrolled {background:rgba(13,13,13,.92); backdrop-filter:blur(20px); border-bottom:1px solid var(--glass-border); box-shadow:0 4px 30px rgba(0,0,0,.4);}
.eb-nav__inner {max-width:1200px; margin:0 auto; padding:1.25rem 2rem; display:flex; align-items:center; justify-content:space-between; transition:var(--transition);}
.eb-nav__logo {font-family:var(--font-display); font-size:1.5rem; letter-spacing:.1em;}
.eb-nav__logo-encore {color:var(--white);}
.eb-nav__logo-blvd {color:var(--olive-light);}
.eb-nav__links {display:flex; gap:2rem; align-items:center;}
.eb-nav__link {font-family:var(--font-mono); font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; color:var(--white-dim); position:relative; transition:color var(--transition);}
.eb-nav__link::after {content:''; position:absolute; bottom:-4px; left:0; right:0; height:1px; background:var(--olive-light); transform:scaleX(0); transform-origin:left; transition:transform var(--transition);}
.eb-nav__link:hover, .eb-nav__link--active {color:var(--white);}
.eb-nav__link:hover::after, .eb-nav__link--active::after {transform:scaleX(1);}
.eb-nav__link--cta {background:var(--olive); color:var(--white) !important; padding:.5rem 1.25rem; border-radius:4px; font-size:.75rem; letter-spacing:.15em; transition:background var(--transition), transform var(--transition); display:inline-flex; align-items:center; justify-content:center;}
.eb-nav__link--cta::after {display:none;}
.eb-nav__link--cta:hover {background:var(--olive-light); transform:translateY(-1px);}
.eb-nav__burger {display:none; flex-direction:column; gap:5px; padding:.25rem;}
.eb-nav__burger span {display:block; width:24px; height:2px; background:var(--white); border-radius:2px; transition:var(--transition);}
.eb-nav__burger--open span:nth-child(1) {transform:translateY(7px) rotate(45deg);}
.eb-nav__burger--open span:nth-child(2) {opacity:0;}
.eb-nav__burger--open span:nth-child(3) {transform:translateY(-7px) rotate(-45deg);}
.eb-nav__mobile {display:none; flex-direction:column; background:rgba(13,13,13,.97); backdrop-filter:blur(20px); padding:1.5rem 2rem; gap:1rem; border-bottom:1px solid var(--glass-border); transform:translateY(-10px); opacity:0; transition:var(--transition); pointer-events:none;}
.eb-nav__mobile--open {display:flex; transform:translateY(0); opacity:1; pointer-events:all;}
.eb-nav__mobile-link {font-family:var(--font-mono); font-size:.85rem; letter-spacing:.1em; text-transform:uppercase; color:var(--white-dim); padding:.5rem 0; border-bottom:1px solid var(--white-faint); transition:color var(--transition); border-radius:0 !important; background:none !important; box-shadow:none !important;}
.eb-nav__mobile-link.eb-nav__link--cta {margin-top:.5rem; background:var(--olive) !important; color:var(--white) !important; padding:.6rem 1.25rem; border-radius:4px !important; text-align:center; border-bottom:none;}
.eb-nav__mobile-link:hover {color:var(--white);}
.btn {display:inline-flex; align-items:center; justify-content:center; gap:.5rem; font-family:var(--font-mono); font-size:.75rem; letter-spacing:.15em; text-transform:uppercase; padding:.6rem 1.5rem; border-radius:4px; cursor:pointer; transition:all var(--transition); position:relative; overflow:hidden;}
.btn::before {content:''; position:absolute; inset:0; background:rgba(255,255,255,.08); opacity:0; transition:opacity var(--transition);}
.btn:hover::before {opacity:1;}
.btn-primary {background:var(--olive); color:var(--white); border:2px solid transparent; box-shadow:0 4px 24px var(--olive-glow);}
.btn-primary:hover {background:var(--olive-light); box-shadow:0 8px 32px rgba(107,124,69,.5); transform:translateY(-2px);}
.btn-outline {background:transparent; color:var(--white); border:2px solid rgba(245,245,240,.3);}
.btn-outline:hover {border-color:var(--olive); color:var(--olive-light); transform:translateY(-2px);}
.btn-ghost {background:var(--white-faint); color:var(--white); border:1px solid var(--glass-border); backdrop-filter:var(--glass-blur);}
.btn-ghost:hover {background:rgba(107,124,69,.2); border-color:var(--olive); transform:translateY(-2px);}
.glass {background:var(--glass-bg); backdrop-filter:var(--glass-blur); border:1px solid var(--glass-border); border-radius:var(--radius);}
.section {padding:3rem 2rem;}
.section__inner {max-width:1200px; margin:0 auto;}
.section-label {font-family:var(--font-mono); font-size:.72rem; letter-spacing:.25em; text-transform:uppercase; color:var(--olive-light); display:flex; align-items:center; gap:.75rem; margin-bottom:1rem;}
.section-label::before {content:''; display:block; width:32px; height:1px; background:var(--olive);}
.reveal {opacity:0; transform:translateY(40px); transition:opacity .7s ease, transform .7s ease;}
.reveal.visible {opacity:1; transform:translateY(0);}
.eb-footer {background:var(--black-soft); border-top:1px solid var(--glass-border); padding:4rem 2rem 0;}
.eb-footer__inner {max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(auto-fit, minmax(200px,1fr)); gap:3rem; padding-bottom:3rem;}

@media (max-width:768px) {
  .eb-footer {padding:2.5rem 1.25rem 0;}
  .eb-footer__inner {grid-template-columns:1fr 1fr; gap:2.75rem 1rem; padding-bottom:2rem;}
  .eb-footer__brand {grid-column:1; grid-row:1;}
  .eb-footer__contact {grid-column:2; grid-row:1;}
  .eb-footer__features {grid-column:1; grid-row:2; padding-left: 1rem;}
  .eb-footer__socials {grid-column:2; grid-row:2;}
  .eb-footer__address, .eb-footer__phone, .eb-footer__email {font-size:.8rem;}
}
.eb-footer__brand .eb-nav__logo-encore, .eb-footer__brand .eb-nav__logo-blvd {font-family:var(--font-display); font-size:2rem; letter-spacing:.1em;}
.eb-footer__tagline {color:var(--white-dim); font-size:.9rem; margin-top:.5rem;}
.eb-footer h4 {font-family:var(--font-mono); font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--olive-light); margin-bottom:1rem;}
.eb-footer__address, .eb-footer__phone, .eb-footer__email {display:block; color:var(--white-dim); font-size:.9rem; margin-bottom:.5rem; transition:color var(--transition);}
.eb-footer__address:hover, .eb-footer__phone:hover, .eb-footer__email:hover {color:var(--olive-light);}
.eb-footer__social-links {display:flex; gap:1rem;}
.eb-footer__social-icon {display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; background:var(--white-faint); border:1px solid var(--glass-border); color:var(--white-dim); transition:all var(--transition);}
.eb-footer__social-icon svg {width:18px; height:18px;}
.eb-footer__social-icon:hover {background:var(--olive); border-color:var(--olive); color:var(--white); transform:translateY(-3px);}
.eb-footer__bottom {border-top:1px solid var(--white-faint); text-align:center; padding:1.5rem; color:var(--white-dim); font-size:.8rem; font-family:var(--font-mono);}
.eb-input, .eb-textarea, .eb-select {width:100%; background:rgba(255,255,255,.04); border:none; border-radius:var(--radius-sm); color:var(--white); padding:.5rem .75rem; font-size:.85rem; font-family:var(--font-body); transition:all var(--transition); outline:none;}
.eb-input:focus, .eb-textarea:focus, .eb-select:focus {border-color:var(--olive-light); background:rgba(107,124,69,.07); box-shadow:0 0 0 3px var(--olive-glow);}
.eb-input::placeholder, .eb-textarea::placeholder {color:rgba(245,245,240,.3);}
.eb-textarea {resize:vertical; min-height:120px;}
.eb-select option {background:var(--black-soft); color:var(--white);}
.eb-select[id="bTime"], .eb-select[id="bEndTime"] { max-height: 120px; }
select[id="bTime"], select[id="bEndTime"] { max-height: 200px; }
.form-group {display:flex; flex-direction:column; gap:.25rem;}
.form-group label {font-family:var(--font-mono); font-size:.72rem; letter-spacing:.15em; text-transform:uppercase; color:var(--olive-light);}
.form-hint {font-size:.8rem; color:var(--white-dim);}
.page-hero {position:relative; min-height:100svh; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:6rem 2rem 1.5rem; text-align:center; border-bottom:none; overflow:hidden;}
@media (max-width: 768px) { .page-hero { min-height:45svh; padding:7rem 2rem 3rem; } }
.page-hero::after {content:''; position:absolute; inset:0; background:linear-gradient(160deg, rgba(13,13,13,.7) 0%, rgba(13,13,13,.35) 50%, rgba(13,13,13,.8) 100%); z-index:1; pointer-events:none;}
.page-hero .hero__content {position:relative; z-index:2;}
.page-hero p {color:var(--white-dim); margin-top:.5rem; font-size:.9rem;}
.booking-layout {max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1fr 360px; gap:1.5rem; padding:1.5rem 2rem; align-items:start;}
.booking-form-card {background:var(--olive-glow); border:none; border-radius:var(--radius-sm); padding:1rem 1.25rem; margin-bottom:0.5rem !important;}
.booking-section-title {font-family:var(--font-mono); font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--white); margin-bottom:.5rem; border-bottom:none; padding-bottom:0;}
.form-row {display:grid; grid-template-columns:1fr 1fr; gap:.75rem;}
.form-spacer {height:.5rem;}
.radio-group {display:flex; flex-direction:column; gap:0;}
.radio-option {display:flex; align-items:center; gap:.875rem; padding:.65rem 0; border-bottom:1px solid rgba(245,245,240,.06); cursor:pointer;}
.radio-option:last-child {border-bottom:none;}
.radio-option input[type="radio"] {display:none;}
.radio-option__box {width:15px; height:15px; border-radius:50%; border:1.5px solid rgba(245,245,240,.25); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:border-color var(--transition);}
.radio-option__dot {width:7px; height:7px; border-radius:50%; background:transparent; transition:background var(--transition);}
.radio-option input[type="radio"]:checked ~ .radio-option__box {border-color:var(--olive-light);}
.radio-option input[type="radio"]:checked ~ .radio-option__box .radio-option__dot {background:var(--olive-light);}
.radio-option__text {display:flex; flex-direction:column; gap:.05rem; line-height:1.3;}
.radio-option__text strong {font-size:.82rem; font-weight:600; font-family:var(--font-mono); letter-spacing:.08em; text-transform:uppercase; color:var(--white);}
.radio-option__text span {font-size:.72rem; color:var(--white-dim); letter-spacing:.04em;}
.dt-grid {display:grid; grid-template-columns:1fr 1fr; gap:.75rem;}
input[type="date"], input[type="time"] {width:100%; background:rgba(255,255,255,.04); border:none; border-radius:var(--radius-sm); color:var(--white); padding:.5rem .75rem; font-size:.85rem; font-family:var(--font-mono); outline:none; cursor:pointer; transition:all var(--transition); appearance:none; -webkit-appearance:none;}
input[type="date"]:focus, input[type="time"]:focus {border-color:var(--olive-light); background:rgba(107,124,69,.07); box-shadow:0 0 0 3px var(--olive-glow);}
input[type="date"]::-webkit-calendar-picker-indicator, input[type="time"]::-webkit-calendar-picker-indicator {filter:invert(70%) sepia(30%) saturate(500%) hue-rotate(60deg); cursor:pointer;}
.headcount-wrap {position:relative;}
.headcount-display {display:flex; align-items:center; gap:1rem; background:rgba(107,124,69,.15); border:none; border-radius:var(--radius-sm); padding:.4rem .75rem; transition:background var(--transition);}
.headcount-display:focus-within {border-color:var(--olive-light);}
.hc-btn {width:24px; height:24px; border-radius:50%; background:rgba(107,124,69,.5); border:none; color:var(--white); font-size:.9rem; font-weight:700; display:flex; align-items:center; justify-content:center; transition:all var(--transition); flex-shrink:0;}
.hc-btn:hover {background:var(--olive); border-color:var(--olive);}
.hc-num {flex:1; text-align:center; font-family:var(--font-display); font-size:1.25rem; letter-spacing:.04em; color:var(--white); background:none; border:none; outline:none;}
.headcount-fee {font-family:var(--font-mono); font-size:.72rem; color:var(--olive-light); margin-top:.5rem; min-height:1.2em;}
.field-error {font-family:var(--font-mono); font-size:.62rem; color:#e74c3c; margin-top:.35rem; letter-spacing:.05em; min-height:1em;}
.payment-tabs {display:flex; gap:.5rem; margin-bottom:1.25rem;}
.pay-tab {font-family:var(--font-mono); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; padding:.5rem 1.25rem; border-radius:4px; border:1px solid var(--glass-border); color:var(--white-dim); transition:all var(--transition);}
.pay-tab--active {background:var(--olive); border-color:var(--olive); color:var(--white);}
.pay-panel {display:none;}
.pay-panel--active {display:block;}
.qr-box {text-align:center; margin-bottom:1rem;}
.qr-box img {max-width:200px; margin:0 auto 1rem; border-radius:var(--radius-sm);}
.qr-box p {font-family:var(--font-mono); font-size:.75rem; color:var(--white-dim);}
.bank-details {background:rgba(107,124,69,.15); border:none; border-radius:var(--radius-sm); padding:1rem;}
.bank-row {display:flex; justify-content:space-between; align-items:center; padding:.6rem 0; border-bottom:1px solid rgba(255,255,255,.05);}
.bank-row:last-child {border-bottom:none;}
.bank-row__label {font-family:var(--font-mono); font-size:.65rem; letter-spacing:.15em; color:var(--olive-light); text-transform:uppercase;}
.bank-row__val {font-size:.9rem; color:var(--white);}
.copy-btn {font-family:var(--font-mono); font-size:.6rem; letter-spacing:.1em; background:rgba(107,124,69,.15); border:1px solid var(--glass-border); color:var(--white-dim); padding:.25rem .6rem; border-radius:4px; transition:all var(--transition);}
.copy-btn:hover {background:var(--olive); border-color:var(--olive); color:var(--white);}
.upload-drop {background:rgba(107,124,69,.15); border:none; border-radius:var(--radius-sm); padding:1rem; text-align:center; cursor:pointer; transition:all var(--transition); position:relative;}
.upload-drop:hover, .upload-drop--drag {border-color:var(--olive-light); background:rgba(107,124,69,.07);}
.upload-drop input {position:absolute; inset:0; opacity:0; cursor:pointer; width:100%;}
.upload-drop__icon {font-size:2.5rem; margin-bottom:.75rem;}
.upload-drop__title {font-size:.95rem; color:var(--white); margin-bottom:.25rem;}
.upload-drop__sub {font-family:var(--font-mono); font-size:.7rem; color:var(--olive-light);}
.upload-preview {display:flex; align-items:center; gap:1rem; background:rgba(107,124,69,.1); border:1px solid var(--olive); border-radius:var(--radius-sm); padding:1rem 1.25rem; margin-top:1rem;}
.upload-preview img {width:56px; height:56px; object-fit:cover; border-radius:var(--radius-sm);}
.upload-preview__info {flex:1;}
.upload-preview__name {font-size:.9rem; word-break:break-all;}
.upload-preview__size {font-family:var(--font-mono); font-size:.7rem; color:var(--white-dim);}
.upload-preview__remove {color:#e74c3c; font-size:1.2rem; cursor:pointer; transition:color var(--transition);}
.upload-preview__remove:hover {color:#c0392b;}
.booking-sidebar {display:flex; flex-direction:column; gap:1.5rem; position:sticky; top:80px; max-height:calc(100svh - 100px); overflow-y:auto; overflow-x:visible; z-index:1; scrollbar-width:none;}
.booking-sidebar::-webkit-scrollbar {display:none;}
.summary-card {background:var(--olive-dark); border:none; border-radius:var(--radius-sm); padding:1.25rem;}
.summary-card h3 {font-family:var(--font-display); font-size:1.25rem; letter-spacing:.04em; margin-bottom:.75rem; color:var(--white);}
.summary-row {display:flex; justify-content:space-between; padding:.5rem 0; border-bottom:1px solid rgba(255,255,255,.05); font-size:.88rem; color:var(--white-dim);}
.summary-row:last-of-type {border-bottom:none;}
.summary-row strong {color:var(--white);}
.summary-total {margin-top:1rem; padding-top:1rem; border-top:1px solid var(--glass-border); display:flex; justify-content:space-between; align-items:baseline;}
.summary-total__label {font-family:var(--font-mono); font-size:.7rem; letter-spacing:.15em; text-transform:uppercase; color:var(--olive-light);}
.summary-total__amount {font-family:var(--font-display); font-size:2rem; color:var(--olive-light); letter-spacing:.04em;}
.form-actions {display:flex; gap:1rem; justify-content:flex-end; margin-top:2rem;}
.eb-modal {position:fixed; inset:0; z-index:3000; display:flex; align-items:center; justify-content:center; background:rgba(13,13,13,.8); backdrop-filter:blur(8px); opacity:0; pointer-events:none; transition:opacity var(--transition);}
.eb-modal--open {opacity:1; pointer-events:all;}
.eb-modal__box {background:var(--black-card); border:1px solid var(--glass-border); border-radius:var(--radius); padding:3rem 2.5rem; text-align:center; max-width:480px; width:90%; transform:scale(.9); transition:transform var(--transition);}
.eb-modal--open .eb-modal__box {transform:scale(1);}
.eb-modal__icon {font-size:3.5rem; margin-bottom:1rem;}
.eb-modal__title {font-family:var(--font-display); font-size:2rem; letter-spacing:.04em; margin-bottom:.75rem;}
.eb-modal__body {color:var(--white-dim); margin-bottom:2rem; font-size:.95rem; line-height:1.6;}
.hero {position:relative; min-height:100svh; display:flex; align-items:center; justify-content:center; overflow:hidden;}
@media (max-width: 768px) { .hero { min-height:75svh; padding-top:2rem; } }
.hero__carousel {position:absolute; inset:0; z-index:0;}
.hero__slide {position:absolute; inset:0; opacity:0; background-size:cover; background-position:center; transition:opacity 1.2s ease;}
.hero__slide--active {opacity:1;}
.hero__overlay {position:absolute; inset:0; background:linear-gradient(160deg, rgba(13,13,13,.75) 0%, rgba(13, 13, 13, .4) 50%, rgba(13, 13, 13, .85) 100%);}
.hero__content {position:relative; z-index:2; text-align:center; padding:2rem; max-width:900px;}
.hero__eyebrow {font-family:var(--font-mono); font-size:.75rem; letter-spacing:.3em; text-transform:uppercase; color:var(--white); text-shadow:0 1px 8px rgba(0,0,0,.8); background:rgba(0, 0, 0, .35); padding:.4rem 1rem; border-radius:100px; display:inline-block; margin-bottom:1.5rem; opacity:0; animation:fadeUp .8s .3s forwards;}
.hero__title {font-family:var(--font-display); font-size:clamp(3.5rem,12vw,9rem); line-height:.9; letter-spacing:.04em; margin-bottom:1.5rem; opacity:0; animation:fadeUp .8s .5s forwards;}
.hero__title span {color:var(--olive-light);}
.hero__sub {font-size:clamp(1rem,2.5vw,1.25rem); color:var(--white-dim); max-width:500px; margin:0 auto 2.5rem; opacity:0; animation:fadeUp .8s .7s forwards;}
.hero__cta {display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; opacity:0; animation:fadeUp .8s .9s forwards;}
.hero__dots {position:absolute; bottom:2rem; left:50%; transform:translateX(-50%); display:flex; gap:.5rem; z-index:2;}
.hero__dot {width:6px; height:6px; border-radius:50%; background:rgba(245,245,240,.3); cursor:pointer; transition:all var(--transition);}
.hero__dot--active {background:var(--olive-light); width:20px; border-radius:3px;}
.services-grid {display:flex; flex-direction:column; gap:.25rem; margin-top:1.5rem;}
.service-card {padding:.75rem 0 .75rem 1rem; border-left:2px solid var(--olive); transition:all var(--transition); position:relative;}
.service-card::before {display:none;}
.service-card:hover {transform:translateX(4px);}
.service-card__icon {font-size:2.2rem; margin-bottom:1rem;}
.service-card__title {font-family:var(--font-display); font-size:1.5rem; letter-spacing:.04em; margin-bottom:.5rem;}
.service-card__desc {color:var(--white-dim); font-size:.9rem; line-height:1.6;}
.usecases {background:var(--black-soft);}
.usecase-list {display:grid; grid-template-columns:1fr 1fr; gap:.5rem; margin-top:1rem;}
.usecase-item {display:flex; align-items:center; gap:.5rem; border-left:1px solid var(--olive); padding:.3rem .75rem; transition:all var(--transition); color:var(--white-dim); font-size:.85rem;}
.usecase-item:hover {color:var(--olive-light);}
.usecase-item__bullet {width:8px; height:8px; border-radius:50%; background:var(--olive); flex-shrink:0;}
.usecase-item span {font-size:.9rem;}
.cta-band {background:linear-gradient(135deg, var(--olive-dark) 0%, var(--olive) 100%); padding:3rem 2rem; text-align:center; position:relative; overflow:hidden;}
.cta-band::before {content:'MOVE'; font-family:var(--font-display); font-size:18vw; color:rgba(0,0,0,.15); position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); white-space:nowrap; pointer-events:none; letter-spacing:.05em;}
.cta-band__title {font-family:var(--font-display); font-size:clamp(2rem,6vw,4.5rem); position:relative; z-index:1; margin-bottom:1rem;}
.cta-band__sub {color:rgba(245,245,240,.8); margin-bottom:2.5rem; position:relative; z-index:1;}
.cta-band .btn-group {display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; position:relative; z-index:1;}
.cta-band .btn-outline {border-color:rgba(245,245,240,.6);}
.contact-grid {display:grid; grid-template-columns:1fr 1.2fr; gap:4rem; align-items:start;}
.contact-info {padding-top:1rem;}
.contact-info__item {display:flex; gap:1rem; margin-bottom:1.75rem; align-items:flex-start;}
.contact-info__icon {width:40px; height:40px; border-radius:50%; background:rgba(107,124,69,.15); border:1px solid var(--glass-border); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:1rem;}
.contact-info__label {font-family:var(--font-mono); font-size:.65rem; letter-spacing:.15em; text-transform:uppercase; color:var(--olive-light); margin-bottom:.25rem;}
.contact-info__val {color:var(--white-dim); font-size:.95rem; line-height:1.5;}
.contact-info__val a {transition:color var(--transition);}
.contact-info__val a:hover {color:var(--olive-light);}
.contact-form {background:var(--glass-bg); backdrop-filter:var(--glass-blur); border:1px solid var(--glass-border); border-radius:var(--radius); padding:2.5rem; display:flex; flex-direction:column; gap:1.5rem;}
.page-hero h1 {margin-bottom:.25rem; font-size:clamp(2.5rem,6vw,4rem); line-height:1;}
.pricing-grid {display:flex; flex-direction:column; gap:.25rem; margin-top:1.5rem;}
.pricing-card {border-left:2px solid var(--olive); padding:.15rem 1.25rem; transition:all var(--transition);}
.pricing-card--featured {border-color:var(--olive-light);}
.pricing-card--featured::before {display:none;}
.pricing-card:hover {transform:translateX(4px);}
.pricing-card__label {font-family:var(--font-mono); font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--olive-light); margin-bottom:1rem;}
.pricing-card__price {font-family:var(--font-display); font-size:4rem; letter-spacing:.02em; color:var(--white); line-height:1;}
.pricing-card__price sup {font-size:1.5rem; vertical-align:super;}
.pricing-card__unit {color:var(--white-dim); font-size:.9rem; margin:.5rem 0 1.5rem;}
.pricing-card__divider {border:none; border-top:1px solid var(--glass-border); margin:1.5rem 0;}
.pricing-card__note {color:var(--white-dim); font-size:.85rem; margin-top:.75rem;}
.inclusions-grid {display:grid; grid-template-columns:1fr 1fr; gap:.35rem; margin-top:1rem;}
.inclusion-item {display:flex; align-items:center; gap:.75rem; padding:.4rem 0; border-bottom:1px solid var(--white-faint); transition:color var(--transition);}
.inclusion-item:hover {color:var(--olive-light);}
.inclusion-item__icon {font-size:1.1rem; color:var(--olive-light); flex-shrink:0;}
.inclusion-item__name {font-size:.9rem; color:var(--white-dim);}
.tnc-list {display:flex; flex-direction:column; gap:0; margin-top:1rem;}
.tnc-item {display:grid; grid-template-columns:2rem 1fr; gap:1rem; align-items:start; padding:.6rem 0; border-bottom:1px solid var(--white-faint); transition:all var(--transition);}
.tnc-item:hover {color:var(--olive-light);}
.tnc-item__num {font-family:var(--font-display); font-size:2rem; color:var(--olive-light); letter-spacing:.04em; line-height:1;}
.tnc-item__title {font-family:var(--font-mono); font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--olive-light); margin-bottom:.35rem;}
.tnc-item__body {color:var(--white-dim); font-size:.9rem; line-height:1.6;}
.tnc-item__highlight {font-family:var(--font-mono); font-size:.8rem; color:#e6a919; background:rgba(230,169,25,.1); border:1px solid rgba(230, 169, 25, .25); border-radius:var(--radius-sm); padding:.4rem .75rem; margin-top:.5rem; display:inline-block;}
.avail-calendar {width:100%; box-sizing:border-box; position:relative; height:100%; background:var(--glass-bg); backdrop-filter:var(--glass-blur); border:1px solid var(--glass-border); border-radius:var(--radius); padding:2rem;}
.cal-nav {display:flex; align-items:center; justify-content:space-between; margin-bottom:1.5rem;}
.cal-nav h3 {font-family:var(--font-display); font-size:1.8rem; letter-spacing:.04em;}
.cal-nav-btn {width:38px; height:38px; border-radius:50%; background:var(--glass-bg); border:1px solid var(--glass-border); color:var(--white); font-size:1.1rem; display:flex; align-items:center; justify-content:center; transition:all var(--transition); cursor:pointer;}
.cal-nav-btn:hover {background:var(--olive); border-color:var(--olive);}
.cal-grid {display:grid; grid-template-columns:repeat(7,1fr); gap:6px;}
.cal-header {text-align:center; font-family:var(--font-mono); font-size:.6rem; letter-spacing:.15em; color:var(--olive-light); padding:.5rem 0;}
.cal-day {aspect-ratio:1; display:flex; align-items:center; justify-content:center; border-radius:var(--radius-sm); font-size:.85rem; transition:all var(--transition); position:relative; cursor:default;}
.cal-day--other {color:rgba(245,245,240,.2);}
.cal-day--past {color:rgba(245,245,240,.2); cursor:default; text-decoration:line-through;}
.cal-day--today {border:1px solid var(--olive); color:var(--white) !important; font-weight:700;}
.cal-day--booked {background:var(--olive); color:var(--white); font-weight:700; cursor:pointer;}
.cal-day--booked:hover {background:var(--olive-light); transform:scale(1.1);}
.cal-day--booked .cal-tooltip {display:none; position:absolute; bottom:calc(100% + 8px); left:50%; transform:translateX(-50%); z-index:10; background:var(--black-card); border:1px solid var(--glass-border); border-radius:var(--radius-sm); padding:.75rem 1rem; font-size:.75rem; white-space:nowrap; min-width:160px; text-align:left; box-shadow:0 8px 24px rgba(0,0,0,.5);}
.cal-day--booked:hover .cal-tooltip {display:block;}
.cal-detail {position:absolute; inset:0; background:var(--black-card); border-radius:var(--radius); padding:1.5rem; overflow-y:auto; z-index:10; display:flex; flex-direction:column; gap:1rem;}
.cal-detail__header {display:flex; align-items:center; justify-content:space-between;}
.cal-detail__date {font-family:var(--font-display); font-size:1.4rem; letter-spacing:.04em; color:var(--olive-light);}
.cal-detail__close {font-family:var(--font-mono); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--white-dim); background:var(--white-faint); border:1px solid var(--glass-border); border-radius:100px; padding:.35rem .85rem; cursor:pointer; transition:all var(--transition);}
.cal-detail__close:hover {background:var(--olive); border-color:var(--olive); color:var(--white);}
.cal-detail__slots {display:flex; flex-direction:column; gap:.4rem; overflow-y:visible;}
.cal-slot {display:flex; align-items:center; gap:.75rem; padding:.5rem .75rem; border-radius:var(--radius-sm); font-size:.85rem;}
.cal-slot--booked {background:rgba(231,76,60,.08); border:1px solid rgba(231, 76, 60, .2);}
.cal-slot--free {background:rgba(107,124,69,.08); border:1px solid var(--glass-border); cursor:pointer; text-decoration:none; color:var(--white); transition:all var(--transition);}
.cal-slot--free:hover {background:rgba(107,124,69,.25); border-color:var(--olive); transform:translateX(4px);}
.cal-slot__status {margin-left:auto; font-family:var(--font-mono); font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; color:var(--white-dim);}
.cal-slot--booked .cal-slot__status {color:#e74c3c;}
.cal-slot__status--booked {font-weight:700;letter-spacing:.12em;}
.cal-day--confirmed-booked {pointer-events:auto;}
.cal-slot--free .cal-slot__status {color:var(--olive-light);}
.studio-col {display:flex; flex-direction:column; height:100%;}
.studio-carousel {position:relative; flex:1; min-height:0; border-radius:var(--radius); overflow:hidden; margin-top:1.5rem;}
.studio-carousel__track {display:flex; height:100%; transition:transform .5s cubic-bezier(.25,.46,.45,.94);}
.studio-carousel__track img {min-width:100%; width:100%; height:100%; object-fit:cover; cursor:zoom-in; flex-shrink:0;}
.studio-carousel__track {display:flex; height:100%; min-height:220px; transition:transform .5s cubic-bezier(.25,.46,.45,.94);}
.studio-carousel__track img {min-width:100%; width:100%; object-fit:cover; cursor:zoom-in; flex-shrink:0;}
.studio-carousel__btn {position:absolute; top:50%; transform:translateY(-50%); width:34px; height:34px; border-radius:50%; background:rgba(13,13,13,.7); border:1px solid var(--glass-border); color:var(--white); font-size:1rem; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all var(--transition); z-index:2;}
.studio-carousel__btn:hover {background:var(--olive); border-color:var(--olive);}
#studioPrev {left:.75rem;}
#studioNext {right:.75rem;}
.studio-carousel__dots {position:absolute; bottom:.6rem; left:50%; transform:translateX(-50%); display:flex; gap:.4rem; z-index:2;}
.studio-carousel__dots span {width:6px; height:6px; border-radius:50%; background:rgba(245,245,240,.4); cursor:pointer; transition:all var(--transition);}
.studio-carousel__dots span.active {background:var(--olive-light); width:18px; border-radius:3px;}
.studio-lightbox {position:fixed; inset:0; z-index:3000; background:rgba(0,0,0,.92); display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:opacity var(--transition);}
.studio-lightbox--open {opacity:1; pointer-events:all;}
.studio-lightbox img {max-width:90vw; max-height:88vh; border-radius:var(--radius); object-fit:contain; box-shadow:0 16px 64px rgba(0,0,0,.8);}
.studio-lightbox__close {position:absolute; top:1.5rem; right:1.5rem; background:rgba(255,255,255,.1); border:1px solid var(--glass-border); color:var(--white); width:40px; height:40px; border-radius:50%; font-size:1rem; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all var(--transition);}
.studio-lightbox__close:hover {background:var(--olive); border-color:var(--olive);}
.tooltip-slot {display:flex; gap:.5rem; margin-bottom:.25rem;}
.slot-dot {width:6px; height:6px; border-radius:50%; flex-shrink:0; margin-top:5px;}
.slot-dot--booked {background:#e74c3c;}
.slot-dot--available {background:var(--olive-light);}
.qr-tile {position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;cursor:pointer;}
.qr-tile__overlay {position:absolute;inset:0;border-radius:12px;background:rgba(0,0,0,.55);backdrop-filter:blur(2px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;opacity:0;transition:opacity .2s ease;}
.qr-tile:hover .qr-tile__overlay {opacity:1;}
.qr-tile__scan-icon {font-size:1.4rem;color:#fff;}
.qr-tile__scan-label {font-family:var(--font-mono);font-size:.5rem;letter-spacing:.15em;color:#fff;text-align:center;}
.rates-cta {text-align:center; padding:5rem 2rem;}
.rates-cta h2 {font-family:var(--font-display); font-size:clamp(2rem,5vw,3.5rem); margin-bottom:1rem;}
.rates-cta p {color:var(--white-dim); margin-bottom:2.5rem;}

@media (max-width: 900px) {
.booking-layout {grid-template-columns:1fr;}
}

@media (max-width: 600px) {
.form-row {grid-template-columns:1fr;}
.dt-grid {grid-template-columns:1fr;}
}

@keyframes fadeUp {
from {opacity:0; transform:translateY(30px);}
to {opacity:1; transform:translateY(0);}
}

@media (max-width: 768px) {
.contact-grid {grid-template-columns:1fr;}
.eb-nav__links {display:none;}
.eb-nav__burger {display:flex;}
.section {padding:4rem 1.25rem;}
}
.booking-sidebar .avail-calendar .cal-day {font-size:.7rem; color:var(--white);}
.booking-sidebar .avail-calendar .cal-header {font-size:.55rem; padding:.3rem 0; color:var(--white); opacity:1;}
.booking-sidebar .avail-calendar .cal-day--other {color:rgba(245,245,240,.25);}
.booking-sidebar .avail-calendar .cal-day--past {color:rgba(245,245,240,.25); text-decoration:line-through;}
.booking-sidebar .avail-calendar .cal-day--today {color:var(--olive-light); border-color:var(--olive-light); font-weight:700;}
.booking-sidebar .avail-calendar .cal-detail {border-radius:var(--radius-sm); padding:1rem; max-height:none; height:auto;}
.booking-sidebar .avail-calendar .cal-detail__date {font-size:1rem;}
.promo-layout {display:grid; grid-template-columns:1fr 1fr; gap:2rem; align-items:stretch;}
.promo-video-col {display:flex; flex-direction:column; gap:1rem;}
.promo-player {width:100%; aspect-ratio:16/9; border-radius:var(--radius); overflow:hidden; background:var(--black-card); position:relative;}
.promo-player video {width:100%; height:100%; object-fit:cover;}
.promo-player iframe {position:absolute; inset:0; width:100%; height:100%; border:none;}
@media (max-width:768px) {
  .promo-layout {grid-template-columns:1fr; gap:2rem;}
  .promo-player {aspect-ratio:16/9;}
}
.promo-dots {display:flex; gap:.5rem; justify-content:center;}
.promo-dot {width:20px; height:20px; border-radius:50%; background:rgba(245,245,240,.25); cursor:pointer; transition:all var(--transition);}
.promo-dot--active {background:var(--olive-light); width:48px; border-radius:5px;}
.promo-text-col {display:flex; flex-direction:column; gap:1.25rem;}
.promo-copy--in {animation:promoCopyIn .35s cubic-bezier(.25,.46,.45,.94) both;}
@keyframes promoCopyIn {
  from {opacity:0; transform:translateY(10px);}
  to   {opacity:1; transform:translateY(0);}
}
.promo-body {color:var(--white-dim); font-size:1rem; line-height:1.8; max-width:480px;}
@media (max-width:768px) {
  .promo-layout {grid-template-columns:1fr; gap:2rem;}
  .promo-player {max-width:100%; margin:0 auto;}
  .rates-two-col {grid-template-columns:1fr !important;}
}
.eb-footer__feature-stack {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}
.eb-footer__feature-word {
  font-family: var(--font-display);
  font-size: clamp(1.05rem, 4vw, 1.25rem);
  letter-spacing: 0.08em;
  color: var(--white-dim);
  text-decoration: none;
  line-height: 1;
  transition: color 0.2s, letter-spacing 0.2s;
}
.eb-footer__feature-word:hover {
  color: var(--olive-light);
  letter-spacing: 0.18em;
}