/* Home career links, biography values and service positioning. */
.career-history{padding-bottom:56px}
.career-recognition{padding:28px 0 30px;background:var(--purple);color:#fff}
.career-recognition h2{font-size:clamp(1.3rem,2vw,1.65rem);line-height:1.3;letter-spacing:-.025em;color:#fff;margin:0}
.recognition-groups{display:grid;gap:10px;margin-top:18px}
.recognition-group{display:grid;grid-template-columns:122px minmax(0,1fr) 88px;align-items:center;gap:18px;min-width:0}
.recognition-group h3{font-family:var(--sans);font-size:.875rem;font-weight:400;color:#e6ddeb;line-height:1.4;letter-spacing:.02em;margin:0}
.recognition-controls{display:flex;gap:0;justify-content:flex-end}
.recognition-controls[hidden]{display:none}
.recognition-controls button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:0;background:transparent;color:#fff;font:inherit;font-size:1.25rem;cursor:pointer;transition:background .2s}
.recognition-controls button:hover:not(:disabled){background:rgba(255,255,255,.1)}
.recognition-controls button:disabled{opacity:.3;cursor:default}
.recognition-controls button:focus-visible{outline:2px solid #fff;outline-offset:0}
.recognition-group .recognition-track{list-style:none;padding:6px 4px;margin:0;display:grid;grid-auto-flow:column;grid-auto-columns:158px;gap:22px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:4px;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;cursor:grab}
.recognition-track::-webkit-scrollbar{display:none;width:0;height:0}
.recognition-track:focus-visible{outline:2px solid #fff;outline-offset:2px}
.recognition-track.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto;user-select:none}
.recognition-track.is-dragging a{cursor:grabbing}
.recognition-guides{padding-top:10px;border-top:1px solid rgba(255,255,255,.16)}
.recognition-group li{min-width:0;scroll-snap-align:start}
.recognition-group a{display:flex;align-items:center;justify-content:center;height:82px;padding:8px 10px;opacity:1;transition:opacity .2s,background .2s}
.recognition-group a:hover{opacity:1;background:rgba(255,255,255,.04)}
.recognition-group a:focus-visible{opacity:1;outline:2px solid #fff;outline-offset:1px}
.recognition-logo{display:block;width:100%;max-width:138px;height:48px;object-fit:contain;filter:brightness(0) invert(1)}
.recognition-logo-relais-chateaux{height:62px}
.recognition-logo-grandes-tables,.recognition-logo-50-best-restaurants{height:64px}
.recognition-logo-small-luxury-hotels{height:60px}
.recognition-logo-la-liste{height:29px;max-width:125px}
.recognition-logo-leading-hotels{height:138px;width:138px}
.recognition-logo-serandipians,.recognition-logo-virtuoso{height:auto}
.recognition-logo-fine-hotels-resorts{height:auto;max-width:138px}
.recognition-logo-wbp-stars{height:110px;width:110px;max-width:110px;filter:grayscale(1) brightness(1.5) contrast(2);mix-blend-mode:screen}
@media(max-width:800px){.recognition-group{grid-template-columns:100px minmax(0,1fr) 88px;gap:12px}.recognition-group .recognition-track{grid-auto-columns:145px;gap:20px}}
@media(max-width:640px){.career-history{padding-bottom:38px}.career-recognition{padding:25px 0}.recognition-groups{gap:12px;margin-top:13px}.recognition-group{grid-template-columns:minmax(0,1fr) 88px;gap:0 12px}.recognition-group h3{grid-column:1;grid-row:1}.recognition-controls{grid-column:2;grid-row:1}.recognition-group .recognition-track{grid-column:1/-1;grid-row:2;grid-auto-columns:138px;gap:22px}.recognition-group a{height:78px}.recognition-guides{padding-top:12px}}
@media(prefers-reduced-motion:reduce){.recognition-group a,.recognition-controls button{transition:none}.recognition-group .recognition-track{scroll-behavior:auto}}
.value-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:18px;color:var(--purple)}
.value-icon svg{display:block;width:44px;height:44px;stroke-width:1.5;overflow:visible}
.value-star,.value-book-cover{transform-box:view-box;transform-origin:12px 12px}
.value-star{fill:var(--accent);fill-opacity:0}
.value-check{stroke-dasharray:1;stroke-dashoffset:0}
.value-card.is-animating .value-star{animation:value-star-light .95s ease-in-out both}
.value-card.is-animating .value-check{animation:value-check-draw .5s ease-out both}
.value-card.is-animating .value-check-2{animation-delay:.25s}
.value-card.is-animating .value-book-cover{animation:value-book-open 1s ease-in-out both}
.values{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 60px}
.value-heart{transform-box:view-box;transform-origin:12px 12px}
.value-card.is-animating .value-heart{animation:value-heart-pulse 1s ease-in-out both}
@keyframes value-heart-pulse{0%,100%{transform:scale(1)}35%{transform:scale(1.08)}65%{transform:scale(1)}}
@media(max-width:640px){.values{grid-template-columns:1fr;gap:27px}}
@media(prefers-reduced-motion:reduce){.value-card.is-animating .value-heart{animation:none!important;transform:none}}
@keyframes value-star-light{0%,100%{transform:scale(1) rotate(0deg);fill-opacity:0}45%{transform:scale(1.1) rotate(6deg);fill-opacity:.3}70%{transform:scale(1.04) rotate(-2deg);fill-opacity:.12}}
@keyframes value-check-draw{0%{stroke-dashoffset:1;opacity:0}12%{opacity:1}100%{stroke-dashoffset:0;opacity:1}}
@keyframes value-book-open{0%,100%{transform:scaleX(1)}28%{transform:scaleX(.62)}70%{transform:scaleX(1.04)}}
@media(prefers-reduced-motion:reduce){.value-card.is-animating .value-star,.value-card.is-animating .value-check,.value-card.is-animating .value-book-cover{animation:none!important;transform:none;stroke-dashoffset:0;opacity:1}.value-star{fill-opacity:0}}
.trust-names a{display:inline-flex;align-items:baseline;gap:10px;flex-wrap:wrap;min-width:0;padding:6px 0;color:var(--purple)}
.trust-names a span{text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:var(--line);text-underline-offset:6px;transition:text-decoration-color .2s}
.trust-names a:hover span,.trust-names a:focus-visible span{text-decoration-color:var(--purple)}
.timeline-row h3{color:var(--purple)}
.timeline-row h3 a{text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:var(--line);text-underline-offset:5px;transition:text-decoration-color .2s}
.timeline-row h3 a:hover,.timeline-row h3 a:focus-visible{text-decoration-color:var(--purple)}
.need-row{padding-top:36px;padding-bottom:36px}
.need-row{grid-template-columns:64px minmax(0,1fr) minmax(0,1.15fr) 30px}
.need-icon{display:flex;width:48px;height:48px;align-items:center;justify-content:center;color:var(--purple)}
.need-icon svg{display:block;width:44px;height:44px;stroke-width:1.5}
.need-icon .gauge-needle{transform-box:view-box;transform-origin:12px 14px;transform:rotate(-65deg);transition:transform .55s cubic-bezier(.22,.68,.35,1)}
.need-icon .door-leaf{transform-box:view-box;transform-origin:19px 13px;transform:perspective(48px) rotateY(0deg);transition:transform .6s cubic-bezier(.22,.68,.35,1)}
.need-icon .team-member{transform-box:view-box;transform:scale(.88);transition:transform .45s cubic-bezier(.22,.68,.35,1)}
.need-icon .team-front{transform-origin:10px 21px}
.need-icon .team-back{transform-origin:20px 20px;transition-delay:.06s}
.need-row:focus-visible .gauge-needle{transform:rotate(15deg)}
.need-row:focus-visible .door-leaf{transform:perspective(48px) rotateY(-58deg)}
.need-row:focus-visible .team-front{transform:scale(1.04)}
.need-row:focus-visible .team-back{transform:scale(1.08)}
.need-row:focus-visible{outline:2px solid var(--purple);outline-offset:6px}
@media(hover:hover){.need-row:hover .gauge-needle{transform:rotate(15deg)}.need-row:hover .door-leaf{transform:perspective(48px) rotateY(-58deg)}.need-row:hover .team-front{transform:scale(1.04)}.need-row:hover .team-back{transform:scale(1.08)}}
@media(max-width:900px){.need-row{grid-template-columns:44px minmax(0,.95fr) minmax(0,1fr) 24px}.need-icon{width:38px;height:40px}.need-icon svg{width:36px;height:36px}}
@media(max-width:640px){.need-row{grid-template-columns:40px minmax(0,1fr) 22px}.need-icon{width:36px;height:36px}.need-icon svg{width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){.need-icon .gauge-needle,.need-icon .door-leaf,.need-icon .team-member{transition:none;transform:none}.need-row:hover .gauge-needle,.need-row:focus-visible .gauge-needle,.need-row:hover .door-leaf,.need-row:focus-visible .door-leaf,.need-row:hover .team-member,.need-row:focus-visible .team-member{transform:none}}
.need-row h3{font-family:var(--serif);font-size:1.9rem;font-weight:400;line-height:1.2}
.need-summary{min-width:0}
.need-summary .need-situation{color:var(--purple);font-size:.91rem;margin-top:13px}
.audience-note{font-size:.94rem;color:var(--muted);max-width:860px;padding-left:22px;border-left:2px solid var(--accent);margin-top:30px}
.service-links{display:flex;align-items:center;justify-content:space-between;gap:16px 28px;flex-wrap:wrap}
.service-links .button:last-child{font-size:.85rem;color:var(--muted)}
.service-nav a{display:inline-flex;align-items:center;gap:12px}
.service-nav a span{color:var(--muted);font-size:.75rem}
.services-audience{margin-top:0;margin-bottom:45px}
.service-title .need-intro{color:var(--muted);margin-top:23px;max-width:460px}
.service-offer{scroll-margin-top:125px}
.service-body .service-offer h3,.service-body .offers-heading{font-size:1.15rem;margin:0 0 20px;font-weight:600;letter-spacing:-.02em;line-height:1.4;color:var(--purple)}
.service-offer .deliverable{margin-bottom:19px}
.service-offer .deliverable p,.event-support .deliverable p{margin-top:7px}
.service-format{font-size:.9rem;color:var(--muted)}
.service-format strong{font-weight:600;color:var(--ink)}
.need-detail{display:block}
.need-top,.single-offer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);column-gap:64px;row-gap:28px}
.need-top{align-items:center}
.service-explanation{margin-top:34px}
.need-top>*,.offer-scope,.offer-outcome,.service-option{min-width:0}
.single-offer{align-items:start}
.single-offer .deliverable{margin-top:0}
.service-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.service-option{display:flex;flex-direction:column;border-top:1px solid var(--line);padding-top:23px}
.service-option h4{font-size:1.15rem;line-height:1.4;font-weight:600;letter-spacing:-.02em;color:var(--purple);margin:0 0 16px}
.service-option .offer-outcome{margin-top:auto;padding-top:13px}
.service-option .deliverable{margin-top:0}
.need-actions{margin-top:30px}
.button.service-cta{max-width:100%;border:1px solid var(--purple);color:var(--purple);background:transparent;text-align:left;justify-content:space-between}
.button.service-cta:hover,.button.service-cta:focus-visible{background:var(--purple);color:white}
.button.service-cta:focus-visible{outline:2px solid var(--purple);outline-offset:4px}
.button.service-cta .arrow{flex-shrink:0}
.event-support{display:grid;grid-template-columns:1fr 1.12fr;gap:70px;background:var(--wash);padding:43px 45px;margin-top:15px;scroll-margin-top:125px}
.event-support h2{font-size:clamp(2rem,3vw,3rem);margin:18px 0 21px}
.event-support>div>p:not(.eyebrow){color:var(--muted);font-size:1rem}
.event-support .event-output{font-size:.94rem;color:var(--muted);margin-top:21px}
.event-support .button{margin-top:17px}
@media(max-width:900px){.need-row h3{font-size:1.6rem}.event-support{gap:35px;padding:32px}.service-links{align-items:flex-start}}
@media(max-width:640px){.need-row{padding-top:26px;padding-bottom:26px}.need-row h3{font-size:1.65rem}.need-summary{grid-column:2;grid-row:2}.need-summary .need-situation{font-size:.88rem;margin-top:11px}.audience-note{font-size:.88rem;padding-left:17px;margin-top:25px}.services-audience{margin-top:0;margin-bottom:30px}.service-links{gap:7px;margin-top:22px;flex-direction:column}.service-title .need-intro{font-size:1rem;margin-top:19px}.event-support{grid-template-columns:1fr;gap:26px;padding:28px 24px;margin-top:5px}.event-support h2{font-size:2.45rem}}
@media(max-width:1000px){.need-top,.single-offer{column-gap:35px}.service-options{gap:30px}}
@media(max-width:760px){.need-top,.single-offer,.service-options{grid-template-columns:minmax(0,1fr);gap:26px}.service-explanation{margin-top:30px}.need-actions{margin-top:26px}}

/* Keep point 02 headings, bullet rows and result panels level across both columns. */
@supports(grid-template-rows:subgrid){
 @media(min-width:761px){
  #ameliorer .service-options{grid-template-rows:repeat(7,auto);row-gap:0}
  #ameliorer .service-option{display:grid;grid-row:span 7;grid-template-rows:subgrid}
  #ameliorer .offer-scope{display:grid;grid-row:span 4;grid-template-rows:subgrid}
  #ameliorer .offer-scope ul{display:grid;grid-row:span 3;grid-template-rows:subgrid}
  #ameliorer .offer-outcome{display:grid;grid-row:span 3;grid-template-rows:subgrid;margin-top:0}
  #ameliorer .deliverable{display:grid;grid-row:span 2;grid-template-rows:subgrid}
 }
}
