/* GEIST subpages, second pass: grounds taken from the paintings, soft fades, one lens */
:root{--ink:#2A1722;--ivory:#F4EFE6;--air:#FBFAF7;--mint:#C3E7D0;--mintdeep:#A9D6BC;--pink:#F2B8C6;
--ds:'Bodoni Moda','Didot',Georgia,serif;--text:'Archivo',Arial,sans-serif;--mono:'DM Mono',ui-monospace,Menlo,monospace;color-scheme:light}
*{box-sizing:border-box}
html{scroll-padding-top:90px}
body{margin:0;background:var(--air);color:var(--ink);font-family:var(--text);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
p{text-wrap:pretty}
.ds,.st,.h-xl,.h-l,.h-m,.def,.close,.qs,.lead{text-wrap:balance}
a{color:inherit}
:focus-visible{outline:2px solid currentColor;outline-offset:4px}

/* navigation: GEIST to return, Index to open the links */

.ixbar{position:fixed;z-index:60;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:18px 30px;pointer-events:none;font-family:'Archivo',Arial,sans-serif;color:#F4EFE6;transition:color .4s}
.ixbar.onlight{color:#2A1722}
.ixbar.open{color:#F4EFE6!important}
.ixbar a,.ixbar button{pointer-events:auto;color:inherit;text-decoration:none;background:none;border:0;padding:10px 0;min-height:40px;cursor:pointer;transition:color .35s,text-shadow .35s}
.ixbar .logo{font-weight:900;font-stretch:125%;font-size:14px;letter-spacing:.04em;text-transform:uppercase}
.ixbar button{font-family:'DM Mono',ui-monospace,Menlo,monospace;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase}
.ixbar .onlens{color:#F4EFE6!important;text-shadow:0 0 10px rgba(42,23,34,.9),0 0 2px rgba(42,23,34,.95)}
#ixpanel{position:fixed;z-index:59;top:0;right:0;width:min(340px,100vw);padding:78px 30px 32px;background:#2A1722;color:#F4EFE6;display:flex;flex-direction:column;gap:2px;transform:translateY(-104%);visibility:hidden;transition:transform .75s cubic-bezier(.2,1.35,.35,1),visibility 0s .75s}
#ixpanel.open{transform:none;visibility:visible;transition:transform .75s cubic-bezier(.2,1.35,.35,1),visibility 0s}
#ixpanel a{font-family:'Bodoni Moda',Georgia,serif;font-size:24px;line-height:1.55;letter-spacing:-.01em;color:inherit;text-decoration:none}
#ixpanel a:hover{opacity:.7}
#ixpanel a[aria-current]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
@media (prefers-reduced-motion:reduce){#ixpanel,#ixpanel.open{transition:none}}

/* every screen carries a ground; text screens fade in from the ground above */
.sec{position:relative;background:linear-gradient(to bottom,var(--prev,var(--g)) 0,var(--g) 260px)}
.dk{color:var(--ivory)}
.lt{color:var(--ink)}

/* picture screens: the blurred painting fades into the grounds above and below */
.pic{position:relative;height:var(--h,100vh);min-height:620px;background:linear-gradient(to bottom,var(--a) 0,var(--a) 50%,var(--b) 50%,var(--b) 100%)}
.pic .im{position:absolute;inset:0;background-image:var(--bg);background-size:cover;background-position:center;background-attachment:fixed;
-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 280px,#000 calc(100% - 340px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 280px,#000 calc(100% - 340px),transparent 100%)}
.pic.first .im{-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 420px),transparent 100%);mask-image:linear-gradient(to bottom,#000 calc(100% - 420px),transparent 100%)}
.row{position:absolute;z-index:7;top:240px;left:40px;right:40px;display:flex;flex-wrap:wrap;gap:8px 32px;justify-content:space-between;font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#FBFAF7;text-shadow:0 0 14px rgba(40,20,30,.4)}
.pic.first .row{top:96px}
.row a{text-decoration:none}.row a:hover{text-decoration:underline;text-underline-offset:5px}
.win{position:absolute;z-index:7;left:40px;right:40px;bottom:calc(340px + 2vh);margin:0;font-family:var(--text);font-weight:400;text-transform:uppercase;line-height:.9;letter-spacing:-.01em;padding-top:.18em;
font-size:clamp(56px,var(--ws,12vw),220px);background-image:var(--duo);background-size:cover;background-position:center;background-attachment:fixed;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.pic.first .win{bottom:430px}

/* type */
.wrap{position:relative;z-index:7;max-width:1440px;margin:0 auto;padding:170px 60px 170px}
.wrap.short{padding-top:110px;padding-bottom:120px}
.label{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin:0 0 22px;line-height:1.5}
.ds{font-family:var(--ds);font-weight:400;letter-spacing:-.03em}
h1.ds,h2.ds,h3.ds{margin:0}
.st{font-family:var(--ds);font-weight:400;letter-spacing:-.025em;font-size:clamp(40px,4.6vw,64px);line-height:1.06;margin:0;max-width:1150px}
.st.mid{font-size:clamp(26px,2.6vw,36px);line-height:1.24;letter-spacing:-.015em;max-width:1000px}
.h-xl{font-size:clamp(56px,7.2vw,104px);line-height:1;letter-spacing:-.03em}
.h-l{font-size:clamp(40px,4.6vw,64px);line-height:1.06;letter-spacing:-.025em}
.h-m{font-size:clamp(26px,2.6vw,36px);line-height:1.24;letter-spacing:-.015em}
.lead{font-family:var(--ds);font-weight:400;font-size:clamp(24px,2.4vw,32px);line-height:1.26;letter-spacing:-.012em;max-width:900px;margin:0}
.col{max-width:34em}
.col p{margin:0 0 1.05em}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;align-items:start}
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:80px;align-items:start}
.push{margin-left:auto}
.right{text-align:right}
.small{font-size:15px;line-height:1.55}
.gap{height:110px}
.more{font-family:var(--ds);font-size:clamp(20px,1.7vw,24px);line-height:1.25;letter-spacing:-.01em;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px;display:inline-block}
.btn{display:inline-block;font-family:var(--text);font-weight:700;font-size:13px;letter-spacing:.24em;text-transform:uppercase;padding:15px 28px;text-decoration:none}
.lt .btn{background:var(--ink);color:var(--mint)}.dk .btn{background:var(--ivory);color:var(--ink)}
.tx{display:inline-block;transform-origin:left center;transition:transform 1.1s cubic-bezier(.2,2.6,.35,.8)}
.tx:hover{transform:scaleX(1.1)}
.ph{border:1px solid currentColor;padding:28px 30px;font-family:var(--mono);font-size:13px;letter-spacing:.06em;line-height:1.6;max-width:900px;opacity:.85}
.ph .label{margin-bottom:10px;opacity:.75}
.fig{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;margin:0}
.pic-ph{aspect-ratio:16/10;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:24px}

/* practical overview */
.facts{display:grid;grid-template-columns:220px minmax(0,1fr);border-top:1px solid currentColor;max-width:1000px;margin:0}
.facts dt,.facts dd{margin:0;padding:18px 0;border-bottom:1px solid color-mix(in srgb,currentColor 40%,transparent)}
.facts dt{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;padding-top:22px}

/* question lines as a typographic movement */
.qs{margin:100px 0;font-family:var(--ds);font-size:clamp(34px,4.2vw,64px);line-height:1.12;letter-spacing:-.025em}
.qs p{margin:0 0 .3em;text-wrap:balance}
.qs.right{text-align:right}
.close{font-family:var(--ds);font-size:clamp(26px,2.6vw,36px);line-height:1.24;letter-spacing:-.015em;max-width:900px;margin:110px 0 0}
.def{font-family:var(--ds);font-size:clamp(26px,2.6vw,36px);line-height:1.24;letter-spacing:-.015em;max-width:900px;margin:0 0 70px}

/* fold-out rows */
details{border-top:1px solid color-mix(in srgb,currentColor 45%,transparent);max-width:1000px}
details:last-of-type{border-bottom:1px solid color-mix(in srgb,currentColor 45%,transparent)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;min-height:44px;font-family:var(--ds);font-size:clamp(20px,1.7vw,24px);letter-spacing:-.02em}
summary::-webkit-details-marker{display:none}
summary .sym{font-family:var(--mono);font-size:22px;transition:transform .9s cubic-bezier(.2,2.2,.35,.8)}
details[open] summary .sym{transform:rotate(45deg)}
details .body{padding:0 0 26px;max-width:660px}

/* the lens: one travelling disc, dots over pictures, pink over text */
#lens{position:fixed;left:0;top:0;width:420px;height:420px;z-index:5;pointer-events:none;border-radius:50%;
-webkit-mask-image:url(img/dotmask.png);mask-image:url(img/dotmask.png);-webkit-mask-size:100% 100%;mask-size:100% 100%;will-change:transform}
#lens .in{position:absolute;inset:0;background-color:var(--pink);background-size:cover;background-position:center;background-attachment:fixed;transition:background-color .6s}

/* footer */
.foot{position:relative;color:var(--ink);background:linear-gradient(to bottom,var(--prev) 0,var(--mint) 300px);padding:220px 60px 0;overflow:hidden}
.foot>*{position:relative;z-index:7}
.foot .cols{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 60px}
.foot .cols>div{display:flex;flex-direction:column;gap:14px;align-items:flex-start;max-width:400px}
.foot .cols .label{margin:0 0 4px}
.foot .cols p{margin:0}
.foot .cols .more{margin-top:12px}
.foot .cols .small{opacity:.8}
.foot .links{max-width:1320px;margin:90px auto 0;display:flex;flex-wrap:wrap;gap:10px 28px;font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.foot .links a{text-decoration:none}.foot .links a:hover{text-decoration:underline;text-underline-offset:5px}
.foot details{max-width:1320px;margin:28px auto 0}
.foot summary{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.foot .mark{font-weight:900;font-stretch:125%;font-size:clamp(160px,28vw,400px);line-height:.8;letter-spacing:-.02em;color:var(--mintdeep);margin:60px 0 0 -40px;white-space:nowrap}

@media (max-width:820px){
  body{font-size:17px}
  .ixbar{padding:12px 18px}
  .pic .im{background-attachment:scroll}
  .win{background:none;color:#D6EFDF;-webkit-text-fill-color:#D6EFDF;left:20px;right:20px}
  .row{left:20px;right:20px}
  .wrap{padding:110px 20px 120px}
  .two,.split{grid-template-columns:1fr;gap:40px}
  .facts{grid-template-columns:1fr}.facts dt{border-bottom:0;padding-bottom:0}
  .foot{padding:160px 20px 0}
  .foot .cols{grid-template-columns:1fr;gap:56px}
  .right,.qs.right{text-align:left}.push{margin-left:0}
  #lens{display:none}
}
@media (prefers-reduced-motion:reduce){.tx,summary .sym{transition:none}#lens{display:none}}
/*neo*/:root{--neon:#EAFF00}
.neo{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--neon);vertical-align:.12em;margin-right:12px;box-shadow:0 0 8px 1px rgba(234,255,0,.55);animation:neo 2.8s ease-in-out infinite}
#ixpanel .neo{width:8px;height:8px;vertical-align:.3em;margin:0 0 0 12px}
@keyframes neo{0%,100%{opacity:.8;box-shadow:0 0 5px 0 rgba(234,255,0,.4)}50%{opacity:1;box-shadow:0 0 14px 3px rgba(234,255,0,.7)}}
.btn-neo{display:inline-block;background:var(--neon);color:#2A1722!important;font-family:'Archivo',Arial,sans-serif;font-weight:700;font-size:13px;letter-spacing:.24em;text-transform:uppercase;padding:17px 30px;text-decoration:none!important;border:0!important;transition:transform .45s cubic-bezier(.2,1.8,.4,1),box-shadow .45s}
.btn-neo:hover{transform:scale(1.045);box-shadow:0 0 28px 4px rgba(234,255,0,.45)}
::selection{background:var(--neon);color:#2A1722}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--neon);outline-offset:3px;box-shadow:0 0 0 5px #2A1722}
@media (prefers-reduced-motion:reduce){.neo{animation:none;opacity:1}.btn-neo,.btn-neo:hover{transition:none;transform:none}}
/*/neo*/
/*neobox*/
.foot .cols .neo-box{background:var(--neon);color:#2A1722;padding:30px 32px 36px;margin:-30px 0 0 -32px;max-width:464px;transition:transform .5s cubic-bezier(.2,1.7,.4,1),box-shadow .5s}
.foot .cols .neo-box:hover{transform:scale(1.025);box-shadow:0 0 40px 6px rgba(234,255,0,.35)}
@media (max-width:820px){.foot .cols .neo-box{margin:-28px -20px 0;padding:28px 20px 34px;max-width:none}}
@media (prefers-reduced-motion:reduce){.foot .cols .neo-box,.foot .cols .neo-box:hover{transition:none;transform:none}}
/*/neobox*/
