.ch-button {display:inline-flex;justify-content:center;align-items:center;gap:.6rem;min-height:44px;padding:.7rem 1.25rem;border:1px solid transparent;border-radius:var(--ch-radius-sm);font-size:.8rem;font-weight:600;text-transform:uppercase;line-height:1.35;text-decoration:none;cursor:pointer;transition:background var(--ch-transition),border-color var(--ch-transition);background:var(--ch-color-bordeaux);color:white}
.ch-button:hover {background:#65051a;color:white}
.ch-button--gold {background:var(--ch-color-gold);color:var(--ch-color-on-gold);border-color:#c9a250}
.ch-button--gold:hover {background:#d0aa60;color:var(--ch-color-on-gold)}
.ch-button--outline {background:transparent;border-color:var(--ch-color-bordeaux);color:var(--ch-color-bordeaux)}
.ch-button--outline:hover {background:var(--ch-color-bordeaux);color:white}
.ch-dark .ch-button--outline {border-color:var(--ch-color-gold);color:var(--ch-color-gold)}
.ch-button--orange {background:var(--ch-color-orange);color:white}.ch-button--orange:hover{background:#934400}
.ch-button--violet {background:var(--ch-color-violet);color:white}.ch-button--violet:hover{background:#651b63}
.ch-button:disabled,.ch-button[aria-disabled=true] {opacity:.65;cursor:not-allowed}
.ch-actions {display:flex;flex-wrap:wrap;gap:1rem}
.ch-filter[aria-pressed=true],.ch-filter.is-active {background:var(--ch-color-bordeaux);color:white}
.ch-card {background:var(--ch-color-white);border:1px solid var(--ch-color-border);border-radius:var(--ch-radius-md);box-shadow:var(--ch-shadow-sm);overflow:hidden;min-width:0}
.ch-card__image {display:block;width:100%;aspect-ratio:1.7;object-fit:cover}
.ch-card__body {padding:var(--ch-space-6)}
.ch-card--room .ch-card__image {aspect-ratio:1.2}
.ch-card--service {position:relative;background:var(--ch-color-black);color:white}
.ch-card--service .ch-card__image {aspect-ratio:1}
.ch-card--service .ch-card__body {position:relative;margin-top:-4rem;background:linear-gradient(transparent,var(--ch-color-black) 4rem);padding-top:4rem}
.ch-card--service .ch-meta {color:#ddd}
.ch-card--testimonial .ch-card__body {padding:1.5rem}
.ch-card--testimonial blockquote {margin:0 0 1rem}
.ch-card--gallery .ch-card__image {aspect-ratio:1.5}
.ch-card--gallery {box-shadow:none}
.ch-badge {display:inline-block;padding:.35rem .7rem;border-radius:var(--ch-radius-sm);background:var(--ch-color-bordeaux);color:white;font-size:.8rem}
.ch-field {display:grid;gap:.4rem;margin-bottom:1rem}
.ch-field label {font-size:.875rem}
.ch-field input:not([type=checkbox]):not([type=radio]),.ch-field select,.ch-field textarea {width:100%;min-height:44px;padding:.7rem .9rem;border:1px solid #8d8986;border-radius:var(--ch-radius-sm);background:var(--ch-color-white);color:var(--ch-color-text)}
.ch-field textarea {min-height:144px;resize:vertical}
.ch-field input:focus,.ch-field select:focus,.ch-field textarea:focus {border-color:var(--ch-color-bordeaux)}
.ch-field [type=checkbox],.ch-field [type=radio] {width:1.15rem;height:1.15rem;accent-color:var(--ch-color-bordeaux);vertical-align:middle}
.ch-field [aria-invalid=true] {border-color:var(--ch-color-bordeaux);outline:2px solid var(--ch-color-bordeaux)}
.ch-message--error {border-inline-start:3px solid var(--ch-color-bordeaux);padding:.7rem;color:var(--ch-color-bordeaux)}
.ch-message--success {border-inline-start:3px solid #25603c;padding:.7rem;color:#25603c}
.ch-hero,.ch-section--image,.ch-cta {position:relative;isolation:isolate;background:var(--ch-color-black);color:white;overflow:hidden}
.ch-hero {padding-block:clamp(3rem,6vw,6rem)}
.ch-hero__image {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.ch-hero::before,.ch-cta::before {content:"";position:absolute;inset:0;z-index:-1;background:var(--ch-overlay)}
.ch-hero--left::before {background:linear-gradient(90deg,rgba(0,0,0,.85),rgba(0,0,0,.35))}
.ch-hero--center {text-align:center}
.ch-hero__copy {max-width:46rem}.ch-hero--center .ch-hero__copy {margin-inline:auto}
.ch-hero .ch-accent {color:var(--ch-color-gold)}
.ch-hero__subtitle {font-family:var(--ch-font-heading);font-size:1.5rem}
.ch-hero .ch-actions {margin-top:1.5rem}
.ch-hero--center .ch-actions {justify-content:center}
.ch-breadcrumb ol {display:flex;flex-wrap:wrap;gap:.7rem;list-style:none;padding:0;margin:1.5rem 0 0;font-size:.85rem}
.ch-breadcrumb li+li::before {content:"›";color:var(--ch-color-gold);margin-right:.7rem}
.ch-breadcrumb a {color:inherit;text-decoration:none}
.ch-hero--center .ch-breadcrumb ol {justify-content:center}
.ch-cta {padding-block:2rem;text-align:center}.ch-cta::before {background:var(--ch-overlay-bordeaux)}
.ch-cta .ch-actions {justify-content:center;margin-top:1.5rem}
.ch-cta h2 {font-size:clamp(1.5rem,2.5vw,2.2rem)}

