:root{color-scheme:light;--ink:#151515;--paper:#f7f4ec;--orange:#f45a24;--yellow:#f2d40b;--green:#49c85c;--blue:#1778ad;--line:2px solid var(--ink);font-family:var(--hub-font-body);color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0}button,input,a{font:inherit}a{color:inherit}button{color:inherit;cursor:pointer}button,a,input{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--blue);outline-offset:5px}button{border-radius:0}img{display:block;max-width:100%}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:-100px;left:20px;padding:15px;background:var(--yellow);z-index:100}.skip:focus{top:10px}
.review-note{padding:7px 3.4%;background:var(--ink);color:var(--paper);font-size:10px;letter-spacing:.07em;font-weight:700;display:flex;gap:18px;align-items:center}.review-note span{font-weight:400;letter-spacing:0}.site-header{height:76px;border-bottom:var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 3.4%}.brand{display:flex;align-items:center;gap:12px;font-size:29px;letter-spacing:-1.5px;font-weight:900;text-decoration:none}.brand>span:last-child{font-size:11px;line-height:1.1;letter-spacing:.03em;max-width:60px}.brand-mark{display:grid;grid-template-columns:repeat(2,11px);gap:3px;margin-right:4px}.brand-mark i{width:11px;height:11px;background:var(--orange)}.brand-mark i:nth-child(2){background:var(--yellow)}.brand-mark i:nth-child(3){background:var(--blue)}.brand-mark i:nth-child(4){background:var(--green)}.hub-link{font-weight:600;text-decoration:none;font-size:13px}.hub-link span{margin-left:24px;font-size:23px}
.hero{position:relative;min-height:665px;height:calc(100svh - 106px);max-height:1000px;overflow:hidden;border-bottom:var(--line)}.section-id{display:flex;justify-content:space-between;padding:26px 3.4%;font-size:11px;font-weight:700;letter-spacing:.09em}.intro{position:relative;z-index:2;width:55%;padding:clamp(32px,7vh,86px) 0 110px 5.3%;pointer-events:none}.intro a{pointer-events:auto}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.12em;margin:0 0 24px}h1{font-size:clamp(64px,7.3vw,114px);line-height:.94;letter-spacing:-.05em;margin:0;font-weight:900}h1>span{display:block}h1 .period{color:var(--orange)}.intro-copy{font-size:clamp(16px,1.45vw,22px);line-height:1.5;margin:28px 0 30px}.directory-link{display:inline-flex;align-items:center;gap:32px;border-bottom:var(--line);padding:12px 0;font-weight:600;font-size:13px;text-decoration:none}.directory-link span{font-size:24px;transition:transform .2s}.directory-link:hover span{transform:translateY(4px)}
.globe-area{position:absolute;left:46%;right:2%;top:63px;bottom:75px;display:flex;flex-direction:column;justify-content:center}.globe{position:relative;width:100%;height:100%;min-height:390px;max-height:680px;touch-action:pan-y;cursor:grab;user-select:none;isolation:isolate}.globe.dragging{cursor:grabbing}.orbit{position:absolute;left:50%;top:50%;width:76%;aspect-ratio:1;border:1px solid #15151519;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%)}.orbit-two{transform:translate(-50%,-50%) rotate(-25deg) scaleX(.38)}.orbit-three{transform:translate(-50%,-50%) rotate(-25deg) scaleY(.38)}.globe-mark{position:absolute;left:50%;top:50%;width:clamp(62px,7.5vw,116px);aspect-ratio:1;border:none;background:var(--paper);padding:5px;cursor:pointer;will-change:transform;box-shadow: none;transition:none;isolation:isolate}.globe-mark img{width:100%;height:100%;object-fit:contain;pointer-events:none}.globe-mark:hover{box-shadow: none}.globe-mark .name-tag{position:absolute;top:100%;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--paper);font-size:12px;font-weight:600;white-space:nowrap;padding:6px 12px;opacity:0;pointer-events:none}.globe-mark:hover .name-tag{opacity:1}.globe-caption{display:flex;align-items:center;justify-content:center;gap:20px;min-height:36px;font-size:11px}.globe-caption button{border:0;border-left:1px solid #aaa;background:none;padding:8px 0 8px 20px;font-size:11px}.hero-footer{position:absolute;bottom:0;left:0;right:0;height:65px;margin:0 3.4%;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #15151540;font-size:9px;font-weight:600;letter-spacing:.08em}.small-colors{display:flex;gap:5px}.small-colors i{width:8px;height:8px;background:var(--orange)}.small-colors i:nth-child(2){background:var(--yellow)}.small-colors i:nth-child(3){background:var(--blue)}.small-colors i:nth-child(4){background:var(--green)}
.directory{padding:65px 5.3% 85px;background:#fff}.directory-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:36px}.directory-heading .eyebrow{margin-bottom:16px}.directory-heading h2{font-size:clamp(44px,5vw,72px);line-height:1;letter-spacing:-.06em;margin:0;font-weight:900}.directory-heading>p{font-size:14px;line-height:1.6;margin:0}.toolbar{display:flex;align-items:stretch;justify-content:space-between;gap:20px;padding:16px 0;border-top:var(--line);border-bottom:1px solid #15151540}.filters{display:flex;gap:8px}.filters button{border:1px solid transparent;background:transparent;padding:12px 16px;font-size:12px;font-weight:600}.filters button[aria-pressed=true]{background:var(--yellow);border-color:var(--ink)}.filters button span{margin-left:10px;font-size:10px}.search-wrap{position:relative;width:250px}.search-wrap input{width:100%;height:100%;min-height:44px;border:1px solid #15151560;border-radius:0;padding:10px 32px 10px 14px;background:transparent;font-size:12px}.search-wrap>span{position:absolute;right:12px;top:8px;pointer-events:none;font-size:23px}.result-count{font-size:10px;color:#555;margin:18px 0 24px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 24px}.mark{border:0;background:none;padding:0;text-align:left;text-decoration:none;min-width:0}.mark-art{display:grid;place-items:center;aspect-ratio:1;background:var(--paper);padding:18%;overflow:hidden;transition:background .25s}.mark-art img{width:100%;height:100%;object-fit:contain;transition:transform .35s cubic-bezier(.2,.8,.3,1)}.mark:hover .mark-art,.mark:focus-visible .mark-art{background:#f2d40b44}.mark:hover img,.mark:focus-visible img{transform:scale(1.1)}.mark-label{display:flex;justify-content:space-between;align-items:center;padding:14px 0 8px;border-bottom:1px solid #15151540;font-size:14px;font-weight:600}.mark-label>span{font-size:21px}.empty{text-align:center;padding:70px 20px}.empty h3{font-size:32px;letter-spacing:-.04em}.empty button{background:var(--yellow);border:var(--line);padding:12px 20px}.site-footer{padding:32px 3.4%;background:var(--yellow);border-top:var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px}.site-footer strong{font-size:15px;letter-spacing:-.03em}.site-footer a{text-decoration:none}
dialog{padding:0;width:min(850px,calc(100% - 32px));max-height:calc(100svh - 40px);border:var(--line);background:var(--paper);color:var(--ink);overflow:auto}dialog::backdrop{background:#151515b3;backdrop-filter:blur(7px)}.detail-top{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:var(--line);font-size:9px;letter-spacing:.1em}.detail-top button{width:44px;height:44px;border:0;background:var(--yellow);font-size:30px}.detail-art{height:min(45svh,430px);padding:30px;display:grid;place-items:center}.detail-art img{width:100%;height:100%;min-height:0;object-fit:contain}.detail-bottom{border-top:var(--line);padding:26px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff}.detail-bottom .eyebrow{margin-bottom:10px}.detail-bottom h2{font-size:44px;letter-spacing:-.05em;margin:0;line-height:1}.detail-bottom a{background:var(--yellow);padding:15px 20px;border:var(--line);font-size:13px;text-decoration:none;font-weight:600}.detail-bottom a>span:first-child{margin-left:24px}.detail-bottom>p{font-size:13px}.detail-navigation{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-top:1px solid var(--ink);font-size:11px}.detail-navigation button{background:none;border:0;padding:12px 0;min-width:80px;font-size:12px}.detail-navigation button:disabled{opacity:.35;cursor:default}body:has(dialog[open]){overflow:hidden}
.enhanced .intro>*{animation:enter .75s both cubic-bezier(.16,1,.3,1)}.enhanced .intro h1{animation-delay:.12s}.enhanced .intro-copy{animation-delay:.24s}.enhanced .directory-link{animation-delay:.36s}.enhanced dialog[open]{animation:enter .25s both}.enhanced .grid .mark{animation:enter .45s both;animation-delay:calc(min(var(--order),7)*35ms)}@keyframes enter{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.intro{padding-top:12vh}.globe-area{left:48%;right:4%}}@media(max-width:1000px){h1{font-size:clamp(58px,8vw,86px)}.hero{min-height:650px}.globe-area{left:44%;right:0}.intro{padding-left:4%;padding-top:80px}.grid{gap:28px 18px}.globe-caption{gap:10px;font-size:10px}.hero-footer{font-size:8px}}
@media(max-width:700px){.review-note{font-size:8px;padding:6px 4%;gap:10px}.review-note span{font-size:8px;max-width:240px}.site-header{height:65px;padding:0 5%}.brand{font-size:25px}.hub-link{font-size:11px}.hub-link span{margin-left:8px}.hero{height:auto;max-height:none;min-height:0}.section-id{padding:20px 5%;font-size:9px}.intro{width:100%;padding:20px 6% 5px}.intro .eyebrow{font-size:9px;margin-bottom:18px}h1{font-size:clamp(56px,13vw,86px);letter-spacing:-.065em}h1>span{display:inline}h1>span+span:before{content:' '}.intro-copy{font-size:14px;margin:20px 0 5px}.intro-copy br{display:none}.directory-link{font-size:12px;padding:12px 0;gap:25px}.globe-area{position:relative;inset:auto;height:300px;margin:0 3% 66px}.globe{min-height:260px}.globe-mark{width:60px}.globe-caption{font-size:10px;gap:15px}.hero-footer{height:55px;margin:0 5%;font-size:7px}.small-colors{display:none}.directory{padding:40px 6% 55px}.directory-heading{display:block;margin-bottom:24px}.directory-heading>p{margin-top:20px;font-size:12px}.directory-heading>p br{display:none}.directory-heading h2{font-size:46px}.toolbar{flex-wrap:wrap;gap:14px}.filters{width:100%}.filters button{flex:1;font-size:11px;padding:12px 8px}.filters button span{margin-left:5px}.search-wrap{width:100%}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 16px}.mark-art{padding:14%}.mark-label{font-size:12px;padding-top:10px}.site-footer{flex-wrap:wrap;padding:24px 6%;font-size:10px}.site-footer span{order:3;width:100%}.detail-bottom{padding:20px;gap:16px;flex-wrap:wrap}.detail-bottom h2{font-size:36px}.detail-art{height:38svh;padding:24px}.detail-bottom a{padding:12px;font-size:12px}.detail-top{padding:9px 15px;font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.globe-mark{will-change:auto}}

/* The same PNG elements travel from the globe to the measured grid positions. */
:root{--morph:0;--intro-opacity:1}
.site-header{position:sticky;top:0;z-index:40;background:var(--paper)}
.view-switch{display:flex;align-items:center;border:var(--line);padding:3px;gap:3px;background:var(--paper)}
.view-switch button{border:0;background:transparent;min-height:38px;padding:0 23px;font-size:12px;font-weight:600}
.view-switch button[aria-pressed=true]{background:var(--yellow)}
.hero{height:calc(100svh - 106px);min-height:560px;max-height:900px;overflow:visible}
.intro{width:45%;padding-top:clamp(45px,10vh,100px);opacity:var(--intro-opacity);transform:translateY(calc(var(--morph)*-40px))}
h1{font-size:clamp(58px,6vw,92px);font-weight:650;letter-spacing:-.05em;line-height:1.03}
.intro-copy{font-size:clamp(16px,1.4vw,20px)}
.globe-area{left:40%;right:2%;top:50px;bottom:76px}
.globe{min-height:0;isolation:auto}
.orbit{width:var(--orbit-size,76%);opacity:calc(1 - var(--morph)*3)}
.globe-caption{position:relative;z-index:6;font-size:12px;opacity:var(--intro-opacity)}
.globe-caption button{min-height:44px;padding:10px 14px;border:1px solid #15151570;background:var(--paper);font-size:11px}
.hero-footer,.globe-caption{opacity:clamp(0,calc(1 - var(--morph)*8),1)}
#globe-marks{position:fixed;inset:0;z-index:8;pointer-events:none;overflow:hidden;contain:layout paint}
.globe-mark{left:0;top:0;background:transparent;padding:0;box-shadow: none;transition:none;touch-action:pan-y}
.globe-mark img{background:transparent}
.globe-mark:hover{box-shadow: none}
.globe-mark.is-selected{background:var(--paper);outline:2px solid var(--ink);outline-offset:5px}
.globe-mark.is-selected .name-tag{opacity:1;top:calc(100% + 8px);font-size:9px;padding:5px 7px}
.globe-mark .name-tag{transition:opacity .15s}
.directory{position:relative;scroll-margin-top:94px}
.directory-heading,.toolbar,.result-count{position:relative;z-index:9}
.directory-heading h2{font-weight:750;letter-spacing:-.05em}
.mark-art{background:#f7f4ec;padding:18%}
.enhanced .grid .mark{animation:none}
.unfolding .grid .mark-art img{opacity:0}
.unfolding .grid .mark-label{opacity:var(--morph)}
.unfolding .grid .mark-art{background:transparent}
.mark-label>span{font-size:20px;font-weight:400}
.mark:focus-visible .mark-label>span,.mark:hover .mark-label>span{transform:rotate(90deg);transition:transform .2s}
.artist-statement{padding:24px 28px;background:white;border-top:1px solid var(--ink)}
.artist-statement h3{margin:0 0 12px;font-size:13px}.artist-statement p{margin:0;max-width:60ch;font-size:15px;line-height:1.6;white-space:pre-line}
.motion-off *{animation:none!important;transition:none!important}
@media(max-width:1000px) and (min-width:701px){.intro{width:48%;padding-left:4%}.globe-area{left:44%}h1{font-size:clamp(54px,6.7vw,72px)}}
@media(max-width:700px){
  .site-header{padding:0 5%;height:65px;gap:10px}.brand>span:last-child{display:none}.hub-link{font-size:0}.hub-link span{font-size:23px;margin:0}
  .view-switch button{padding:0 14px;min-height:34px;font-size:11px}
  .hero{height:auto;min-height:0;max-height:none}.intro{width:100%;padding:20px 6% 5px;transform:none}
  h1{font-size:clamp(48px,12vw,68px);font-weight:650;line-height:1.03;letter-spacing:-.05em}
  .intro-copy{font-size:14px;margin:16px 0 5px}.globe-area{position:relative;inset:auto;height:350px;margin:5px 3% 55px}
  .globe{min-height:300px}.globe-caption{gap:12px;font-size:10px}.globe-caption button{font-size:10px;min-height:40px}
  .directory-heading h2{font-size:42px}.directory{scroll-margin-top:80px}
}
@media(min-width:500px) and (max-width:700px){.globe-area{height:410px}.globe{min-height:350px}}

/* One uninterrupted surface from the connected orb into the collection. */
.site-header{border:0;background:var(--paper);gap:18px}
.view-switch{border:0;background:none;padding:0;gap:4px;margin-left:auto}
.view-switch button{background:none}
#motion-toggle{border:0;background:none;min-height:44px;padding:8px 12px;font-size:11px;white-space:nowrap}
.in-transit .site-header{opacity:0;pointer-events:none;visibility:hidden}
.hero{height:calc(100svh - 76px);border:0}
.intro{padding-top:clamp(90px,24vh,240px)}
.portfolio-introduction{max-width:37ch;margin-top:26px;font-size:clamp(15px,1.35vw,18px);line-height:1.55}
.portfolio-introduction p{margin:0 0 14px}
.globe-area{top:22px;bottom:28px}
.directory{background:var(--paper);border:0;padding-top:24px;min-height:calc(100svh - 76px);overflow-anchor:none}
.toolbar{border:0;padding:12px 0;gap:20px}
.result-count{margin:14px 0 24px}
.unfolding .toolbar,.unfolding .result-count{opacity:0;visibility:hidden;pointer-events:none}
.unfolding .grid .mark-label{opacity:0}
.mark-art,.mark:hover .mark-art,.mark:focus-visible .mark-art{background:transparent}
.mark-label{border:0}
#orb-lines{position:absolute;inset:0;pointer-events:none;z-index:-1}
.globe-mark.is-selected{background:transparent;outline:0}
.globe-mark.is-selected .name-tag{background:var(--paper);color:var(--ink);font-weight:600;padding:4px 6px;font-size:10px}
.globe-mark{cursor:grab;touch-action:none}
.globe.dragging,.globe.dragging~*{cursor:grabbing}
.site-footer{background:var(--paper);border:0}
@media(max-width:700px){
  .site-header{gap:6px}.view-switch{margin-left:auto}.view-switch button{padding:0 11px}#motion-toggle{padding:6px;font-size:10px}.brand{gap:5px}.brand-mark{margin-right:3px}
  .hero{height:auto;min-height:660px}.intro{padding:32px 6% 0}.globe-area{inset:auto;height:425px;margin:10px 3% 0}.globe{min-height:400px}
  .portfolio-introduction{max-width:42ch;margin-top:20px;font-size:15px}
  .directory{padding-top:16px}.toolbar{padding-top:0}
}
