.ph-sec .sheet{margin-top:8px}
.ph-grid .h1{font-size:clamp(46px,5.6vw,88px)}
.hide-s{}
.ps-bar{height:2px;background:var(--line);margin-top:-1px;position:relative}
.ps-bar span{position:absolute;inset:0;background:var(--blue);transform-origin:left;transform:scaleX(var(--p,0))}
.cta-mini{border-top:1px solid var(--line);background:var(--paper)}
.cta-mini .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:64px;padding-bottom:64px;flex-wrap:wrap}
.cta-mini .h2{margin:0}
.idx-sec{border-top:1px solid var(--line)}
figure{margin:0}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.chip{border:1px solid var(--line);background:transparent;padding:9px 12px 8px;font:500 11px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;cursor:pointer;display:inline-flex;gap:8px;transition:border-color .2s,background-color .2s,color .2s}
.chip span{color:var(--graphite)}
.chip:hover{border-color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.chip[aria-pressed="true"] span{color:#9AA7FF}
.gr-art{grid-column:1/7}
.gr-frame{background:var(--paper);border:1px solid var(--line);padding:16px}
.gridmap{width:100%;height:auto}
.gridmap .tg,.gridmap .tp{paint-order:stroke;stroke:var(--paper);stroke-width:3px;stroke-linejoin:round}
.gr-copy{grid-column:8/13;align-self:center}
.gr-copy .h2{margin:14px 0 18px}
.gr-key{list-style:none;padding:0;margin:26px 0;border-top:1px solid var(--ink)}
.gr-key li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:15px}
.kpin{width:10px;height:10px;border-radius:50%;background:var(--ink)}
.kstudio{width:10px;height:10px;background:var(--blue)}
.kline{width:18px;border-top:1px solid var(--ink)}
.gr-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0}
.gr-counts div{border-left:1px solid var(--ink);padding-left:12px}
.gr-counts dd{margin:6px 0 0;font-size:40px;font-weight:300;letter-spacing:-.03em;line-height:1}
.pin{cursor:pointer}
.pin circle{fill:var(--ink);transition:fill .25s,r .25s}
.pin.on circle{fill:var(--blue);r:7px}
.pin.on text{fill:var(--blue)}
.pin.dim{opacity:.2 !important}
.pin:hover circle{fill:var(--blue)}
.studio-pin rect{fill:var(--blue)}
@media (prefers-reduced-motion:no-preference){
  .js .gridmap .pin{opacity:0;transition:opacity .4s ease calc(var(--i) * 90ms + .7s)}
  .js .gridmap.on .pin{opacity:1}
}
.cs-copy{grid-column:1/6}
.cs-copy .h2{margin:14px 0 20px}
.cs-copy p{max-width:32em}
.cs-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:30px 0 0;border-top:1px solid var(--ink);padding-top:14px}
.cs-facts dd{margin:6px 0 0;font-size:19px}
.cs-art{grid-column:7/13;align-self:center}
.cs-tabs{display:flex;gap:0;border-bottom:1px solid var(--ink)}
.cs-tabs button{all:unset;cursor:pointer;padding:10px 18px 9px 0;margin-right:18px;font-size:15px;color:var(--graphite);display:flex;gap:10px;align-items:baseline;transition:color .25s}
.cs-tabs button.on{color:var(--ink)}
.cs-tabs button.on .lab{color:var(--blue)}
.cs-tabs button:hover{color:var(--ink)}
.cs-frame{display:grid;background:var(--paper);aspect-ratio:560/360;margin-top:16px;border:1px solid #C9C4BC}
.cs-frame>figure{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .5s ease,visibility 0s linear .5s}
.cs-frame>figure.on{opacity:1;visibility:visible;transition:opacity .5s ease}
.cs-frame svg{width:100%;height:100%}
.cs-note{margin-top:12px}
.areas{border-top:1px solid var(--line)}
.area{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);padding:64px 0;border-bottom:1px solid var(--line);align-items:center;scroll-margin-top:var(--hdr)}
.ar-no{grid-column:1/3;align-self:start;display:flex;flex-direction:column;gap:6px;padding-top:10px}
.ar-no .lab:first-child{color:var(--blue);font-size:13px}
.ar-main{grid-column:3/8}
.ar-main .h2{margin-bottom:16px}
.ar-main p{max-width:34em}
.ar-list{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.ar-list li{border:1px solid var(--line);padding:7px 10px 6px;color:var(--ink)}
.ar-art{grid-column:9/13;background:var(--paper);border:1px solid var(--line);aspect-ratio:4/3}
.ar-art svg{width:100%;height:100%;padding:4%}
.area:nth-child(even) .ar-art{background:var(--ground)}
.sec-head2{display:grid;grid-template-columns:3fr 5fr 4fr;gap:var(--gap);align-items:end;margin-bottom:40px}
.sec-head2 p:last-child{margin:0}
.ty-dw{width:100%;height:auto}
.ty-hint{display:none}
.phs-intro{grid-column:1/5;align-self:start;position:sticky;top:calc(var(--hdr) + 32px)}
.phs-intro .h2{margin:14px 0 18px}
.phs{grid-column:6/13;list-style:none;margin:0;padding:0 0 0 36px;position:relative}
.phs::before,.phs::after{content:"";position:absolute;left:0;top:6px;bottom:6px;width:1.5px;background:var(--line)}
.phs::after{background:var(--blue);transform-origin:top;transform:scaleY(var(--p,0))}
.phase{display:grid;grid-template-columns:44px 1fr;padding:0 0 40px;position:relative}
.phase::before{content:"";position:absolute;left:-40px;top:5px;width:9px;height:9px;background:var(--ground);border:1.5px solid var(--line);transition:background-color .3s,border-color .3s}
.phase.lit::before{background:var(--blue);border-color:var(--blue)}
.phase .pn{padding-top:4px;transition:color .3s}
.phase.lit .pn{color:var(--blue)}
.phase .h3{margin-bottom:8px}
.phase p{margin:0 0 10px;max-width:36em;color:var(--graphite)}
.phase p.lab{margin:0}
.fe-intro{grid-column:1/4}
.fe-intro .h2{margin-top:14px}
.fe-cols{grid-column:5/13;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.fe-cols>div{border-top:1px solid var(--ink);padding-top:16px}
.fe-cols .h3{margin:10px 0 8px}
.fe-cols p{margin:0;font-size:15px;color:#46433F}
.st-copy{grid-column:1/6}
.st-copy .h3{margin-bottom:16px}
.st-copy p{max-width:32em}
.dates{grid-column:7/13;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1.5px solid var(--ink);align-self:start;margin-top:8px}
.dates li{position:relative;padding:22px 16px 0 0}
.dates li::before{content:"";position:absolute;top:-5px;left:0;width:8px;height:8px;background:var(--ink)}
.dates li:last-child::before{background:var(--blue)}
.dates p{margin:8px 0 0;font-size:15px}
.pp{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:center}
.pp-art{grid-column:1/8}
.pp-frame{background:var(--ground);border:1px solid var(--line);padding:10px}
.st-dw{width:100%;height:auto}
.pp-cap{margin-top:12px}
.pp-list{grid-column:9/13}
.pp-list .h2{margin:14px 0 22px}
.pp-list ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.pp-list li{display:grid;grid-template-columns:30px 1fr;row-gap:2px;padding:10px 0 9px;border-bottom:1px solid var(--line);cursor:pointer;position:relative}
.pp-list li .lab:last-of-type{grid-column:2}
.pp-list .pn{font-size:16px;transition:color .25s,translate .35s var(--ease)}
.pp-list li.on .pn{color:var(--blue);translate:4px 0}
.pp-list li.on>.lab:first-child{color:var(--blue)}
.pp-list li i{position:absolute;left:0;bottom:-1px;width:100%;height:1.5px;background:var(--blue);transform-origin:left;transform:scaleX(var(--sp,0));opacity:0}
.pp-list li.on i{opacity:1}
.desk .s{transition:stroke .3s}
.desk .fw{transition:fill .3s}
.desk.on .s,.desk.on .chair{stroke:var(--blue)}
.desk.on .fw{fill:var(--blue-wash)}
.desk.on text{fill:var(--blue)}
.pri-intro{grid-column:1/4}
.pri-intro .h2{margin-top:14px}
.pri{grid-column:5/13;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:36px var(--gap)}
.pri li{border-top:1px solid var(--ink);padding-top:14px}
.pri .h3{margin:10px 0 8px}
.pri p{margin:0;color:var(--graphite)}
.creds ul{list-style:none;margin:0;padding:22px 0;display:flex;flex-wrap:wrap;gap:8px 0}
.creds li{color:var(--ink)}
.creds li+li::before{content:"/";margin:0 14px;color:var(--graphite)}
.ct-form{grid-column:1/8}
.ct-side{grid-column:9/13}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fld{display:block;margin:0 0 22px;position:relative}
.fld>.lab{display:block;margin-bottom:8px}
.fld input,.fld select,.fld textarea{width:100%;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:8px 0 10px;font-size:17px;border-radius:0;outline:0;transition:border-color .2s;-webkit-appearance:none;appearance:none}
.fld select{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6' fill='none' stroke='%23121212'/%3E%3C/svg%3E") right 4px center/10px 6px no-repeat;padding-right:24px;cursor:pointer}
.fld textarea{resize:vertical;border:1px solid var(--ink);padding:12px;min-height:130px}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--blue)}
.fld em{display:none;font-style:normal;font:500 11px var(--mono);color:#B3261E;margin-top:6px;letter-spacing:.04em}
.fld.err em{display:block}
.fld.err input,.fld.err textarea{border-color:#B3261E}
.chips-f{border:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips-f legend{margin-bottom:10px;padding:0;width:100%}
.chips-f label{cursor:pointer}
.chips-f input{position:absolute;opacity:0;width:1px;height:1px}
.chips-f span{display:inline-block;border:1px solid var(--line);padding:10px 14px 9px;font-size:15px;transition:border-color .2s,background-color .2s,color .2s}
.chips-f label:hover span{border-color:var(--ink)}
.chips-f input:checked+span{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.chips-f input:focus-visible+span{outline:1.5px solid var(--blue);outline-offset:2px}
.fsend{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:8px}
.fsend p{margin:0;font-size:13.5px;max-width:28em}
form.sent{display:none}
.sent{border-top:1.5px solid var(--blue);padding-top:20px}
.sent .h2{margin:12px 0}
.next{border:1px solid var(--line);background:var(--paper);padding:20px 20px 8px;margin-bottom:28px}
.next ol{list-style:none;margin:14px 0 0;padding:0}
.next li{display:grid;grid-template-columns:30px 1fr;padding:10px 0 12px;border-top:1px solid var(--line);position:relative;cursor:pointer}
.next b{font-weight:400;display:block;font-size:16px;color:var(--graphite);transition:color .25s}
.next li span:not(.lab){font-size:14px;color:var(--graphite)}
.next li.on b,.next li.done b{color:var(--ink)}
.next li.on>.lab{color:var(--blue)}
.next li i{position:absolute;left:0;bottom:0;width:100%;height:1.5px;background:var(--blue);transform-origin:left;transform:scaleX(var(--sp,0))}
.direct{margin:0 0 28px}
.direct div{display:grid;grid-template-columns:70px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.direct dt{padding-top:3px}
.direct dd{margin:0;font-size:15px}
.direct .badge{margin-top:8px}
.minimap{background:var(--paper);border:1px solid var(--line);padding:8px}
.minimap figcaption{padding:10px 4px 4px}
@media (max-width:860px){
  .ph-grid .h1{font-size:44px}
  .area{padding:44px 0;row-gap:16px;grid-template-columns:minmax(0,1fr)}
  .area>*{grid-column:1/-1 !important}
  .ar-no{flex-direction:row;gap:14px;padding-top:0}
  .ar-art{max-width:420px}
  .sec-head2{grid-template-columns:1fr;gap:10px}
  .ty-scroll{overflow-x:auto;margin:0 calc(var(--pad)*-1);padding:0 var(--pad)}
  .ty-dw{width:900px;max-width:none}
  .ty-hint{display:block;margin:-20px 0 12px}
  .phs-intro{position:static;margin-bottom:28px}
  .phs{padding-left:28px}
  .phase::before{left:-32px}
  .phase{grid-template-columns:34px 1fr;padding-bottom:30px}
  .fe-cols{grid-template-columns:1fr;margin-top:24px}
  .gr-copy{margin-top:28px}
  .cs-copy{margin-bottom:32px}
  .cs-facts{grid-template-columns:repeat(2,1fr)}
  .dates{grid-template-columns:1fr 1fr;row-gap:24px;margin-top:32px}
  .pp{grid-template-columns:minmax(0,1fr);row-gap:28px}
  .pp>*{grid-column:1/-1 !important}
  .pri{grid-template-columns:1fr;margin-top:24px}
  .frow{grid-template-columns:1fr;gap:0}
  .ct-side{margin-top:40px}
  .cta-mini .wrap{padding-top:48px;padding-bottom:48px}
}
.st-side{grid-column:7/13}
.st-side .dates{margin-top:36px}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.duo-f{margin:0}
.duo-ph{aspect-ratio:4/5;border:1px solid var(--ink);padding:6px;background:var(--paper)}
.duo-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;display:block}
.duo-f figcaption{display:grid;gap:3px;margin-top:12px}
.duo-f figcaption .lab:first-child{color:var(--blue)}
.duo-f b{font-weight:600;font-size:16px;letter-spacing:-.01em}
@media (max-width:900px){.st-side{margin-top:36px}}
@media (max-width:560px){.duo{gap:12px}.duo-ph{padding:4px}.duo-f b{font-size:14.5px}}
