.ai,.af,.br,.bx,.gm,.gp{position:relative;background:var(--ivory)}
.ai-pin,.af-pin,.br-pin,.bx-pin,.gm-pin,.gp-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--ivory)}

.pl-q .pl-text{display:grid;grid-template-columns:auto minmax(0,40ch);column-gap:clamp(30px,5vw,90px);align-items:end;max-width:none}
.pl-q .pl-text>.label{grid-column:1/-1}
.pl-q .pl-ps .pl-p{margin:10px 0 0}
.pl-q .pl-ps .pl-p:first-child{margin-top:0}

.ai{height:270vh}
.ai-pin{display:flex;flex-direction:column;padding:clamp(96px,15vh,140px) var(--gutter) clamp(70px,9vh,96px)}
.ai-k{display:block;margin-bottom:clamp(18px,3vh,30px)}
.ai-lede{margin:0;max-width:30ch;font-family:var(--font-display);font-weight:var(--dw);letter-spacing:var(--dtrack);line-height:1.08;font-size:clamp(28px,min(4vw,6.2vh),68px);text-wrap:balance}
.ai-lede .w{opacity:.14}
.ai-row{margin-top:auto;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(14px,1.6vw,28px);align-items:end}
.ai-p{grid-column:1/5;margin:0;max-width:40ch;color:var(--ink-soft);opacity:0}
.ai-fig{grid-column:6/13;margin:0}
.ai-fig>div{position:relative;overflow:hidden;height:min(34svh,calc((100vw - var(--gutter) * 2) * .58 / 2.39));background:var(--paper-2);clip-path:inset(0 50% 0 50%)}
.ai-fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.16)}

.af{height:280vh}
.af-text{position:absolute;z-index:2;left:var(--gutter);top:50%;width:min(40vw,560px);transform:translateY(-50%)}
.af-text>*{opacity:0}
.af-k{display:block}
.af-lede{margin:18px 0 0;font-family:var(--font-display);font-weight:var(--dw);letter-spacing:var(--dtrack);line-height:1.12;font-size:clamp(24px,2.4vw,40px);text-wrap:balance}
.af-p{margin:22px 0 0;max-width:44ch;color:var(--ink-soft)}
.af-slot{position:absolute;right:var(--gutter);top:50%;width:calc(50vw - var(--gutter));aspect-ratio:3/2;max-height:calc(100svh - 240px);transform:translateY(-50%);visibility:hidden}
.af-shot{position:absolute;z-index:1;left:0;top:0;width:100%;height:100%;overflow:hidden;background:var(--paper-2)}
.af-shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.12)}

.al{padding:clamp(110px,17vh,200px) 0 clamp(90px,14vh,160px);background:var(--ivory)}
.al-head{padding:0 var(--gutter)}
.al-head .label{display:block;margin-bottom:26px}
.al-lede{margin:0;max-width:30ch;font-family:var(--font-display);font-weight:var(--dw);letter-spacing:var(--dtrack);line-height:1.08;font-size:clamp(28px,3.6vw,60px);text-wrap:balance}
.al-band{margin:clamp(50px,8vh,90px) 0 0}
.al-win{position:relative;aspect-ratio:2.39;overflow:hidden;background:var(--paper-2);clip-path:inset(44% 6% 44% 6%)}
.al-win img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover}
.al-p{width:min(44ch,calc(100% - var(--gutter) * 2));margin:clamp(30px,5vh,50px) var(--gutter) 0 auto;color:var(--ink-soft)}

.bs{background:var(--ivory)}
.bs-h{display:block;padding:clamp(70px,12vh,130px) var(--gutter) clamp(24px,4vh,40px)}
.bs-card{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--ivory)}
.bs-in{position:absolute;inset:0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-content:start;column-gap:clamp(14px,1.6vw,28px);padding:clamp(92px,13vh,130px) var(--gutter) clamp(60px,8vh,90px);transform-origin:50% 0}
.bs-fig{grid-column:1/-1;margin:0}
.bs-fig>div{position:relative;overflow:hidden;height:min(54svh,calc((100vw - var(--gutter) * 2) / 2.39));background:var(--paper-2)}
.bs-fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bs-k{grid-column:1/4;padding-top:clamp(22px,3.4vh,34px)}
.bs-b{grid-column:5/12;padding-top:clamp(18px,3vh,30px)}
.bs-t{font-family:var(--font-display);font-weight:var(--dw);letter-spacing:var(--dtrack);line-height:1.08;font-size:clamp(24px,2.5vw,40px);text-wrap:balance}
.bs-b p{margin:14px 0 0;max-width:52ch;color:var(--ink-soft)}
.bs-dim{position:absolute;inset:0;pointer-events:none;background:var(--ink);opacity:0}

.br{--pw:min(66vw,calc((100svh - 470px) * 2.39));height:420vh}
.br-h{position:absolute;left:var(--gutter);top:clamp(96px,14vh,130px)}
.br-track{position:absolute;left:0;top:calc(clamp(96px,14vh,130px) + 44px);display:flex;width:max-content;gap:clamp(30px,5vw,90px);padding:0 var(--gutter)}
.br-p{flex:0 0 auto;width:var(--pw)}
.br-fig{margin:0}
.br-fig>div{position:relative;overflow:hidden;aspect-ratio:2.39;background:var(--paper-2)}
.br-fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.br-tx{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);column-gap:clamp(20px,3vw,50px);padding-top:clamp(18px,3vh,30px)}
.br-tx .label{grid-row:1/3;padding-top:8px}
.br-t{font-family:var(--font-display);font-weight:var(--dw);letter-spacing:var(--dtrack);line-height:1.1;font-size:clamp(22px,2.1vw,34px);text-wrap:balance}
.br-tx p{margin:12px 0 0;max-width:52ch;font-size:15px;line-height:1.6;color:var(--ink-soft)}
.br-foot{position:absolute;left:var(--gutter);right:var(--gutter);bottom:clamp(70px,10vh,96px);display:flex;align-items:center;gap:18px}
.br-n{font-variant-numeric:tabular-nums}
.br-bar{position:relative;flex:1;height:1px;background:var(--hair)}
.br-bar i{position:absolute;inset:0;background:var(--ink);transform-origin:0 50%;transform:scaleX(.25)}

.bx{height:440vh}
.bx-pin{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(14px,1.6vw,28px);align-items:center;padding:clamp(96px,14vh,130px) var(--gutter) clamp(70px,10vh,96px)}
.bx-l{grid-column:1/6}
.bx-h{display:block;margin-bottom:clamp(22px,4vh,40px)}
.bx-list{list-style:none;margin:0;padding:0;display:grid;gap:clamp(14px,2.4vh,24px)}
.bx-i{opacity:.34;transition:opacity .6s var(--ease)}
.bx-i.on{opacity:1}
.bx-i .label{display:block}
.bx-t{margin-top:6px;font-family:var(--font-display);font-weight:var(--dw);letter-spacing:var(--dtrack);line-height:1.12;font-size:clamp(20px,1.9vw,30px);text-wrap:balance}
.bx-d{display:grid;grid-template-rows:0fr;transition:grid-template-rows .7s var(--ease-out)}
.bx-d>div{min-height:0;overflow:hidden}
.bx-d p{margin:0;padding-top:10px;max-width:46ch;font-size:15px;line-height:1.6;color:var(--ink-soft);opacity:0;transition:opacity .5s var(--ease)}
.bx-i.on .bx-d{grid-template-rows:1fr}
.bx-i.on .bx-d p{opacity:1;transition-delay:.15s}
.bx-r{grid-column:7/13}
.bx-frame{position:relative;aspect-ratio:16/10;max-height:calc(100svh - 230px);overflow:hidden;background:var(--paper-2)}
.bx-img{position:absolute;inset:0;overflow:hidden;clip-path:inset(100% 0 0 0)}
.bx-img:first-child{clip-path:none}
.bx-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.gm{height:280vh}
.gm-h{position:absolute;left:var(--gutter);top:clamp(96px,14vh,130px);opacity:0}
.gm-grid{position:absolute;left:var(--gutter);right:var(--gutter);top:calc(clamp(96px,14vh,130px) + 40px);bottom:clamp(70px,10vh,96px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:clamp(18px,3vh,30px) clamp(14px,1.6vw,28px);transform-origin:0 0}
.gm-f{margin:0;display:flex;flex-direction:column;min-height:0}
.gm-f>div{position:relative;flex:1;min-height:0;overflow:hidden;background:var(--paper-2)}
.gm-f img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gm-f figcaption{margin-top:10px;opacity:0}

.gp{--w:min(46vw,calc((100svh - 330px) * 1.9));height:440vh}
.gp-h{position:absolute;left:var(--gutter);top:clamp(96px,14vh,130px)}
.gp-table{position:absolute;left:0;right:0;top:clamp(130px,19vh,180px);bottom:clamp(70px,10vh,96px)}
.gp-f{position:absolute;left:50%;top:50%;width:var(--w);margin:0;padding:12px 12px 0;background:#fbf9f3;box-shadow:0 18px 40px rgba(22,20,15,.14),0 2px 6px rgba(22,20,15,.08);transform:translate(-50%,-50%) translateY(120vh);visibility:hidden}
.gp-f>div{position:relative;aspect-ratio:var(--ar);overflow:hidden;background:var(--paper-2)}
.gp-f img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gp-f figcaption{padding:12px 2px 13px}

.gd{--rh:clamp(200px,38vh,420px);overflow:hidden;padding:clamp(110px,17vh,200px) 0;background:var(--ivory)}
.gd-h{display:block;padding:0 var(--gutter);margin-bottom:clamp(40px,7vh,80px)}
.gd-row{display:flex;width:max-content;gap:clamp(14px,1.6vw,28px);padding:0 var(--gutter)}
.gd-row+.gd-row{margin-top:clamp(30px,5vh,56px)}
.gd-f{flex:0 0 auto;width:calc(var(--rh) * var(--ar));margin:0}
.gd-f>div{position:relative;height:var(--rh);overflow:hidden;background:var(--paper-2)}
.gd-f img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gd-f figcaption{margin-top:10px}

@media (max-width:900px){
  .pl-q .pl-text{display:block}
  .pl-q .pl-ps{margin-top:12px}
  .pl-q .pl-ps .pl-p{margin-top:6px}
  .ai-pin{padding-top:clamp(84px,11vh,100px);padding-bottom:clamp(64px,9vh,84px)}
  .ai-lede{font-size:clamp(24px,7vw,34px)}
  .ai-row{display:flex;flex-direction:column-reverse;align-items:stretch;gap:18px;margin-top:28px}
  .ai-fig>div{height:auto;aspect-ratio:2}
  .ai-p{font-size:15px}
  .af-text{left:var(--gutter);right:var(--gutter);top:auto;bottom:clamp(70px,10vh,96px);width:auto;transform:none}
  .af-slot{left:var(--gutter);right:var(--gutter);top:clamp(88px,12vh,110px);width:auto;aspect-ratio:4/3;max-height:none;transform:none}
  .af-lede{font-size:clamp(22px,6.2vw,28px)}
  .af-p{font-size:15px}
  .al-p{margin-left:var(--gutter)}
  .bs-card{height:auto}
  .bs-in{position:relative;inset:auto;grid-template-columns:minmax(0,1fr);padding:64px var(--gutter) 32px}
  .bs-fig>div{height:auto;aspect-ratio:16/10}
  .bs-k,.bs-b{grid-column:1/-1}
  .bs-k{padding-top:20px}
  .bs-b{padding-top:10px}
  .bs-t{font-size:clamp(22px,6.4vw,28px)}
  .bs-b p{font-size:15px}
  .br{--pw:84vw}
  .br-fig>div{aspect-ratio:4/3}
  .br-tx{display:block}
  .br-t{margin-top:10px;font-size:clamp(20px,5.8vw,26px)}
  .br-tx p{font-size:14.5px}
  .bx-pin{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding-top:clamp(84px,11vh,100px)}
  .bx-r{order:-1;margin-bottom:22px}
  .bx-frame{max-height:none}
  .bx-h{margin-bottom:14px}
  .bx-list{gap:10px}
  .bx-t{font-size:clamp(19px,5.4vw,24px)}
  .bx-i:not(.on) .bx-t{display:none}
  .gm-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:16px 12px}
  .gm-f figcaption{margin-top:6px;font-size:9.5px}
  .gp{--w:84vw}
  .gp-f{padding:8px 8px 0}
  .gp-f figcaption{padding:9px 2px 10px}
  .gd{--rh:24svh}
}
@media (max-width:900px) and (max-height:700px){
  .af-slot{aspect-ratio:2.39}
  .bs-fig>div{aspect-ratio:2.39}
}
@media (max-width:720px) and (orientation:portrait){
  .ai{height:auto}
  .ai-pin{position:relative;height:auto;overflow:visible;padding:clamp(48px,7vh,72px) var(--gutter) 16px}
  .ai-row{margin-top:24px}
  .bs-h{padding:clamp(36px,5vh,52px) var(--gutter) 0}
  .gp{height:auto;overflow:hidden}
  .gp-pin{position:relative;height:auto;overflow:visible;padding:clamp(40px,6vh,60px) 0 clamp(20px,3vh,32px)}
  .gp-h{position:relative;top:auto;left:auto;display:block;padding:0 var(--gutter)}
  .gp-table{position:relative;top:auto;bottom:auto;height:calc(84vw / 1.78 + 110px);margin-top:8px}
}
