.concierge-page-shell{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:clamp(2rem,5vw,5rem);padding-top:9.5rem;padding-bottom:5rem;align-items:start}
.concierge-welcome{position:sticky;top:8.5rem;height:620px;isolation:isolate;overflow:hidden;background:var(--lizard);color:var(--powder);margin-top:.5rem}
.concierge-welcome>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center;z-index:-2}
.concierge-welcome:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,25,36,.7),rgba(9,25,36,.08) 47%,rgba(9,25,36,.94));z-index:-1}
.concierge-welcome-copy{padding:clamp(1.75rem,3vw,3rem)}
.concierge-welcome h1{font-family:var(--display);font-weight:400;font-size:clamp(2.35rem,3.7vw,3.65rem);line-height:1.13;letter-spacing:-.035em;margin:1.3rem 0}
.concierge-welcome-copy>p:last-child{font-size:1rem;line-height:1.75;max-width:26rem}
[data-dream-image]{transition:opacity .18s ease}
.concierge-direct{position:relative;padding:clamp(1.5rem,3vw,2.5rem);width:100%;background:#16324A;color:#F6F3EC}
.concierge-direct>p{font-family:var(--display);font-size:1.25rem;margin:0 0 1rem}
.concierge-direct>a{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:1rem;font-weight:500;line-height:1.6;text-decoration:underline;text-underline-offset:.2em;border-bottom:1px solid #ffffff38;padding:.85rem 0;min-height:48px;color:#F6F3EC;overflow-wrap:anywhere}
.concierge-direct>a:hover{color:#fff}.concierge-direct>a:focus-visible{outline:2px solid #D9A441;outline-offset:4px}.concierge-direct>a>span{color:var(--gold);font-variant-emoji:text;flex-shrink:0}
.concierge-direct small{display:block;font-size:.875rem;letter-spacing:.02em;margin-top:1.5rem;color:#e0e4e6}
.concierge-form-panel{padding-top:.5rem;min-width:0}.concierge-form-panel h1,.concierge-form-panel h2{font-family:var(--display);font-weight:400;font-size:clamp(2rem,3.4vw,3rem);letter-spacing:-.035em;line-height:1.15;margin:.75rem 0 1rem;color:var(--lizard)}
.concierge-form-panel [data-form-intro]>p:last-child{max-width:39rem;line-height:1.65;color:var(--lizard-soft);margin:0 0 1.5rem}
#concierge-enquiry fieldset{border:0;padding:0;margin:0 0 2.75rem;min-width:0}
#concierge-enquiry fieldset:last-of-type{margin-bottom:2.25rem}
#concierge-enquiry legend{font-family:var(--display);font-weight:400;font-size:1.35rem;letter-spacing:-.015em;color:var(--lizard);margin:0 0 1.25rem;padding:0;line-height:1.35}
#concierge-enquiry legend>span{display:block;font-family:var(--body);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--cedar);margin-bottom:.6rem}
.concierge-fields{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1rem}.concierge-fields .full-width{grid-column:1/-1}
.concierge-fields>label,.concierge-notes{display:block;font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--lizard-soft);margin-bottom:.15rem}
#concierge-enquiry input:not([type=radio]):not([type=hidden]),#concierge-enquiry select,#concierge-enquiry textarea{display:block;width:100%;border:1px solid #16324a30;border-radius:6px;background:#fff;color:var(--lizard);font:400 1rem/1.5 var(--body);padding:.95rem 1rem;min-height:54px;margin-top:.5rem;transition:border-color .2s ease,box-shadow .2s ease;text-transform:none;letter-spacing:0;font-weight:400}
#concierge-enquiry input:not([type=radio]):not([type=hidden]):hover,#concierge-enquiry select:hover,#concierge-enquiry textarea:hover{border-color:#16324a55}
#concierge-enquiry select{margin:0;cursor:pointer}
#concierge-enquiry textarea{resize:vertical;min-height:120px;line-height:1.65}
#concierge-enquiry input:focus-visible,#concierge-enquiry select:focus-visible,#concierge-enquiry textarea:focus-visible{outline:none;border-color:var(--pine);box-shadow:0 0 0 3px rgba(30,61,47,.14)}
#dream-step .concierge-question{border:0;padding:0;margin:0;min-width:0}
#dream-step legend{font-family:var(--display);font-weight:400;font-size:clamp(1.65rem,2.8vw,2.1rem);letter-spacing:-.02em;line-height:1.25;color:var(--lizard);margin:0;padding:0}
#dream-step legend>span{display:block;font-family:var(--body);font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--cedar);margin-bottom:.85rem}
.concierge-experiences{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1.75rem}
.concierge-choice{position:relative;display:block;padding:1.3rem 1.2rem 1.3rem 3.1rem;border:1px solid var(--line);border-radius:8px;cursor:pointer;background:#fff;transition:border-color .22s ease,box-shadow .22s ease,background .22s ease}
.concierge-choice:hover{border-color:var(--pine);box-shadow:0 4px 20px rgba(30,61,47,.09)}
.concierge-choice:has(input:checked){border-color:var(--pine);background:#f4f8f3;box-shadow:inset 0 0 0 1px var(--pine),0 4px 20px rgba(30,61,47,.08)}
.concierge-choice input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.concierge-choice>span::before{content:"";position:absolute;left:1.2rem;top:1.45rem;width:1.15rem;height:1.15rem;border:1.5px solid #16324a55;border-radius:50%;background:#fff;transition:border-color .2s ease,background .2s ease}
.concierge-choice:hover>span::before{border-color:var(--pine)}

.concierge-choice:has(input:checked)>span::before{border-color:var(--pine);background:radial-gradient(circle at center,var(--pine) 0 32%,#fff 32% 100%)}

.concierge-choice:focus-within{outline:2px solid var(--gold);outline-offset:3px}
.concierge-choice strong{display:block;font-size:1rem;font-weight:600;color:var(--lizard);line-height:1.35;letter-spacing:-.01em}.concierge-choice small{display:block;font-size:.875rem;line-height:1.6;margin-top:.35rem;color:var(--lizard-soft);max-width:24rem}
.concierge-context{position:relative;font-size:.875rem;line-height:1.65;color:var(--lizard-soft);margin:1.4rem 0 0;padding-left:1.6rem;max-width:38rem}
.concierge-context::before{content:"";position:absolute;left:0;top:.35rem;width:.9rem;height:.9rem;border:1.5px solid var(--cedar);border-radius:50%}
.concierge-context::after{content:"";position:absolute;left:.31rem;top:.66rem;width:.28rem;height:.28rem;border-radius:50%;background:var(--cedar)}.concierge-timing{display:grid;gap:.6rem}
.concierge-timing label{position:relative;display:flex;align-items:center;gap:.9rem;padding:1rem 1.1rem 1rem 3rem;min-height:56px;cursor:pointer;font-size:.95rem;color:var(--lizard);border:1px solid var(--line);border-radius:8px;background:#fff;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.concierge-timing label:hover{border-color:var(--pine)}
.concierge-timing label:has(input:checked){border-color:var(--pine);background:#f4f8f3;box-shadow:inset 0 0 0 1px var(--pine)}
.concierge-timing input{position:absolute;opacity:0;pointer-events:none}
.concierge-timing label::before{content:"";position:absolute;left:1.1rem;top:50%;transform:translateY(-50%);width:1.1rem;height:1.1rem;border:1.5px solid #16324a55;border-radius:50%;background:#fff;transition:border-color .2s ease}
.concierge-timing label::after{content:"";position:absolute;left:1.1rem;top:50%;transform:translateY(-50%) scale(0);width:1.1rem;height:1.1rem;border-radius:50%;background:var(--pine);transition:transform .22s cubic-bezier(.34,1.4,.64,1)}
.concierge-timing label:has(input:checked)::before{border-color:var(--pine);box-shadow:inset 0 0 0 2.5px #fff}
.concierge-timing label:has(input:checked)::after{transform:translateY(-50%) scale(.55)}
.concierge-notes{display:block;margin:0 0 2rem}.concierge-notes>span{font-weight:400;color:var(--lizard-soft);font-size:.78rem;margin-left:.5rem;letter-spacing:.02em;text-transform:none}
.concierge-privacy{font-size:.85rem;line-height:1.7;color:var(--lizard-soft);margin:0 0 1.75rem;max-width:38rem}.concierge-privacy a{text-underline-offset:3px;text-decoration:underline}
.concierge-submit{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.9rem;cursor:pointer;border:0;border-radius:6px;min-height:62px;padding:1rem 2rem;font:600 1rem var(--body);letter-spacing:.01em;box-shadow:0 6px 24px rgba(217,164,65,.28);transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}
.concierge-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 32px rgba(217,164,65,.36)}
.concierge-submit:active:not(:disabled){transform:translateY(0)}
.concierge-submit:disabled{opacity:.65;cursor:wait;box-shadow:none}
.concierge-submit>span:last-child{font-size:1.35rem;line-height:1;transition:transform .2s ease}
.concierge-submit:hover:not(:disabled)>span:last-child{transform:translateX(4px)}
@media(min-width:701px){.concierge-submit{width:auto;min-width:20rem}}
.concierge-footnote{font-size:.875rem;line-height:1.65;color:var(--lizard-soft);text-align:left;margin:1.25rem 0 0;max-width:36rem}.concierge-error{padding:1rem;border-left:3px solid var(--signal);background:#b33a2b0b;color:#8d2b20;font-size:.875rem;line-height:1.6}
.concierge-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.concierge-success{padding:3rem 0}.concierge-success p{line-height:1.8}.concierge-success .text-link{margin-top:2rem}
.page-concierge-enquiry [hidden]{display:none!important}
@media(max-width:1000px){.concierge-page-shell{gap:2rem;grid-template-columns:minmax(0,1fr)}.concierge-welcome{position:relative;top:auto;height:340px;max-width:100%}.concierge-welcome>img{object-position:50% 60%}.concierge-direct{padding:1.75rem;max-width:420px}}
@media(max-width:700px){.concierge-page-shell{width:calc(100% - 2.5rem);padding-top:8rem;padding-bottom:3rem}.concierge-form-panel{padding:0}.concierge-form-panel h1{font-size:2.15rem;max-width:17ch;margin:.6rem 0 .9rem}.concierge-form-panel [data-form-intro]>p:last-child{font-size:1rem;margin-bottom:2rem}.concierge-form-panel .kicker{font-size:.875rem}.concierge-experiences{grid-template-columns:1fr 1fr;gap:.7rem}.concierge-choice{padding:1.1rem .9rem 1.1rem 2.7rem;border-radius:6px}.concierge-choice>span::before{left:.9rem;top:1.25rem}.concierge-choice strong{font-size:.92rem}.concierge-choice small{font-size:.82rem}.concierge-fields{grid-template-columns:1fr}.concierge-welcome{height:340px;margin:0}.concierge-direct small{font-size:.875rem}#dream-step legend{font-size:1.55rem}.concierge-continue{margin-top:2.25rem}}
@media(prefers-reduced-motion:reduce){.concierge-choice{transition:none}}

.concierge-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.concierge-arrival{border-top:1px solid var(--line);margin-top:2rem;padding-top:1.25rem;display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;color:var(--lizard-soft);font-size:.875rem}.concierge-arrival summary{cursor:pointer}.concierge-arrival address{font-style:normal;line-height:1.8;margin-top:.75rem}

.concierge-date-window{margin:-.75rem 0 2rem}.concierge-date-window .concierge-context{margin:0 0 .75rem}.concierge-fields>label{min-width:0}#concierge-enquiry input[type=date]{max-width:100%;min-width:0;box-sizing:border-box}.concierge-form-panel [tabindex="-1"]{scroll-margin-top:9rem}
@media(max-width:420px){.concierge-experiences{grid-template-columns:1fr}}

/* Keep the photograph separate from contact text at every viewport and text size. */
.concierge-welcome{height:auto;display:flex;flex-direction:column}
.concierge-welcome>img{position:relative;inset:auto;height:220px;z-index:auto;flex-shrink:0}
.concierge-welcome:after{display:none}
.concierge-welcome .concierge-direct{max-width:none}
.concierge-direct>p{color:#F6F3EC}

/* Book Now: dream step + summer handoff to the booking app */
.concierge-choice-chip{display:inline-flex;align-items:center;gap:.8rem;margin:0 0 2rem;padding:.55rem .6rem .55rem 1.15rem;background:var(--sky-mist);border:1px solid var(--line);border-radius:999px;font-size:.9rem;font-weight:600;color:var(--lizard);letter-spacing:.01em}
.concierge-choice-chip button{background:none;border:0;color:var(--cedar);font:500 .82rem var(--body);text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:.4rem .6rem;border-radius:999px;min-height:36px}
.concierge-choice-chip button:hover{color:var(--lizard);background:#ffffff88}
.concierge-continue{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.9rem;cursor:pointer;border:0;border-radius:6px;min-height:60px;margin-top:2.75rem;padding:1rem 2rem;font:600 1rem var(--body);letter-spacing:.01em;box-shadow:0 6px 24px rgba(217,164,65,.28);transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}
.concierge-continue:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 32px rgba(217,164,65,.36)}
.concierge-continue:active:not(:disabled){transform:translateY(0)}
.concierge-continue:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}
.concierge-continue>span{font-size:1.35rem;line-height:1;transition:transform .2s ease}
.concierge-continue:hover:not(:disabled)>span{transform:translateX(4px)}
@media(min-width:701px){.concierge-continue{width:auto;min-width:19rem}}
.summer-handoff-lead{font-size:1.05rem;line-height:1.65;color:var(--lizard);margin:0 0 1.5rem;max-width:38rem}

/* Minimalist quick-contact form (replaces the phone/email links) */
.concierge-quick-contact{display:grid;gap:.85rem;margin-top:1rem}
.concierge-quick-contact label{display:grid;gap:.3rem;font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--lizard-soft)}
.concierge-quick-contact input,.concierge-quick-contact textarea{font:inherit;text-transform:none;letter-spacing:normal;font-weight:400;font-size:.95rem;color:var(--lizard);background:rgba(255,255,255,.08);border:1px solid rgba(246,243,236,.25);border-radius:6px;padding:.7rem .85rem;width:100%;box-sizing:border-box;transition:border-color .2s ease,background .2s ease}
.concierge-quick-contact input::placeholder,.concierge-quick-contact textarea::placeholder{color:rgba(246,243,236,.45)}
.concierge-quick-contact input:focus,.concierge-quick-contact textarea:focus{outline:none;border-color:var(--gold);background:rgba(255,255,255,.12)}
.concierge-quick-contact textarea{resize:vertical;min-height:4.5rem}
.concierge-quick-contact .button{justify-self:start;margin-top:.25rem}
.concierge-quick-error{font-size:.85rem;color:#f0b0a0;margin:.25rem 0 0}
.concierge-quick-success{font-size:.9rem;color:var(--gold);margin:.25rem 0 0}
.concierge-direct-contact{margin-top:1.25rem;padding-top:1rem;border-top:1px solid rgba(246,243,236,.18);font-size:.85rem;color:rgba(246,243,236,.75);display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.concierge-direct-contact a{color:rgba(246,243,236,.9);text-decoration:underline;text-underline-offset:3px}
.concierge-direct-contact a:hover{color:#fff}

/* ---------- Iteration polish: transitions, entrance, form luxury ---------- */

/* Picker -> form transition: soft rise with staggered fieldsets */
@keyframes concierge-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
#concierge-enquiry.concierge-enter{animation:concierge-rise .55s cubic-bezier(.22,.9,.28,1) both}
#concierge-enquiry.concierge-enter>.concierge-choice-chip,
#concierge-enquiry.concierge-enter>fieldset,
#concierge-enquiry.concierge-enter>.concierge-date-window,
#concierge-enquiry.concierge-enter>.concierge-notes{animation:concierge-rise .6s cubic-bezier(.22,.9,.28,1) both}
#concierge-enquiry.concierge-enter>.concierge-choice-chip{animation-delay:.02s}
#concierge-enquiry.concierge-enter>fieldset:nth-of-type(2){animation-delay:.08s}
#concierge-enquiry.concierge-enter>fieldset:nth-of-type(3){animation-delay:.15s}
#concierge-enquiry.concierge-enter>fieldset:nth-of-type(4){animation-delay:.22s}
#concierge-enquiry.concierge-enter>.concierge-date-window{animation-delay:.26s}
#concierge-enquiry.concierge-enter>.concierge-notes{animation-delay:.3s}

/* Dream-step cards: a whisper of motion on select */
.concierge-choice:has(input:checked){transition:border-color .22s ease,box-shadow .25s ease,background .25s ease,transform .25s ease}

/* Form fields: warmer, softer, more generous */
#concierge-enquiry input:not([type=radio]):not([type=hidden]),
#concierge-enquiry select,
#concierge-enquiry textarea{border-radius:8px;padding:1rem 1.1rem;min-height:58px}
#concierge-enquiry input:focus-visible,
#concierge-enquiry select:focus-visible,
#concierge-enquiry textarea:focus-visible{border-color:var(--cedar);box-shadow:0 0 0 4px rgba(217,164,65,.16)}
#concierge-enquiry fieldset{margin-bottom:3rem}
#concierge-enquiry legend{margin-bottom:1.4rem}

/* Choice chip: softer, more confident */
.concierge-choice-chip{background:#fff;border-color:rgba(22,50,74,.14);box-shadow:0 2px 12px rgba(22,50,74,.07);padding:.6rem .7rem .6rem 1.25rem}

/* ---------- Quick-contact sidebar: contrast fix + integration ---------- */
.concierge-quick-contact{margin-top:1.15rem}
.concierge-quick-contact label{color:rgba(246,243,236,.66)}
.concierge-quick-contact input,.concierge-quick-contact textarea{padding:.85rem 1rem;min-height:52px;border-color:rgba(246,243,236,.22)}
.concierge-quick-contact input:focus,.concierge-quick-contact textarea:focus{border-color:var(--gold);background:rgba(255,255,255,.14);box-shadow:0 0 0 3px rgba(217,164,65,.18)}
.concierge-quick-contact .button{width:100%;justify-content:center;margin-top:.35rem;min-height:54px}
.concierge-direct-contact{font-size:.88rem}

@media(prefers-reduced-motion:reduce){
  #concierge-enquiry.concierge-enter,
  #concierge-enquiry.concierge-enter>.concierge-choice-chip,
  #concierge-enquiry.concierge-enter>fieldset,
  #concierge-enquiry.concierge-enter>.concierge-date-window,
  #concierge-enquiry.concierge-enter>.concierge-notes{animation:none}
  .concierge-choice,.concierge-continue,.concierge-submit{transition:none}
}
