.fn-head{padding:calc(130px + env(safe-area-inset-top,0px)) var(--gutter) clamp(48px,7vw,100px);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:end;gap:clamp(24px,4vw,64px);min-height:min(100svh,940px);display:grid;position:relative}.fn-head .page-title{font-size:clamp(64px,11vw,190px)}.fn-stats{flex-wrap:wrap;gap:clamp(20px,3vw,40px);margin-top:28px;display:flex}.fn-stats div{gap:4px;display:grid}.fn-stats b{letter-spacing:-.04em;font-size:clamp(28px,3vw,44px);font-weight:500;line-height:1}.fn-stats span{color:var(--ink-3)}.fan{height:clamp(380px,46vw,620px);position:relative}.fan figure{aspect-ratio:3/4;opacity:0;width:clamp(150px,17vw,250px);transition:transform 1.6s var(--ease),opacity .8s var(--ease);transition-delay:var(--d);cursor:pointer;background:#fff;margin:0;padding:8px 8px 34px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(0)scale(.9);box-shadow:0 2px 2px #0000000f,0 30px 50px -20px #03161a73}.fan figure img{object-fit:cover;width:100%;height:100%}.fan figure figcaption{font-family:var(--f-mono);text-transform:uppercase;color:#5e6a6c;justify-content:space-between;font-size:10px;display:flex;position:absolute;bottom:9px;left:10px;right:10px}.fan.in figure{opacity:1;transform:translate(calc(-50% + var(--x)), calc(-50% + var(--y))) rotate(var(--r)) scale(1)}.fan.in figure:hover{transform:translate(calc(-50% + var(--x)), calc(-50% + var(--y) - 16px)) rotate(0deg) scale(1.05);z-index:9;transition-delay:0s}.faces{padding-block:clamp(40px,6vw,80px) clamp(80px,11vw,160px)}.faces-head{padding:0 var(--gutter);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(24px,3vw,40px);display:flex}.faces-head .h2{font-size:clamp(40px,5.4vw,88px)}.drag-hint{color:var(--ink-3);align-items:center;gap:10px;display:inline-flex}.drag-hint b{background:currentColor;width:36px;height:1px;position:relative;overflow:hidden}.drag-hint b:after{content:"";background:var(--accent);animation:slide 2.2s var(--ease) infinite;position:absolute;inset:0}@keyframes slide{0%{transform:translate(-100%)}60%,to{transform:translate(100%)}}.faces-track{scroll-snap-type:x proximity;padding:0 var(--gutter) 10px;cursor:grab;scrollbar-width:none;gap:12px;display:flex;overflow-x:auto;-webkit-mask:linear-gradient(90deg,#000 92%,#0000);mask:linear-gradient(90deg,#000 92%,#0000)}.faces-track::-webkit-scrollbar{display:none}.faces-track.dragging{cursor:grabbing;scroll-snap-type:none}.face{scroll-snap-align:start;flex:none;gap:10px;width:clamp(200px,20vw,290px);margin:0;display:grid}.face .ph{aspect-ratio:3/4;border-radius:var(--r-md);background:var(--bg-2);overflow:hidden}.face img{object-fit:cover;filter:grayscale(.35);width:100%;height:100%;transition:transform 1.2s var(--ease),filter .6s;pointer-events:none;transform:scale(1.04)}.face:hover img{filter:none;transform:scale(1.1)}.face figcaption{color:var(--ink-3);justify-content:space-between;display:flex}.face figcaption span:first-child{color:var(--ink)}.trip{padding:clamp(56px,8vw,120px) var(--gutter);border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,2.3fr);gap:clamp(24px,4vw,64px);display:grid}.trip-meta{align-self:start;gap:18px;display:grid;position:sticky;top:100px}.trip-no{font-family:var(--f-serif);color:var(--accent);font-size:clamp(64px,7vw,120px);font-style:italic;line-height:.8}.trip-meta h2{letter-spacing:-.045em;margin:0;font-size:clamp(30px,3vw,48px);font-weight:500;line-height:.98}.trip-meta p{color:var(--ink-2);max-width:34ch;margin:0}.trip-meta dl{border-top:1px solid var(--line);margin:0}.trip-meta dl div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.trip-meta dt{color:var(--ink-3)}.trip-meta dd{text-align:right;margin:0}.grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-flow:dense;gap:12px;display:grid}.shot{border-radius:var(--r-md);background:var(--bg-2);cursor:zoom-in;aspect-ratio:3/4;grid-column:span 2;margin:0;position:relative;overflow:hidden}.shot.w{aspect-ratio:4/3;grid-column:span 4}.shot.t{aspect-ratio:9/16;grid-column:span 2}.shot.h{aspect-ratio:4/5;grid-column:span 3}.shot img{object-fit:cover;width:100%;height:100%;transition:transform 1.4s var(--ease);transform:scale(1.06)}.shot:hover img{transform:scale(1)}.shot figcaption{color:#f2f7f7;-webkit-backdrop-filter:blur(10px);font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.02em;opacity:0;transition:opacity .5s var(--ease),translate .6s var(--ease);background:#03161a80;border-radius:10px;justify-content:space-between;gap:8px;padding:8px 10px;font-size:11px;display:flex;position:absolute;bottom:10px;left:10px;right:10px;translate:0 8px}.shot:hover figcaption,.shot:focus-visible figcaption{opacity:1;translate:none}.shot figcaption span:last-child{opacity:.7;white-space:nowrap}.viewer{z-index:250;-webkit-backdrop-filter:blur(12px);opacity:0;pointer-events:none;transition:opacity .5s var(--ease);color:#f2f7f7;background:#03161af0;grid-template-rows:auto 1fr auto;display:grid;position:fixed;inset:0}.viewer.on{opacity:1;pointer-events:auto}.v-top,.v-bot{padding:18px var(--gutter);justify-content:space-between;align-items:center;gap:16px;display:flex}.v-stage{min-height:0;padding:0 var(--gutter);place-items:center;display:grid;position:relative}.v-stage img{object-fit:contain;opacity:0;max-width:100%;max-height:100%;transition:transform .7s var(--ease),opacity .5s;border-radius:12px;transform:scale(.96)}.viewer.on .v-stage img.ready{opacity:1;transform:none}.v-btn{border:1px solid #bbd6e44d;border-radius:50%;place-items:center;width:46px;height:46px;transition:background .3s,color .3s;display:grid}.v-btn:hover{color:#03161a;background:#f2f7f7}.v-btn svg{width:16px;height:16px}.v-cap{letter-spacing:-.02em;font-size:clamp(18px,1.6vw,22px)}.v-cap span{color:#f2f7f799;font-family:var(--f-mono);text-transform:uppercase;margin-top:4px;font-size:11px;display:block}@media (max-width:1000px){.fn-head{grid-template-columns:1fr;min-height:0}.trip{grid-template-columns:1fr}.trip-meta{position:static}}@media (max-width:640px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shot,.shot.t,.shot.h{grid-column:span 1}.shot.w{grid-column:span 2}.shot figcaption{opacity:1;translate:none}}
