/* Scoped photographic journal. Existing pages and gallery remain untouched. */
.jf{--jf-paper:#f6f4ee;--jf-gold:#dfbd70;--jf-muted:#c4d1d0;--jf-edge:clamp(22px,3.8vw,84px);background:linear-gradient(125deg,#0b3039 0%,#173e47 65%,#204b52 100%);color:var(--jf-paper);padding:0;isolation:isolate;scroll-margin-top:0}
.jf *{box-sizing:border-box}
.home-editorial section.jf{padding:0}
.jf [hidden]{display:none!important}
.jf .jf-shell{width:auto;max-width:none;margin:0;padding-inline:var(--jf-edge)}
.jf .jf-intro{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(32px,8vw,140px);align-items:end;padding-block:clamp(48px,6vw,90px) 40px}
.jf .jf-kicker{font-family:var(--body,sans-serif);font-size:12px;line-height:1.5;letter-spacing:.17em;font-weight:650;text-transform:uppercase;color:var(--jf-gold);margin:0 0 16px}
.jf h2{font-family:var(--display,Georgia,serif);font-size:clamp(38px,4.1vw,64px);font-weight:400;line-height:1.06;letter-spacing:-.035em;color:var(--jf-paper);margin:0;max-width:760px;text-wrap:balance}
.jf h2 em,.jf h3 em{font-weight:400;color:#d9e4df}
.jf .jf-intro>p{font:400 18px/1.65 var(--body,sans-serif);color:var(--jf-muted);max-width:455px;margin:0 0 3px}
.jf .jf-stage{padding-block:16px 24px}
.jf .jf-toolbar{display:flex;align-items:center;gap:24px;padding-block:0 16px;min-height:60px}
.jf .jf-nav{display:flex;align-items:center;flex-wrap:wrap;gap:4px}
.jf .jf-nav a{display:inline-flex;gap:12px;align-items:center;justify-content:center;color:var(--jf-muted);text-decoration:none;min-width:44px;min-height:44px;border-bottom:2px solid transparent;font:400 20px/1 var(--display,Georgia,serif);transition:color .2s,border-color .2s,background .2s}
.jf .jf-nav a:hover{color:#fff;background:#ffffff09}
.jf .jf-nav a[aria-current]{border-color:var(--jf-gold);color:var(--jf-gold)}
.jf .jf-nav-name{font:400 15px/1.3 var(--body,sans-serif)}
.jf.is-ready .jf-nav-name{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.jf .jf-hint{margin-inline:auto;font:400 14px/1.3 var(--body,sans-serif);color:var(--jf-muted)}
.jf .jf-buttons{display:flex;gap:8px;align-items:center;margin-left:auto}
.jf [data-jf-counter]{font:400 13px/1 var(--body,sans-serif);letter-spacing:.04em;min-width:54px;margin-right:12px;color:var(--jf-muted)}
.jf button{display:grid;place-items:center;width:46px;height:46px;border:1px solid #afc2c17a;border-radius:0;background:transparent;color:var(--jf-paper);cursor:pointer;transition:background .2s,color .2s}
.jf button:hover:not([aria-disabled=true]){background:var(--jf-gold);color:#12353e}
.jf button[aria-disabled=true]{opacity:.4;cursor:default}
.jf button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5}
.jf a:focus-visible,.jf button:focus-visible,.jf-viewport:focus-visible{outline:2px solid var(--jf-gold);outline-offset:4px}
.jf .jf-viewport{width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--jf-gold) transparent}
.jf .jf-track{display:flex;gap:clamp(16px,2vw,32px);align-items:start;width:max-content;padding-inline:var(--jf-edge);padding-right:var(--jf-tail,var(--jf-edge))}
.jf .jf-frame{margin:0;flex:none;scroll-snap-align:center;width:calc(var(--jf-photo-height,430px) * 1.5);max-width:80vw}
.jf .jf-frame:first-child{width:calc(var(--jf-photo-height,430px) * 1.3333)}
.jf .jf-frame:nth-child(2){width:calc(var(--jf-photo-height,430px) * .8)}
.jf .jf-frame:nth-child(4){width:calc(var(--jf-photo-height,430px) * 1.08)}
.jf .jf-window{height:var(--jf-photo-height,430px);overflow:hidden;background:#092a31}
.jf .jf-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;max-width:none}
.jf .jf-frame:first-child img{object-fit:contain}
.jf .jf-frame:nth-child(2) img{object-position:49% center}
.jf .jf-frame:nth-child(4) img{object-position:51% center}
.jf figcaption{display:flex;justify-content:space-between;gap:12px;color:var(--jf-muted);font:400 13px/1.4 var(--body,sans-serif);padding:12px 0 0;background:transparent}
.jf .jf-progress{padding-block:16px 0}
.jf .jf-progress:before{content:"";display:block;background:#b5c5c12e;height:1px}
.jf .jf-progress span{display:block;background:var(--jf-gold);height:2px;margin-top:-1px;transform-origin:left;transform:scaleX(var(--jf-progress,.142857))}
.jf .jf-story{padding-block:32px;border-bottom:1px solid #b5c5c12e;scroll-margin-top:24px}
.jf .jf-copy{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(36px,7vw,120px);align-items:start;padding:24px 0 0}
.jf .jf-copy-title .jf-kicker{font-size:11px;letter-spacing:.15em;margin-bottom:10px}
.jf h3{font:400 clamp(29px,2.8vw,44px)/1.09 var(--display,Georgia,serif);color:var(--jf-paper);letter-spacing:-.025em;margin:0;max-width:640px;text-wrap:balance}
.jf .jf-copy-detail>p{font:400 17px/1.6 var(--body,sans-serif);color:var(--jf-muted);margin:0 0 15px;max-width:600px}
.jf .jf-thought{font:400 15px/1.45 var(--body,sans-serif);color:var(--jf-muted);margin:16px 0 0;max-width:510px}
.jf .jf-link{display:inline-flex;align-items:center;gap:28px;min-height:44px;color:var(--jf-paper);text-decoration:none;border-bottom:1px solid var(--jf-gold);font:600 15px/1.3 var(--body,sans-serif);padding:2px 0 7px}
.jf .jf-link span{font-size:23px;font-weight:400}
.jf .jf-link svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5}
.jf .jf-link:hover{color:var(--jf-gold)}
.jf .jf-foot{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #b5c5c12e;padding-block:26px 36px;font:400 13px/1.5 var(--body,sans-serif);color:var(--jf-muted)}
.jf .jf-foot a{display:inline-flex;align-items:center;gap:24px;min-height:44px;color:var(--jf-paper);text-decoration:none;border-bottom:1px solid #b5c5c180}
.jf.is-ready .jf-story{padding:0;border:0}
.jf.is-ready .jf-stories{min-height:var(--jf-copy-height,210px)}
.jf.is-pinned .jf-scroll-space{height:var(--jf-scroll-height)}
.jf.is-pinned .jf-stage{position:sticky;top:0}
.jf.is-pinned .jf-viewport{overflow:hidden;scroll-snap-type:none}
.jf.is-pinned .jf-track{will-change:transform}
.jf.is-pinned .jf-frame:not(:first-child) img{width:calc(100% + 24px);margin-left:-12px;transform:translate3d(var(--jf-drift,0px),0,0)}
@media(max-width:1000px){
 .jf .jf-intro{gap:32px}.jf .jf-hint{display:none}
 .jf h3{font-size:32px}.jf .jf-copy{gap:32px}
}
@media(max-width:700px){
 .jf .jf-intro{grid-template-columns:1fr;gap:22px;padding-block:40px 18px}
 .jf h2{font-size:40px;max-width:430px}.jf .jf-intro>p{font-size:16px;line-height:1.6;max-width:430px}
 .jf .jf-toolbar{flex-wrap:wrap;gap:4px 12px;padding-bottom:14px}
 .jf .jf-nav{gap:0}.jf .jf-nav a{min-width:38px;font-size:18px;min-height:44px}
 .jf .jf-buttons{width:100%;justify-content:flex-end;margin:0}
 .jf [data-jf-counter]{margin-right:auto}
 .jf .jf-frame,.jf .jf-frame:first-child,.jf .jf-frame:nth-child(2),.jf .jf-frame:nth-child(4){width:calc(100vw - 2 * var(--jf-edge));max-width:none}
 .jf .jf-window{height:auto;aspect-ratio:4/3}
 .jf .jf-frame img{object-fit:contain}
 .jf .jf-copy{grid-template-columns:1fr;gap:16px;padding-top:24px}
 .jf h3{font-size:34px}.jf .jf-copy-detail>p{font-size:16px}
 .jf .jf-thought{font-size:14px;margin-top:12px}
 .jf .jf-foot{display:block;padding-block:24px 32px}.jf .jf-foot a{margin-top:16px}
}
@media(prefers-reduced-motion:reduce){
 .jf *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
