@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

:root{--jf-paper-art:#F6E8CC}
.jc-journey,.jc-journey__visual,.jf-stack,.jc-fallback{background:var(--jf-paper-art)}
.jc-journey+.jc-footer,.jc-footer{border-top:1px solid var(--border-warm)}

.jf-stack{position:absolute;inset:0;transform-origin:50% 100%;will-change:transform;backface-visibility:hidden}
@media (prefers-reduced-motion:no-preference){.jf-stack{transform:translate3d(0,calc(var(--journey-progress,0) * -1.5%),0) scale(calc(1 + var(--journey-progress,0) * 0.04))}}
.jf-frame{position:absolute;inset:0;opacity:0;transition:opacity var(--duration-slow) var(--ease-organic);will-change:opacity}
.jf-frame>*{position:absolute;inset:0;width:100%;height:100%}

.jf-frame[data-art="right"]{inset:0 0 0 48%}
.jf-frame[data-art="left"]{inset:0 48% 0 0}
.jf-frame[data-art="centre"]{inset:0 22%}
.jf-still{object-fit:cover;object-position:center;transform:translateZ(0)}

.jf-frame[data-art="right"]::after,.jf-frame[data-art="left"]::after{content:"";position:absolute;inset-block:0;width:56px;pointer-events:none}
.jf-frame[data-art="right"]::after{left:0;background:linear-gradient(90deg,var(--jf-paper-art),rgba(246,232,204,0))}
.jf-frame[data-art="left"]::after{right:0;background:linear-gradient(270deg,var(--jf-paper-art),rgba(246,232,204,0))}
.jf-stack[data-active="prelude"] .jf-frame[data-chapter="prelude"],
.jf-stack[data-active="about"] .jf-frame[data-chapter="about"],
.jf-stack[data-active="lifestyle-concierge"] .jf-frame[data-chapter="lifestyle-concierge"],
.jf-stack[data-active="philanthropy"] .jf-frame[data-chapter="philanthropy"],
.jf-stack[data-active="wealth-management-advisory"] .jf-frame[data-chapter="wealth-management-advisory"],
.jf-stack[data-active="contact"] .jf-frame[data-chapter="contact"]{opacity:1}
@media (prefers-reduced-motion:reduce){.jf-frame{transition:none}}

@media (min-width:901px){
.jc-journey .jc-chapter__inner>*{max-width:min(var(--panel-max),calc(48vw - var(--gutter-desktop) - var(--space-6)))}
.jf-chapter-stack{max-width:100%}
#lifestyle-concierge .jc-chapter__inner>*,#philanthropy .jc-chapter__inner>*,#wealth-management-advisory .jc-chapter__inner>*{max-width:min(1040px,calc(64vw - var(--gutter-desktop) - var(--space-6)))}
.jf-frame[data-chapter="lifestyle-concierge"],.jf-frame[data-chapter="wealth-management-advisory"]{inset:0 66% 0 0}
.jf-frame[data-chapter="philanthropy"]{inset:0 0 0 66%}
}

.jf-stage__cards{display:grid;gap:var(--space-6)}
.jf-stage__meta{display:none}
.jf-stage__ticks{display:flex;align-items:center;gap:var(--space-2);list-style:none;margin:0;padding:0}
.jf-stage__tick{width:18px;height:1px;background:var(--border-warm-strong);transition:width var(--duration-base) var(--ease-standard),background var(--duration-base) var(--ease-standard)}
.jf-stage__tick--on{width:34px;background:var(--brass-500)}
.jf-stage--pinned{position:relative;height:calc(var(--stage-count) * 80vh)}
.jf-stage--pinned .jf-stage__sticky{position:sticky;top:calc(var(--header-height) + var(--space-4));display:grid;gap:var(--space-4)}
.jf-stage--pinned .jf-stage__cards{gap:0}
.jf-stage--pinned .jf-stage__card{grid-area:1/1;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity var(--duration-base) var(--ease-organic),transform var(--duration-base) var(--ease-organic)}
.jf-stage--pinned .jf-stage__card--in{opacity:1;transform:none;pointer-events:auto}
.jf-stage--pinned .jf-stage__meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}

@media (max-width:900px){.jf-frame[data-art]{inset:0}}

.jc-wordmark{align-items:flex-end}
.jc-wordmark__mark,.jc-wordmark__signet{align-self:flex-end}

.jc-header,.jc-header--scrolled{border-bottom-color:var(--border-warm)}
.jc-header .jc-menu-button{font-size:0;gap:0;padding-inline:var(--space-2)}
@media (min-width:900px){
:root{--header-height:64px;--header-height-compact:52px}
.jc-header__inner{display:grid;grid-template-columns:minmax(max-content,1fr) auto minmax(max-content,1fr);align-items:end;column-gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-2)}
.jc-header--compact .jc-header__inner{padding:var(--space-3) var(--space-4) var(--space-2)}

.jc-header__row>:first-child,.jc-header__services{align-self:end}
.jc-header .jc-wordmark{min-height:0}
.jc-header .jc-menu-button{align-items:flex-end;padding-block:0 6px;min-height:var(--target-min)}
.jc-header__services .jc-anchor-nav__link{padding-block:0;align-items:flex-end}
.jc-header__services .jc-anchor-nav__link::after{bottom:-4px}
.jc-header__row{display:contents}
.jc-header__row>:first-child{grid-column:1;grid-row:1;justify-self:start}
.jc-header__row>:last-child{grid-column:3;grid-row:1;justify-self:end;align-self:end}
.jc-header__services,.jc-header--compact .jc-header__services{grid-column:2;grid-row:1;margin-top:0}
.jc-header__services .jc-anchor-nav{flex-wrap:nowrap;justify-content:center;gap:var(--space-3)}
.jc-header__services .jc-anchor-nav__link{white-space:nowrap;font-size:var(--text-sm)}
}

@media (min-width:1240px){
.jc-header__inner,.jc-header--compact .jc-header__inner{padding-inline:var(--gutter-desktop)}
.jc-header__inner{column-gap:var(--space-6)}
.jc-header__services .jc-anchor-nav{gap:var(--space-6)}
}

.jf-item{opacity:0;transform:translateY(6px);transition:opacity var(--duration-base) var(--ease-organic),transform var(--duration-base) var(--ease-organic)}
.jf-item--in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.jf-item{opacity:1;transform:none;transition:none}}

.jf-chapter-stack{display:grid;gap:var(--space-8);max-width:var(--panel-max)}

.jf-page{max-width:var(--page-max);margin:0 auto;padding:0 var(--gutter-desktop) var(--section-space);display:grid;gap:var(--space-16)}
.jf-page--tight{gap:var(--space-8)}
@media (max-width:720px){.jf-page{padding:0 var(--page-padding-mobile) var(--section-space)}}

.jf-insts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-6);align-items:start;margin-top:var(--space-8)}
.jf-insts__list{grid-column:1;grid-row:1}

.jf-insts__visual{grid-column:2;grid-row:1;position:sticky;top:calc(var(--header-height) + var(--space-6));margin-right:calc(-1 * var(--space-16))}
.jf-insts__stack{display:grid;grid-template-rows:1fr;aspect-ratio:4/3;border:1px solid var(--border-warm);border-radius:var(--radius-lg);overflow:hidden;background:var(--paper-100);box-shadow:var(--shadow-paper)}
.jf-insts__slide{grid-area:1/1;height:100%;min-height:0;opacity:0;transition:opacity var(--duration-slow) var(--ease-organic)}
.jf-insts__slide--in{opacity:1}
.jf-photo{width:100%;height:100%;object-fit:cover;display:block}
.jf-photo--empty{display:grid;place-content:center;gap:var(--space-2);text-align:center;padding:var(--space-6);background:linear-gradient(180deg,var(--paper-50),var(--paper-200))}
.jf-photo__note{font-size:var(--text-sm);color:var(--content-muted)}
.jf-photo--inline{display:none}
.jf-insts__list{display:grid;gap:0}
.jf-inst{border-top:1px solid var(--border-warm);padding-block:var(--space-4)}
.jf-inst:last-child{border-bottom:1px solid var(--border-warm)}
.jf-inst__heading{margin:0}
.jf-inst__button{display:flex;width:100%;align-items:baseline;justify-content:space-between;gap:var(--space-4);min-height:var(--target-min);padding:0;background:none;border:0;cursor:pointer;color:var(--content-primary);font-family:var(--font-display);font-optical-sizing:auto;font-size:var(--text-lg);line-height:var(--leading-heading);text-align:left;transition:color var(--duration-fast) var(--ease-standard)}
.jf-inst__button:hover{color:var(--content-accent)}
.jf-inst__mark{color:var(--brass-500);opacity:0;transform:translateX(-6px);transition:opacity var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard)}
.jf-inst[data-open] .jf-inst__mark{opacity:1;transform:none}
.jf-inst__body{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--duration-base) var(--ease-organic),opacity var(--duration-base) var(--ease-organic);opacity:0}
.jf-inst[data-open] .jf-inst__body{grid-template-rows:1fr;opacity:1}
.jf-inst__bodyInner{overflow:hidden;min-height:0}
@media (min-width:901px){.jf-inst{min-height:34vh;display:grid;align-content:start}}
@media (max-width:900px){
.jf-insts{grid-template-columns:1fr;gap:var(--space-6)}
.jf-insts__visual{display:none}
.jf-photo--inline{display:block;aspect-ratio:4/3;border:1px solid var(--border-warm);border-radius:var(--radius-md);margin-bottom:var(--space-4)}
}
@media (prefers-reduced-motion:reduce){.jf-insts__slide,.jf-inst__body,.jf-inst__mark{transition:none}}

.jf-footer__contact{display:grid;gap:var(--space-1);font-size:var(--text-sm)}
