/* A compact, quiet concierge surface, shared by the Prestige website and app. */
.prestige-concierge { display:contents; --pc-height:100dvh; --pc-width:100vw; --pc-top:0px; --pc-left:0px; --pc-dock:0px; --pc-ink:#171916; --pc-muted:#686c65; --pc-line:#dfdfd8; color:var(--pc-ink); font-family:Manrope,Arial,sans-serif; font-size:13px; line-height:1.55; }
.prestige-concierge *, .prestige-concierge *::before, .prestige-concierge *::after { box-sizing:border-box; }
.prestige-concierge [hidden], html.pc-enhanced .concierge-fab { display:none!important; }
.prestige-concierge :is(button,input,select,a) { font:inherit; -webkit-tap-highlight-color:transparent; }
.prestige-concierge button { cursor:pointer; }
.prestige-concierge :is(button,input,select,a):focus-visible { outline:3px solid #9e8b65; outline-offset:3px; }
.prestige-concierge :is(h2,p) { margin:0; max-width:none; }
.prestige-concierge a { text-decoration:none; }
.pc-launcher { position:fixed; z-index:48; top:calc(var(--pc-top) + var(--pc-height) - var(--pc-dock) - 20px); right:max(24px,env(safe-area-inset-right,0px)); transform:translateY(-100%); display:inline-flex; align-items:center; gap:10px; min-height:54px; padding:7px 19px 7px 8px; border:1px solid #c5b694; border-radius:11px; background:#171916; color:#fffefa; box-shadow:0 8px 32px #11150d29; font-size:12px!important; font-weight:600!important; letter-spacing:.015em; transition:background .18s ease,box-shadow .18s ease; }
.pc-launcher:hover { background:#30332d; box-shadow:0 10px 36px #11150d38; }
.pc-launcher-mark { width:36px; height:36px; display:grid; place-items:center; border:1px solid #c4b48b55; border-radius:7px; background:#ffffff05; color:#d9c7a1; font:italic 27px/1 'Cormorant Garamond',Georgia,serif; }
.pc-dialog { position:fixed; inset:auto 24px auto auto; top:calc(var(--pc-top) + var(--pc-height) - 20px); transform:translateY(-100%); width:min(450px,calc(var(--pc-width) - 32px)); height:min(790px,calc(var(--pc-height) - 40px)); max-width:none; max-height:calc(var(--pc-height) - 40px); padding:0; margin:0; overflow:hidden; border:1px solid #bdb7a8; border-radius:14px; background:#fffefa; color:var(--pc-ink); box-shadow:0 25px 100px #080b0752; font-family:Manrope,Arial,sans-serif; font-size:13px; }
.pc-dialog[open] { display:flex; flex-direction:column; animation:pc-reveal .18s ease-out; }
.pc-dialog::backdrop { background:#11150d66; backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); }
.pc-header { flex:0 0 auto; padding:11px 24px 23px; background:#171916; color:#fffefa; border-bottom:1px solid #ffffff12; }
.pc-topline { display:flex; align-items:center; gap:9px; }
.pc-brand { font-size:10px; font-weight:600; letter-spacing:.23em; }
.pc-badge { margin-right:auto; border:1px solid #c6b99145; border-radius:4px; color:#d3c8b1; font-size:8px; letter-spacing:.06em; padding:3px 6px; white-space:nowrap; }
.pc-language,.pc-close { flex:0 0 auto; display:grid; place-items:center; min-width:44px; min-height:44px; padding:4px; border:0; border-radius:7px; color:#fffefa; background:transparent; }
.pc-language { font-size:11px!important; }
.pc-close { margin-right:-10px; }
.pc-close span { font:28px/1 Arial,sans-serif; }
.pc-language:hover,.pc-close:hover { background:#ffffff12; }
.prestige-concierge .pc-title { margin-top:7px; max-width:320px; font:400 39px/.98 'Cormorant Garamond',Georgia,serif; letter-spacing:-.02em; text-wrap:balance; color:#fffefa; }
.pc-title:focus { outline:none; }
.prestige-concierge .pc-subtitle { margin-top:13px; font-size:11px; line-height:1.6; color:#c6c8be; }
.pc-scroll { flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#c7c3b7 transparent; padding:21px 24px 23px; scroll-padding-block:20px; -webkit-overflow-scrolling:touch; }
.pc-photo { height:122px; position:relative; overflow:hidden; border-radius:8px; background:#292b28; }
.pc-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 55%; opacity:.84; }
.pc-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 40%,#0d110bbf); }
.pc-photo-label { position:absolute; z-index:1; left:13px; bottom:12px; right:12px; color:#fffefa; font-size:8px; letter-spacing:.1em; line-height:1.5; }
.prestige-concierge .pc-intro { margin:20px 0 16px; font:400 26px/1.1 'Cormorant Garamond',Georgia,serif; letter-spacing:-.015em; }
.pc-form { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:15px 12px; }
.pc-services { grid-column:1/-1; padding:0; margin:0 0 3px; border:0; min-width:0; }
.pc-services legend { font-size:10px; font-weight:600; margin-bottom:8px; }
.pc-choices { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px; }
.pc-choice { min-height:52px; display:flex; align-items:center; gap:9px; text-align:left; padding:10px 12px; border:1px solid var(--pc-line); border-radius:7px; background:#fffefa; color:var(--pc-ink); font-size:10px!important; font-weight:600!important; line-height:1.4; transition:background .16s ease,border-color .16s ease; }
.pc-choice-index { color:#8c826d; font-size:9px; font-weight:400; }
.pc-choice[aria-pressed=true] { border-color:#a99a79; background:#efede6; box-shadow:inset 0 0 0 .5px #a99a79; }
.pc-choice:hover { border-color:#a99a79; background:#f4f2ec; }
.pc-field { min-width:0; }
.pc-wide { grid-column:1/-1; }
.pc-field label { display:block; margin-bottom:6px; font-size:10px; font-weight:600; color:#42483e; line-height:1.5; }
.pc-field input,.pc-field select { display:block; width:100%; min-width:0; min-height:47px; padding:10px 11px; background:#fff; color:var(--pc-ink); border:1px solid #d7d9d0; border-radius:6px; font-size:14px; box-shadow:none; }
.pc-field input::placeholder { color:#7a8075; opacity:1; }
.pc-field :is(input,select)[aria-invalid=true] { border-color:#9c4535; }
.prestige-concierge .pc-error { grid-column:1/-1; background:#f8eae5; border-left:2px solid #9c4535; padding:10px 12px; font-size:11px; color:#8a3427; line-height:1.6; }
.pc-submit { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:50px; padding:13px 17px; margin-top:3px; background:#171916; color:#fffefa; border:1px solid #171916; border-radius:7px; font-size:11px!important; font-weight:600!important; text-align:left; }
.pc-submit:hover { background:#30332d; }
.pc-submit>span:last-child { font:21px/1 Arial,sans-serif; }
.prestige-concierge .pc-status { grid-column:1/-1; color:#666e60; font-size:10px; line-height:1.75; }
.pc-footer { flex:0 0 auto; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 24px max(16px,env(safe-area-inset-bottom,0px)); border-top:1px solid var(--pc-line); background:#f3f2ec; }
.pc-footer>span { font-size:10px; color:#686c65; }
.pc-call { display:inline-flex; align-items:center; min-height:44px; flex:0 0 auto; font-size:11px!important; font-weight:600!important; color:#292f25; border-bottom:1px solid #ac9b77; }
.pc-call:hover { color:#74613e; }
.pc-tabs { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:4px; margin:0 0 20px; padding:4px; border:1px solid #deded6; border-radius:999px; background:#efeee8; }
.pc-tab { min-height:44px; min-width:0; padding:9px 10px; border:1px solid transparent; border-radius:999px; background:transparent; color:#65685f; font-size:11px!important; font-weight:600!important; line-height:1.4; }
.pc-tab[aria-selected=true] { background:#fffefa; color:#292c24; border-color:#d5d1c4; box-shadow:0 2px 7px #1719160b; }
.pc-tab:hover { color:#171916; }
.prestige-concierge .pc-help-intro { margin:3px 0 9px; font:400 30px/1.08 'Cormorant Garamond',Georgia,serif; letter-spacing:-.02em; }
.prestige-concierge .pc-help-detail { color:#686c65; font-size:11px; line-height:1.75; margin-bottom:18px; }
.pc-help-list { display:grid; gap:10px; }
.pc-help-card { border:1px solid #deded6; border-radius:15px; overflow:hidden; background:#fffefa; }
.pc-help-question { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:62px; padding:15px; border:0; background:transparent; color:#282d23; text-align:left; font-size:12px!important; font-weight:600!important; line-height:1.6; }
.pc-help-question:hover,.pc-help-question[aria-expanded=true] { background:#f2f0e9; }
.pc-help-glyph { display:grid; place-items:center; flex:0 0 26px; width:26px; height:26px; border:1px solid #c6bea9; border-radius:50%; color:#817050; font-size:19px; font-weight:400; line-height:1; transition:transform .15s ease; }
.pc-help-question[aria-expanded=true] .pc-help-glyph { transform:rotate(45deg); }
.pc-help-answer { padding:4px 15px 15px; background:#f2f0e9; }
.prestige-concierge .pc-help-answer p { color:#5d6456; font-size:11px; line-height:1.85; }
.pc-help-action { display:inline-flex; align-items:center; justify-content:center; gap:8px; margin-top:15px; min-height:44px; max-width:100%; padding:10px 15px; border:1px solid #c4b795; border-radius:999px; background:#fffefa; color:#2c3325; font-size:10px!important; font-weight:600!important; line-height:1.5; text-align:left; }
.pc-help-action:hover { background:#e8e2d5; }
.prestige-concierge .pc-status { margin-top:18px; padding-top:15px; border-top:1px solid var(--pc-line); }
.prestige-concierge :is(.pc-launcher,.pc-launcher-mark,.pc-language,.pc-close,.pc-choice,.pc-submit,.pc-call) { border-radius:999px; }
.prestige-concierge .pc-call { border:1px solid #c4b795; padding:8px 13px; background:#fffefa; justify-content:center; }
@keyframes pc-reveal { from { opacity:0; } to { opacity:1; } }
@media(max-width:600px) {
  .pc-launcher { right:max(16px,env(safe-area-inset-right,0px)); top:calc(var(--pc-top) + var(--pc-height) - var(--pc-dock) - max(12px,env(safe-area-inset-bottom,0px))); min-height:50px; padding:6px 15px 6px 7px; gap:8px; font-size:11px!important; }
  .pc-launcher-mark { width:33px; height:33px; font-size:26px; }
  .pc-dialog { left:calc(var(--pc-left) + 8px); right:auto; top:calc(var(--pc-top) + 8px); width:calc(var(--pc-width) - 16px); height:calc(var(--pc-height) - 16px); max-height:calc(var(--pc-height) - 16px); transform:none; border-radius:12px; }
  .pc-header { padding:8px 20px 19px; }
  .pc-brand { font-size:9px; letter-spacing:.2em; }
  .pc-badge { font-size:7px; padding:3px 5px; letter-spacing:.015em; }
  .pc-topline { gap:6px; }
  .prestige-concierge .pc-title { font-size:36px; }
  .prestige-concierge .pc-subtitle { font-size:10px; margin-top:10px; }
  .pc-scroll { padding:18px 20px 22px; }
  .pc-photo { height:105px; }
  .pc-field input,.pc-field select { font-size:16px; min-height:49px; }
  .pc-footer { padding:10px 20px max(10px,env(safe-area-inset-bottom,0px)); }
}
@media(max-width:350px) { .pc-header,.pc-scroll { padding-left:15px; padding-right:15px; } .pc-footer { padding-left:15px; padding-right:15px; } .pc-badge { font-size:6px; } .pc-brand { letter-spacing:.15em; } .pc-choice { padding:10px 8px; gap:6px; } .pc-footer>span { max-width:130px; } }
@media(prefers-reduced-motion:reduce) { .prestige-concierge *, .prestige-concierge *::before, .prestige-concierge *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
