.bsconcierge { color: #112d40; font-weight: 400; }
.bsconcierge p { font-weight: 400; }
.bsconcierge .eyebrow { color: #855818; }
.bsconcierge-hero .eyebrow { color: #edcc97; }
.bsconcierge-hero .detail-hero-content { padding-bottom: 64px; }
.bsconcierge-hero-actions { margin-top: 28px; }
.bsconcierge-hero-actions a { text-decoration: none; }
.bsconcierge .bsconcierge-hero-actions .button:not(.primary) { color: #fffdf8; }
.bsconcierge-services { padding-block: 88px; }
.bsconcierge-services > h2 { max-width: 820px; }
.bsconcierge .section-title, .bsconcierge-process h2 { font-size: clamp(32px, 4.2vw, 54px); text-wrap: balance; }
.bsconcierge .section-title em, .bsconcierge-process h2 em { color: #855818; }
.bsconcierge-service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 38px; }
.bsconcierge-service-grid article { padding: 32px; border: 1px solid #d8d5ce; border-radius: 16px; background: #fffdf9; }
.bsconcierge-number { color: #855818; font-size: 12px; letter-spacing: .14em; }
.bsconcierge-service-grid h3 { margin: 14px 0; font-size: clamp(25px, 2.6vw, 32px); }
.bsconcierge-service-grid p { margin: 0; color: #3b4c56; line-height: 1.75; }
.bsconcierge-process { padding: 64px 0; background: #eee6dc; }
.bsconcierge-process h2 { max-width: 760px; }
.bsconcierge-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px; margin: 36px 0 0; padding: 0; list-style: none; counter-reset: concierge-step; }
.bsconcierge-steps li { counter-increment: concierge-step; }
.bsconcierge-steps li::before { content: '0' counter(concierge-step); color: #855818; font-size: 12px; letter-spacing: .14em; }
.bsconcierge-steps h3 { margin: 12px 0; font-size: 24px; }
.bsconcierge-steps p { margin: 0; line-height: 1.75; }
.bsconcierge-request { scroll-margin-top: 78px; outline: none; }
.bsconcierge-request .plan-heading p { max-width: 430px; }
.bsconcierge-form-hint { margin-top: 28px; color: #455964; font-size: 14px; }
.bsconcierge-enquiry-note { margin-top: 22px; padding-top: 22px; border-top: 1px solid #d3d0c9; color: #455964; font-size: 14px; }
.bsconcierge .inquiry-form { min-width: 0; align-self: start; }
.bsconcierge .inquiry-row, .bsconcierge .inquiry-form label { min-width: 0; }
.bsconcierge .inquiry-form .choice { position: relative; }
.bsconcierge .inquiry-form .choice input { position: absolute; width: 1px; height: 1px; min-height: 1px; opacity: 0; clip-path: inset(50%); }
.bsconcierge .inquiry-form .choice span { min-height: 44px; display: inline-flex; align-items: center; padding: 9px 12px; font-size: 12px; line-height: 1.4; }
.bsconcierge .inquiry-form .choice input:focus-visible + span { outline: 2px solid #fff; outline-offset: 3px; }
.bsconcierge-choice-hint { margin: 4px 0 12px; color: #d7e1e7; font-size: 12px; }
.bsconcierge-optional { border-block: 1px solid #64778c; padding: 16px 0; }
.bsconcierge-optional summary { cursor: pointer; color: #fff; font-size: 14px; font-weight: 600; }
.bsconcierge-optional summary span { color: #d7e1e7; font-weight: 400; }
.bsconcierge-optional-fields { display: grid; gap: 18px; margin-top: 18px; }
.bsconcierge .inquiry-consent { font-size: 12px !important; color: #e3e9ef; }
.bsconcierge .inquiry-consent input { min-height: 16px; }
.bsconcierge .inquiry-consent a { color: #fff; text-decoration: underline; text-underline-offset: 2px; }
.bsconcierge .inquiry-submit { margin-top: 0; }
.bsconcierge .inquiry-note { margin: 0; color: #d7e1e7; font-size: 12px; line-height: 1.65; }
.bsconcierge .inquiry-status:empty { display: none; }
.bsconcierge .inquiry-status { margin: 0; color: #fff; line-height: 1.6; }
.bsconcierge .inquiry-status.is-error { color: #ffd4c8; }
.bsconcierge .bsconcierge-followup { color: #fff; text-decoration: none; border-color: #c8a46a; }
.bsconcierge [hidden] { display: none !important; }
.flatpickr-calendar.bsconcierge-calendar { max-width: calc(100vw - 16px); background: #fffdf9; }
.bsconcierge-calendar .flatpickr-innerContainer,
.bsconcierge-calendar .flatpickr-rContainer,
.bsconcierge-calendar .flatpickr-days { width: 100%; }
.bsconcierge-calendar .dayContainer { width: 100%; min-width: 0; max-width: 100%; }
.bsconcierge-calendar .flatpickr-day { max-width: none; }
.bsconcierge-calendar .flatpickr-months,
.bsconcierge-calendar .flatpickr-month,
.bsconcierge-calendar .flatpickr-weekdays { background: #fffdf9; color: #112d40; }
.bsconcierge-calendar .flatpickr-current-month,
.bsconcierge-calendar .flatpickr-current-month input.cur-year,
.bsconcierge-calendar .flatpickr-current-month .flatpickr-monthDropdown-months,
.bsconcierge-calendar .flatpickr-current-month .flatpickr-monthDropdown-month { color: #112d40; background: #fffdf9; }
.bsconcierge-calendar .flatpickr-months .flatpickr-prev-month,
.bsconcierge-calendar .flatpickr-months .flatpickr-next-month { color: #112d40; fill: #112d40; }
.bsconcierge-calendar .flatpickr-weekday { color: #855818 !important; }
@media (max-width: 900px) {
  .bsconcierge-request.plan { gap: 32px; }
  .bsconcierge-request .plan-heading p { max-width: 680px; }
}
@media (max-width: 600px) {
  .bsconcierge-hero .detail-hero-content { padding: 76px 0 44px; }
  .bsconcierge-hero .detail-hero-content > p:not(.eyebrow) { font-size: 16px; }
  .bsconcierge-hero-actions { align-items: stretch; flex-direction: column; }
  .bsconcierge-hero-actions .button { width: 100%; }
  .bsconcierge-services { padding-block: 56px; }
  .bsconcierge .section-title, .bsconcierge-process h2 { font-size: 30px; }
  .bsconcierge-service-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 28px; }
  .bsconcierge-service-grid article { padding: 24px; }
  .bsconcierge-process { padding-block: 48px; }
  .bsconcierge-steps { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .bsconcierge-request.plan { padding-block: 56px; }
  .bsconcierge .inquiry-form { padding: 24px 18px; }
  .bsconcierge .inquiry-row { grid-template-columns: minmax(0, 1fr); gap: 18px; }
}
