.fw{position:relative;height:calc(var(--span) * 100vh + 100vh);background:var(--night)}
.fw-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--night)}
.fw-map{position:absolute;inset:0;will-change:opacity}
.fw-svg{position:absolute;inset:0;display:block;width:100%;height:100%;--k:1}
.fw-land{fill:#15120e}
.fw-borders{fill:none;stroke:rgba(239,233,223,.08);stroke-width:calc(var(--k) * .8px);stroke-linejoin:round}
.fw-lakes{fill:rgba(239,233,223,.12)}
.fw-rivers{fill:none;stroke:rgba(239,233,223,.24);stroke-width:calc(var(--k) * .9px);stroke-linecap:round;stroke-linejoin:round}
.fw-route{fill:none;stroke:var(--on-night);stroke-width:calc(var(--k) * 2.2px);stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 1;stroke-dashoffset:1}
.fw-route.is-dash{stroke-width:calc(var(--k) * 1.6px);stroke-linecap:butt;stroke-dasharray:calc(var(--k) * 5px) calc(var(--k) * 4px);stroke-dashoffset:0}
.fw-mask{fill:none;stroke:#fff;stroke-width:calc(var(--k) * 8px);stroke-linecap:round;stroke-dasharray:1 1;stroke-dashoffset:1}
.fw-lake-hl{fill:var(--on-night);opacity:0}
.fw-lbls{position:absolute;inset:0;pointer-events:none}
.fw-lbl{font-family:var(--cap);position:absolute;left:0;top:0;translate:-50% -50%;white-space:nowrap;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--on-night-soft);opacity:0;transition:opacity .7s var(--ease)}
.fw-lbl.on{opacity:1}
.fw-lbl{text-shadow:0 0 2px rgba(var(--night-rgb),.95),0 0 6px rgba(var(--night-rgb),.9),0 0 14px rgba(var(--night-rgb),.7)}
.fw-river{font-family:var(--font-display);font-weight:var(--dw);letter-spacing:.01em;text-transform:none;font-size:15px;color:var(--on-night)}
.fw-lake{color:var(--on-night)}
.fw-city{translate:-5px -50%;padding-left:14px;color:var(--on-night)}
.fw-city::before{content:"";position:absolute;left:0;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:var(--on-night)}
.fw-area{font-size:11px;color:var(--on-night)}
.fw-cards{position:absolute;inset:0;pointer-events:none}
.fw-card{position:absolute;opacity:0;visibility:hidden}
.fw-card.is-on{pointer-events:auto}
.fw-hero{left:var(--gutter);right:var(--gutter);bottom:clamp(56px,9vh,104px)}
.fw-title{margin-top:16px;font-family:var(--font-display);font-weight:var(--vw);font-variation-settings:"hght" 1000;letter-spacing:-.005em;text-transform:uppercase;line-height:.9;font-size:clamp(42px,7.3vw,130px)}
.fw-sub{margin:.4em 0 0;font-family:var(--font-display);font-weight:var(--dw);letter-spacing:var(--dtrack);font-size:clamp(20px,2vw,32px);line-height:1.2;color:var(--on-night-soft)}
.fw-log{margin:clamp(16px,2.6vh,26px) 0 0;max-width:54ch;font-size:clamp(16px,1.2vw,19px);line-height:1.6;color:var(--on-night-soft)}
.fw-meta{display:flex;flex-wrap:wrap;gap:16px clamp(26px,2.8vw,48px);margin:clamp(24px,4vh,40px) 0 0}
.fw-meta div{display:flex;flex-direction:column;gap:6px}
.fw-meta dd{margin:0;font-size:14px;color:var(--on-night)}
.fw-ask{left:var(--gutter);right:var(--gutter);top:50%;transform:translateY(-50%)}
.fw-ask-t{margin-top:22px;font-family:var(--font-display);font-weight:var(--dw);letter-spacing:var(--dtrack);line-height:1.02;font-size:clamp(40px,6.4vw,112px)}
.fw-ask-t .l>span{transform:translateY(110%)}
.fw-ask-ps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,4vw,70px);max-width:980px;margin-top:clamp(30px,5vh,56px)}
.fw-ask-ps p{margin:0;font-size:clamp(16px,1.25vw,20px);line-height:1.6;color:var(--on-night-soft)}
.fw-why,.fw-ep{right:var(--gutter);top:50%;transform:translateY(-50%);width:min(36vw,520px);padding:clamp(18px,1.8vw,26px);border-radius:16px;background:rgba(var(--night-rgb),.58);-webkit-backdrop-filter:blur(16px) saturate(1.1);backdrop-filter:blur(16px) saturate(1.1)}
.fw-media{position:relative;aspect-ratio:2.39;margin-bottom:18px;overflow:hidden;border-radius:9px;background:#15120e}
.fw-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fw-media iframe{position:absolute;inset:0;z-index:3;width:100%;height:100%;border:0;background:#000}
.fw-watch{font-family:var(--cap);position:absolute;z-index:2;left:10px;bottom:10px;display:inline-flex;align-items:center;gap:10px;padding:9px 16px 9px 12px;border:0;border-radius:999px;background:rgba(var(--night-rgb),.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--on-night);font-size:11px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.fw-watch i{width:0;height:0;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent currentColor}
.fw-t{margin-top:10px;font-family:var(--font-display);font-weight:var(--dw);letter-spacing:var(--dtrack);line-height:1.08;font-size:clamp(24px,2.2vw,36px);text-wrap:balance}
.fw-p{margin:12px 0 0;font-size:15px;line-height:1.6;color:var(--on-night-soft)}
.fw-why .fw-p+.fw-p{margin-top:8px}
.fw-dur{margin:14px 0 0}
.fw-foot{position:absolute;left:var(--gutter);bottom:clamp(26px,4.4vh,44px);display:flex;align-items:center;gap:18px;width:min(34vw,420px);opacity:0}
.fw-n{font-variant-numeric:tabular-nums}
.fw-bar{position:relative;flex:1;height:1px;background:var(--hair-night)}
.fw-bar i{position:absolute;inset:0;background:var(--on-night);transform-origin:0 50%;transform:scaleX(.25)}

.rv{position:relative;padding:clamp(96px,min(17vh,17vw),200px) var(--gutter);background:var(--night)}
.rv-h{display:block;margin-bottom:clamp(60px,10vh,110px);text-align:center}
.rv-body{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(14px,1.6vw,28px);row-gap:clamp(90px,16vh,190px)}
.rv-line{position:absolute;top:0;bottom:0;left:35%;width:30%;pointer-events:none}
.rv-line svg{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible}
.rv-fill{position:absolute;left:0;top:0;width:100%;height:0;overflow:hidden}
.rv-base{fill:none;stroke:var(--hair-night);stroke-width:1px;vector-effect:non-scaling-stroke}
.rv-flow{fill:none;stroke:var(--on-night);stroke-width:1.6px;vector-effect:non-scaling-stroke}
.rv-ch{position:relative;z-index:1}
.rv-l{grid-column:1/5;text-align:right}
.rv-r{grid-column:9/13}
.rv-t{margin-top:12px;font-family:var(--font-display);font-weight:var(--dw);letter-spacing:var(--dtrack);line-height:1.08;font-size:clamp(24px,2.3vw,38px);text-wrap:balance}
.rv-ch p:not(.label){margin:14px 0 0;font-size:15.5px;line-height:1.6;color:var(--on-night-soft)}
.rv-l p:not(.label){margin-left:auto;max-width:44ch}
.rv-r p:not(.label){max-width:44ch}

.ff-close{padding:0 0 clamp(120px,18vh,200px);background:var(--night)}
.ff-band{margin:0 0 clamp(70px,11vh,120px)}
.ff-band>div{position:relative;aspect-ratio:3.2;overflow:hidden;background:#15120e}
.ff-band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ff-close-in{padding:0 var(--gutter)}
.ff-q{margin-top:22px;max-width:22ch;font-family:var(--font-display);font-weight:var(--dw);letter-spacing:var(--dtrack);line-height:1.06;font-size:clamp(34px,4.6vw,78px);text-wrap:balance}
.ff-ctas{display:flex;flex-wrap:wrap;gap:18px 40px;margin-top:clamp(34px,5vh,56px)}

.fw-rel{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:var(--night)}
.fw-ri{position:absolute;left:0;top:0;max-width:none;transform-origin:0 0;will-change:transform,opacity;visibility:hidden}
.fw-hero-bot{display:flex;align-items:flex-end;justify-content:space-between;gap:clamp(30px,5vw,90px)}
.fw-hero-l{min-width:0}
.fw-line{display:block;margin-top:clamp(18px,3vh,28px);color:var(--on-night-soft)}
.fw-idx{flex:0 0 auto;display:grid;gap:10px;padding-bottom:4px}
.fw-idx a{display:inline-flex;align-items:baseline;gap:14px;font-size:13.5px;color:var(--on-night);transition:opacity .4s var(--ease)}
.fw-idx a:hover{opacity:.6}
.fw-idx-n{font-size:10.5px;letter-spacing:.2em;color:var(--on-night-faint)}
.fw-about .label{display:block}
.fw-lede{margin:10px 0 0;font-family:var(--font-display);font-weight:var(--dw);letter-spacing:var(--dtrack);line-height:1.2;font-size:clamp(19px,1.55vw,24px);text-wrap:balance}
.fw-dive{position:absolute;inset:0;z-index:4;pointer-events:none}
.fw-dimg img{transform:none}
.fw-dimg{position:absolute;left:0;top:0;width:0;height:0;overflow:hidden;visibility:hidden;background:#15120e}
.fw-dimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rv-join{padding-top:clamp(40px,6vh,70px)}
.rv-join>.rv-line{position:absolute;top:0;bottom:clamp(110px,17vh,200px);left:35%;width:30%;pointer-events:none}
.rv-join .rv-h{text-align:left}
.rv-join .rv-flow{stroke-width:2.2px}
.rv-join .rv-body{row-gap:clamp(70px,13vh,150px)}
.rv-m{display:none}

.fw-ts{position:absolute;inset:0;pointer-events:none;opacity:0;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);-webkit-mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,0) 30%,rgba(0,0,0,0) 70%,#000 100%);mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,0) 30%,rgba(0,0,0,0) 70%,#000 100%)}
[data-motion=a] .fw-lbl{filter:blur(6px);transition:opacity .7s var(--ease),filter .7s var(--ease)}
[data-motion=a] .fw-lbl.on{filter:none}
.fw-clouds{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:0}
.fw-cl{position:absolute;left:-35%;top:-35%;width:170%;height:170%;background:center/cover no-repeat;will-change:transform}
.fw-cl1{background-image:url(work/flowing-forward/clouds/clouds-1.webp)}
.fw-cl2{background-image:url(work/flowing-forward/clouds/clouds-2.webp)}
.fw-haze{position:absolute;inset:0;pointer-events:none;background:var(--night);opacity:0}
.fw-sky{position:absolute;left:0;right:0;top:0;height:46%;pointer-events:none;opacity:0;background:linear-gradient(to bottom,var(--night) 22%,rgba(var(--night-rgb),0))}
[data-motion=c] .fw-map{inset:-25%;transform-origin:50% 60%}

.fc{position:relative;height:240vh;background:var(--night)}
.fc-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--night)}
.fc-line{position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:var(--on-night);transform:scaleX(0)}
.fc-img{position:absolute;inset:0;overflow:hidden;clip-path:inset(50% 0 50% 0)}
.fc-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.2)}
.fc-copy{position:absolute;left:var(--gutter);right:var(--gutter);bottom:clamp(50px,9vh,100px)}
.fc-x{opacity:0}
.fc .ff-q{margin-top:18px}

@media (max-width:900px){
  .fw-hero{bottom:clamp(36px,6vh,60px)}
  .fw-title{font-size:clamp(38px,11vw,62px)}
  .fw-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}
  .fw-meta dd{font-size:13px}
  .fw-ask-ps{grid-template-columns:1fr;gap:12px}
  .fw-why,.fw-ep{left:var(--gutter);right:var(--gutter);top:auto;bottom:clamp(58px,8vh,78px);width:auto;transform:none;padding:16px}
  .fw-media{margin-bottom:14px}
  .fw-t{font-size:clamp(21px,6vw,26px)}
  .fw-p{font-size:14px;line-height:1.55}
  .fw-foot{bottom:clamp(20px,3vh,30px);width:calc(100% - var(--gutter) * 2)}
  .rv-line{left:0;width:40px}
  .rv-join{padding-top:96px}
  .rv-join .rv-h{padding-left:58px}
  .rv-join>.rv-line{left:0;width:100%}
  .rv-join .rv-d{display:none}
  .rv-join .rv-m{display:inline}
  .fw-hero-bot{display:block}
  .fw-idx{gap:8px;margin-top:22px}
  .fw-idx a{font-size:12.5px;padding:12px 0;margin:-12px 0}
  .fw-about .fw-media{display:none}
  .fw-lede{font-size:18px}
  .fw-about .fw-p{font-size:13.5px}
  .rv-l,.rv-r{grid-column:1/-1;padding-left:58px;text-align:left}
  .rv-l p:not(.label){margin-left:0}
  .rv-h{text-align:left}
  .ff-band>div{aspect-ratio:2}
}
@media (max-width:600px){
  .fw-wide{display:none}
}
@media (max-width:720px) and (orientation:portrait){
  .fc{height:auto}
  .fc-pin{--wt:8px;position:relative;height:auto;overflow:visible;padding-bottom:56px}
  .fc-img{position:relative;inset:auto;top:auto;height:calc(100vw / 1.15);margin-top:var(--wt)}
  .fc-line{top:calc(var(--wt) + 100vw / 2.3)}
  .fc-copy{position:relative;top:auto;bottom:auto;left:auto;right:auto;padding:28px var(--gutter) 0}
  .rv{padding-bottom:48px}
  .rv-join>.rv-line{bottom:48px}
}
@media (max-width:900px) and (max-height:720px){
  .fw-ep .fw-media{display:none}
}
@media (max-height:520px) and (orientation:landscape){
  .fw-hero{bottom:22px}
  .fw-hero .label{font-size:9.5px}
  .fw-title{margin-top:8px;font-size:clamp(30px,10.5vh,48px)}
  .fw-sub{font-size:16px}
  .fw-log{margin-top:10px;max-width:70ch;font-size:13.5px;line-height:1.5}
  .fw-line{margin-top:10px}
  .fw-idx,.fw-foot{display:none}
  .fw-why,.fw-ep{bottom:16px;padding:12px 14px;max-height:calc(100svh - 96px);overflow:hidden}
  .fw-ask-t{font-size:clamp(30px,11vh,52px)}
  .fw-ask-ps{margin-top:16px}
}

