/* The concierge shares Mobile Tee's typography and palette. */
.concierge-launcher{position:fixed;z-index:40;right:max(28px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:12px;min-height:56px;padding:12px 23px 12px 18px;border:1px solid var(--gold);border-radius:40px;background:var(--green);color:var(--ivory);font:500 14px/1.5 var(--sans);box-shadow:0 6px 26px #102a222b;transition:background .2s,transform .2s}
.concierge-launcher:hover{background:var(--deep);transform:translateY(-2px)}
.concierge-launcher svg{width:26px;height:26px;color:var(--gold)}
.concierge-launcher[hidden],.concierge [hidden]{display:none!important}
.concierge{position:fixed;z-index:41;inset:auto max(28px,env(safe-area-inset-right)) max(94px,calc(env(safe-area-inset-bottom) + 70px)) auto;width:400px;max-width:calc(100vw - 32px);max-height:min(700px,calc(100dvh - 120px));margin:0;padding:0;border:1px solid var(--line);border-radius:16px;background:var(--ivory);color:var(--ink);box-shadow:0 18px 65px #102a223b;overflow:hidden;font:400 15px/1.65 var(--sans)}
.concierge[open]{display:flex;flex-direction:column;animation:concierge-in .2s ease-out}
.concierge-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:23px 26px;background:var(--green);color:var(--ivory);border-bottom:1px solid var(--gold);flex-shrink:0}
.concierge-header .eyebrow{font-size:10px;letter-spacing:.17em;color:var(--gold)}
.concierge-header h2{font-size:35px;line-height:1.1;letter-spacing:-.025em;margin-top:5px}
.concierge-close{width:44px;height:44px;border:1px solid #f2efe54d;border-radius:50%;background:transparent;color:var(--ivory);font:300 27px/1 var(--sans);flex-shrink:0}
.concierge-close:hover{background:#ffffff12}
.concierge-body{padding:25px 26px;overflow-y:auto;overscroll-behavior:contain;min-height:0;scrollbar-width:thin;scrollbar-color:var(--gold) transparent;scroll-padding:18px}
.concierge-welcome{font-size:15px;line-height:1.8;margin-bottom:22px}
.concierge-options{display:flex;flex-direction:column;gap:9px}
.concierge-options button,.concierge-primary{display:flex;width:100%;align-items:center;justify-content:space-between;gap:15px;padding:12px 15px;min-height:48px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--green);text-align:left;font:500 14px/1.55 var(--sans);transition:background .2s,border-color .2s}
.concierge-options button:hover{background:#e7e7db;border-color:var(--gold)}
.concierge-options button>span,.concierge-primary>span{font-size:20px;flex-shrink:0}
.concierge .concierge-primary{background:var(--green);color:var(--ivory);border-color:var(--green);margin-top:14px}
.concierge .concierge-primary:hover{background:var(--deep)}
.concierge .concierge-primary:disabled{opacity:.7;cursor:wait}
.concierge-back{display:block;min-height:44px;margin:-10px 0 14px;padding:8px 0;background:transparent;color:var(--muted);font-size:13px}
.concierge-back:hover{color:var(--green)}
.concierge h3{font-size:34px;line-height:1.08;margin-bottom:18px;letter-spacing:-.025em}
.concierge section>p+ p{margin-top:16px}
.concierge section>.eyebrow{font-size:10px;letter-spacing:.14em;margin-bottom:10px;color:var(--muted)}
.concierge section>p{font-size:14px;line-height:1.8}
.concierge-packages{margin:22px 0 13px;border-top:1px solid var(--line)}
.concierge-packages button{display:block;width:100%;padding:17px 0;text-align:left;background:transparent;border-bottom:1px solid var(--line);color:var(--green)}
.concierge-packages button:hover strong{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.concierge-packages strong{font:500 25px/1.2 var(--serif)}
.concierge-packages small{display:block;font-size:12px;color:var(--muted);line-height:1.6;margin:6px 0}
.concierge-packages button>span:last-child{display:flex;align-items:center;justify-content:space-between;font-size:13px}
.concierge-packages i{font-size:20px;font-style:normal}
.concierge-link{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:44px;padding:10px 0;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--green);font:500 13px/1.5 var(--sans);text-align:left}
.concierge-link:hover{border-color:var(--green)}
.concierge-dimensions{padding:19px;margin-bottom:20px;border:1px solid var(--line);border-radius:8px;text-align:center;background:#e7e7db}
.concierge-dimensions strong{display:block;font:400 43px/1.1 var(--serif);letter-spacing:-.03em}
.concierge-dimensions span{font-size:10px;letter-spacing:.14em}.concierge-dimensions p{font-size:13px;color:var(--muted);margin-top:8px}
.concierge-prices{margin:0 0 22px;font-size:13px}.concierge-prices>div{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid var(--line)}.concierge-prices dd{margin:0;white-space:nowrap;font-weight:500}
.concierge-form{position:relative}.concierge-fields{display:flex;flex-direction:column;gap:16px;margin:21px 0}
.concierge-fields label{display:block;font-size:13px;font-weight:500}.concierge-fields label>span{color:var(--muted);font-weight:400}
.concierge-fields input,.concierge-fields textarea{display:block;width:100%;min-width:0;max-width:100%;min-height:47px;margin-top:6px;padding:10px 12px;border:1px solid #a6b0a2;border-radius:6px;background:#faf8f0;color:var(--green);font:400 16px/1.5 var(--sans);color-scheme:light}
.concierge-fields textarea{resize:vertical;min-height:100px}.concierge-fields textarea::placeholder{color:var(--muted);font-size:14px}
.concierge-fields input[type=date]{appearance:none;-webkit-appearance:none;display:block;min-height:47px}.concierge-fields input::-webkit-date-and-time-value{text-align:left}
.concierge-fields :focus-visible{outline:2px solid var(--gold);outline-offset:3px}.concierge-fields [aria-invalid=true]{border-color:#994a35}
.concierge .concierge-note{font-size:12px;line-height:1.75;color:var(--muted)}.concierge-form>.concierge-note:last-child{margin-top:16px}.concierge-note a{text-decoration:underline;text-underline-offset:3px}
.concierge-error{padding:12px 14px;margin:16px 0;border:1px solid #994a35;border-radius:6px;background:#f6e7df;color:#743922;font-size:14px;line-height:1.6}
.concierge-success>p{margin:16px 0}.concierge-success .eyebrow{font-size:10px;letter-spacing:.13em}.concierge-success h3{font-size:31px}.concierge-success .concierge-link{margin-top:20px;width:100%}
.concierge-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 26px;border-top:1px solid var(--line);flex-shrink:0;color:var(--muted)}.concierge-footer>span{font-size:9px;letter-spacing:.13em}.concierge-footer a{display:flex;align-items:center;gap:10px;min-height:36px;font-size:11px}
.concierge :is(button,a):focus-visible{outline-offset:3px}.concierge h3:focus{outline:none}
@keyframes concierge-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.concierge-launcher{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));min-height:52px;padding:10px 19px 10px 15px}.concierge-launcher[aria-expanded=true]{visibility:hidden}.concierge{inset:auto 12px max(12px,env(safe-area-inset-bottom)) auto;width:calc(100vw - 24px);max-width:none;max-height:calc(100dvh - 24px - env(safe-area-inset-bottom));border-radius:14px}.concierge-header{padding:18px 22px}.concierge-body{padding:22px}.concierge-footer{padding:7px 22px}.concierge-prices>div{gap:12px}}
@media(prefers-reduced-motion:reduce){.concierge[open]{animation:none}.concierge-launcher{transition:none}}
@media print{.concierge,.concierge-launcher{display:none!important}}
