.ip{outline:none}
.ip-ctl{display:flex;gap:6px;flex:none}
.ip-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2);background:none;color:var(--paper);display:grid;place-items:center;cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent;transition:border-color .2s,background .2s,transform .12s var(--ease)}
.ip-btn:hover{border-color:var(--acid)}
.ip-btn:active{transform:scale(.95)}
.ip-btn:focus-visible{outline:2px solid var(--acid);outline-offset:2px}
.ip-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ip-pp .i-play{display:none;fill:currentColor;stroke:none}
.ip-pp.is-play .i-play{display:block}
.ip-pp.is-play .i-pause{display:none}
.ip-bar{display:flex;gap:3px;min-width:0}
.ip-seg{flex:1 1 0;min-width:0;min-height:32px;margin:0;padding:6px 0;border:0;background:none;cursor:pointer;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;color:var(--muted);font:600 11px/1 var(--sans);letter-spacing:.04em;text-align:left;white-space:nowrap;-webkit-tap-highlight-color:transparent}
.ip-seg span{overflow:hidden;text-overflow:ellipsis}
.ip-seg[aria-current="true"]{color:var(--acid)}
.ip-seg:focus-visible{outline:2px solid var(--acid);outline-offset:2px}
.ip-seg i{display:block;height:3px;border-radius:2px;background:rgba(215,232,188,.18);overflow:hidden}
.ip-seg b{display:block;height:100%;background:var(--acid);transform:scaleX(var(--f,0));transform-origin:left;transition:transform .35s var(--ease)}
.ip-seg.done b{transform:none;background:rgba(233,240,86,.45)}
.ip-seg.cur:not(.run) b{transform:scaleX(var(--f,1))}
.ip-seg.run b{transition:none;animation:ipFill var(--dur,7s) linear forwards}
.ip.paused .ip-seg.run b{animation-play-state:paused}
@keyframes ipFill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes ipIn{from{opacity:0;transform:translateX(var(--ipx,18px))}to{opacity:1;transform:none}}
.ip[data-dir="b"]{--ipx:-18px}

#gallery .sec-head{margin-bottom:clamp(16px,3vw,28px)}
.gp{position:relative}
.gp-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.gp-meta{margin:0;min-width:0;display:flex;flex-direction:column;gap:4px}
.gp-g{font:400 clamp(22px,3vw,30px)/1.1 var(--serif);color:var(--paper);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gp-n{font:500 11px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-variant-numeric:tabular-nums}
.gp-bar{margin:8px 0 10px}
.gp .fig-gal{display:none}
.gp .gal{display:grid;grid-template-columns:minmax(0,1fr);gap:0;touch-action:pan-y;-webkit-user-select:none;user-select:none}
.gp .gal.mas{grid-auto-rows:auto}
.gp .gal .gi,html.no-sda .gp .gal .gi{grid-area:1/1;grid-row-end:auto;animation:none;clip-path:none;transform:none;opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility 0s linear .4s}
.gp .gal .gi.is-cur{opacity:1;visibility:visible;transition:opacity .4s var(--ease)}
.gp .gal .gi:not(.is-cur):not(.is-near),.gp .gal .gi-slot{display:none}
.gp .gal .gi.is-cur .gt{animation:ipIn .45s var(--ease) both}
.gp .gf{height:auto}
.gp .gt{aspect-ratio:5/4;height:auto;border-radius:6px}
.gp .gi.port .ph img{object-fit:contain}
.gp .gi.port .ph::before{opacity:.5}
.gp .gcap{min-height:3em;margin-top:10px;font-size:14px}
.gp-hint{margin:6px 0 0;font:400 13px/1.45 var(--sans);color:var(--muted)}
@media (min-width:700px){.gp .gt{aspect-ratio:16/10}}
@media (min-width:900px){
  .gp-top{gap:24px}
  .gp .gt{aspect-ratio:auto;height:min(68vh,700px);height:min(68dvh,700px)}
  .gp .gcap{font-size:15px;min-height:1.6em}
}

.drv{position:relative;margin-top:clamp(28px,5vw,64px);--mh:clamp(150px,45vw,300px)}
.drv-bar{margin-bottom:8px}
.drv-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}
.drv-view{position:relative;display:grid;grid-template-columns:minmax(0,1fr);touch-action:pan-y;-webkit-user-select:none;user-select:none}
.drv .reach{position:absolute;z-index:3;margin:0;padding:0;top:0;left:0;width:100%;height:var(--mh);pointer-events:none;background:var(--bg);border-radius:6px;overflow:hidden;transition:top .4s var(--ease),left .4s var(--ease),width .4s var(--ease),height .4s var(--ease),border-radius .4s var(--ease),box-shadow .4s var(--ease)}
.drv .reach-box{position:relative;height:100%;max-width:none}
.drv .reach-svg{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}
.drv .reach-clock{display:none}
.drv .reach figcaption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;margin:0}
.drv[data-fig="1"] .reach{top:calc(var(--mh) - 96px);left:calc(100% - 96px);width:88px;height:88px;border-radius:50%;box-shadow:0 0 0 1px var(--line-2),0 6px 18px rgba(0,0,0,.45);background:rgba(29,32,33,.92)}
.drv[data-fig="1"] .reach .rl,.drv[data-fig="1"] .reach .rld,.drv[data-fig="1"] .reach .rt,.drv[data-fig="1"] .reach .rs,.drv[data-fig="1"] .reach .rn,.drv[data-fig="1"] .reach .rhl{display:none}
.drv .reach-svg .rr-now{fill:rgba(233,240,86,.07);stroke:var(--acid);stroke-width:2;transition:r .5s var(--ease)}
.drv .reach-svg .rd.now{fill:var(--acid)}
.drv .reach.arm .rd:not(.on),.drv .reach.arm .rl:not(.on),.drv .reach.arm .rld:not(.on){opacity:.18;transform:none}

.drv .pl-ch{grid-area:1/1;margin:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:var(--mh) auto;align-content:start;opacity:0;visibility:hidden;transition:opacity .3s var(--ease),visibility 0s linear .3s}
.drv .pl-ch.is-cur{opacity:1;visibility:visible;transition:opacity .3s var(--ease)}
.drv .pl-ch.is-cur .pl-txt{animation:ipIn .35s var(--ease) both}
.drv .pl-ch>.pl-fig,.drv .pl-ch>.pl-duo{grid-row:1;grid-column:1;width:100%;height:var(--mh);margin:0;border-radius:6px;overflow:hidden}
.drv .pl-duo{position:relative;display:block;padding:0}
.drv .pl-duo .pl-fig{position:absolute;inset:0;width:100%;height:100%;margin:0}
.drv .pl-fig picture,.drv .pl-full>.pl-a picture,.drv .pl-pair>.pl-a picture,.drv .pl-duo .pl-a picture,.drv .pl-duo .pl-b picture,.drv .pl-inset picture{display:block;aspect-ratio:auto;height:100%;max-height:none;width:100%;clip-path:none}
.drv .pl-fig img{transform:none}
.drv .pl-ch.is-cur .pl-a img{animation:dpKen 16s linear both}
@keyframes dpKen{from{transform:scale(1.08)}to{transform:scale(1)}}
.drv .pl-inset,.drv .pl-duo .pl-b{opacity:0;transition:opacity .4s var(--ease)}
.drv .pl-ch.b2 .pl-inset,.drv .pl-ch.b2 .pl-duo .pl-b{opacity:1}
.drv .pl-fig figcaption,.drv .pl-full>.pl-a figcaption{position:absolute;top:8px;right:8px;left:auto;max-width:72%;padding:0;text-align:right;font:400 11px/1.35 var(--sans);color:rgba(255,255,255,.9);text-shadow:0 1px 6px rgba(0,0,0,.8)}
.drv .pl-ch:not(.b2) .pl-inset figcaption,.drv .pl-ch:not(.b2) .pl-duo .pl-b figcaption{visibility:hidden}
.drv .pl-grid{position:static}
.drv .pl-grid,.drv .pl-full .pl-grid,.drv .pl-pair .pl-grid,.drv .pl-two .pl-grid,.drv .pl-type .pl-grid{grid-row:2;grid-column:1;display:block;margin:0;padding:12px 0 0;border:0;width:auto;max-width:none}
.drv .pl-min{position:absolute;z-index:4;left:12px;top:calc(var(--mh) - 12px);transform:translateY(-100%);margin:0!important;gap:.15em;pointer-events:none;text-shadow:0 2px 24px rgba(29,32,33,.75)}
.drv .pl-n{font-size:clamp(64px,17vw,112px)}
.drv .pl-u{font-size:clamp(20px,4vw,30px)}
.drv .pl-txt,.drv .pl-pair .pl-txt,.drv .pl-pair.pl-rev .pl-txt,.drv .pl-full .pl-txt{padding:0!important;order:0}
.drv .pl-txt h3{margin-top:6px;font-size:clamp(26px,7vw,48px)}
.drv .pl-txt>p:not(.pl-eye):not(.pl-note){margin-top:8px;font-size:15px;line-height:1.5}
.drv .pl-list{margin-top:12px}
.drv .pl-list li{padding:7px 0;font-size:14.5px}
.drv .pl-t{font-size:18px}
.drv .pl-note{margin-top:10px;font-size:13px}
.drv-hint{margin:0;font:400 13px/1.45 var(--sans);color:var(--muted)}
.drv.is-end .drv-hint::after{content:" Replay with the play button."}
@media (min-width:900px){
  .drv{--mh:clamp(260px,26vw,380px)}
  .drv-view{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(32px,4vw,64px)}
  .drv .reach,.drv[data-fig="1"] .reach{position:relative;grid-area:1/1;top:auto;left:auto;width:100%;height:auto;aspect-ratio:1;align-self:start;border-radius:0;box-shadow:none;background:none}
  .drv[data-fig="1"] .reach .rl,.drv[data-fig="1"] .reach .rld,.drv[data-fig="1"] .reach .rt,.drv[data-fig="1"] .reach .rs,.drv[data-fig="1"] .reach .rn,.drv[data-fig="1"] .reach .rhl{display:revert}
  .drv .reach-svg{position:relative;width:100%;height:auto;aspect-ratio:1}
  .drv .reach-box{-webkit-mask-image:radial-gradient(circle closest-side,#000 80%,transparent 100%);mask-image:radial-gradient(circle closest-side,#000 80%,transparent 100%)}
  .drv .pl-ch{grid-area:1/2}
  .drv .pl-min{left:16px;top:calc(var(--mh) - 16px)}
  .drv .pl-ch:not(.has-fig){grid-template-rows:0 auto}
  .drv .pl-ch:not(.has-fig) .pl-min{position:static;transform:none;margin:0 0 8px!important;text-shadow:none}
  .drv .pl-ch:not(.has-fig) .pl-grid{padding-top:0}
  .drv .pl-txt>p:not(.pl-eye):not(.pl-note){font-size:17px;line-height:1.55}
  .drv .pl-list li{padding:10px 0;font-size:16px}
  .drv .pl-t{font-size:21px}
  .drv .pl-grid,.drv .pl-full .pl-grid,.drv .pl-pair .pl-grid,.drv .pl-two .pl-grid,.drv .pl-type .pl-grid{padding-top:18px}
}
@media (min-width:900px) and (max-width:1199px){.drv-view{grid-template-columns:minmax(0,4fr) minmax(0,7fr)}}

.drv.ip-manual .pl-ch.has-b2>.pl-a{width:calc(50% - 4px);justify-self:start}
.drv.ip-manual .pl-ch>.pl-inset{width:calc(50% - 4px);justify-self:end;opacity:1}
.drv.ip-manual .pl-duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;border-radius:0;overflow:visible}
.drv.ip-manual .pl-duo .pl-fig{position:relative;inset:auto;border-radius:6px;overflow:hidden;opacity:1}
.drv.ip-manual .pl-inset figcaption,.drv.ip-manual .pl-duo .pl-b figcaption{visibility:visible}
.drv.ip-manual .pl-fig figcaption{max-width:90%}

@media (prefers-reduced-motion:reduce){
  .ip-seg b,.ip-btn,.drv .reach,.drv .pl-ch,.gp .gal .gi,.drv .pl-inset,.drv .pl-duo .pl-b{transition:none!important}
  .gp .gal .gi.is-cur .gt,.drv .pl-ch.is-cur .pl-txt,.drv .pl-ch.is-cur .pl-a img{animation:none!important}
  .drv .reach-svg .rr-now{transition:none}
}

.ipx{position:relative;margin-top:20px}
.ipx .ipx-view{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:0;touch-action:pan-y}
.ipx .ipx-view>.ip-slide{grid-area:1/1;min-width:0;opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility 0s linear .4s}
.ipx .ipx-view>.ip-slide.is-cur{opacity:1;visibility:visible;transition:opacity .4s var(--ease)}
.ipx .ipx-view>.ip-slide.is-cur>*{animation:ipIn .5s var(--ease) both}
.ipx-bar{margin-bottom:10px}
.ipx-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
.ipx-n{margin:0;font:500 11px/1 var(--sans);letter-spacing:.12em;color:var(--muted);font-variant-numeric:tabular-nums}
.ipx-dt .dt figcaption{min-height:6.5em}
.ipx-key{margin-top:14px}
.ipx-key .bp5-key{margin:0}
.ipx-key .bp5-key button{align-content:start}
@media (min-width:900px){
  .ipx-dt .dt{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);column-gap:40px;align-items:center}
  .ipx-dt .dt figcaption{margin-top:0}
  .ipx-comm .comm-g>li{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);column-gap:40px;align-items:center}
}
.clip-4:not(.clip-open)>:nth-child(n+5),.clip-5:not(.clip-open)>:nth-child(n+6){display:none}
.clip-b{display:inline-flex;align-items:center;gap:12px;min-height:44px;margin-top:14px;padding:0 20px;border:1px solid var(--line-2);border-radius:999px;background:none;color:var(--paper);font:500 14px/1 var(--sans);cursor:pointer;-webkit-tap-highlight-color:transparent}
.clip-b:hover{border-color:var(--acid)}
.clip-b:focus-visible{outline:2px solid var(--acid);outline-offset:2px}
.clip-b i{position:relative;width:11px;height:11px;flex:none}
.clip-b i::before,.clip-b i::after{content:"";position:absolute;left:0;top:5px;width:11px;height:1.5px;background:currentColor;transition:transform .3s var(--ease)}
.clip-b i::after{transform:rotate(90deg)}
.clip-b[aria-expanded="true"] i::after{transform:none}
@media (prefers-reduced-motion:reduce){.ipx .ipx-view>.ip-slide,.clip-b i::after{transition:none!important}.ipx .ipx-view>.ip-slide.is-cur>*{animation:none!important}}

#wf{top:var(--navh);height:32px;background:#2c2f32;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:1px solid var(--line);transition:opacity .2s,top .5s var(--ease)}
html.hdr-hide #wf{top:0;height:calc(32px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}
html.mp-open #wf{opacity:0;pointer-events:none}
html:has(#wf.on) .hdr::before{background:#2c2f32;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom-color:transparent}
html:has(#wf.on) .hdr-ch{opacity:0!important}
html:has(#wf.on) .hdr:has(.hdr-ch.on) .hdr-mark{transform:none}
html.hdr-solid .hdr::before{background:#2c2f32;-webkit-backdrop-filter:none;backdrop-filter:none}

@media (max-width:599px){.rail{display:none!important}}

.ctabar{grid-template-columns:minmax(0,1fr)}
.ctabar .btn{white-space:nowrap}
.cta-x{display:none}
@media (min-width:600px){.cta-x{display:inline}}
@media (max-width:899px){body{padding-bottom:calc(var(--barh,70px) + env(safe-area-inset-bottom))}}

.hs-l{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:0;padding-block:8px 18px}
.hs-l>div,.hs-l>div:first-child,.hs-l>div+div{flex-direction:column-reverse;justify-content:flex-end;gap:6px;padding:14px 0 0;border-left:0;border-top:1px solid var(--line-2)}
.hs-l>div{padding-bottom:4px}
.hs-l>div.hs-k{grid-column:1/-1;border-top:0}
.hs-l>.hs-k dd{font-size:clamp(34px,9vw,52px)}
.hs-l dd{font-size:clamp(24px,6.4vw,34px);line-height:1.05}
.hs-l dt{white-space:nowrap}
@media (max-width:380px){.hs-l dd{font-size:24px}}
@media (min-width:600px){.hs-l{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:900px){
  .hs-l{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:clamp(24px,3vw,48px);padding-block:12px 28px}
  .hs-l>div.hs-k{grid-column:auto;grid-row:span 2;border-top:1px solid var(--line-2)}
  .hs-l>.hs-k dd{font-size:clamp(40px,4.4vw,64px)}
  .hs-l dd{font-size:clamp(26px,2.4vw,36px)}
  .hs-l>div,.hs-l>div:first-child,.hs-l>div+div{padding-inline:0}
}
@media (max-width:599px){
  .sec{padding-block:64px}
  .chap+.sec{padding-top:40px}
  .chap{padding-top:48px}
  .pl-close{margin-top:48px}
  .intro-p{font-size:17px;line-height:1.55}
}
