html,body{height:100%;margin:0;overflow:hidden;background:#fff}
body{margin:0}
a{color:#2e3092}a:hover{color:#1a1716}
@font-face{font-family:"Crystal";src:url(fonts/Crystal-Regular.woff2?v=47fd9eef4f) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Crystal";src:url(fonts/Crystal-Medium.woff2?v=dd6aaec4d4) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Crystal";src:url(fonts/Crystal-SemiBold.woff2?v=2f10c9b758) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Crystal";src:url(fonts/Crystal-Bold.woff2?v=0172e9790c) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Crystal";src:url(fonts/Crystal-Italic.woff2?v=da28f4f154) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Crystal Expanded";src:url(fonts/Crystal-ExpandedMedium.woff2?v=f4470773d8) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Crystal Expanded";src:url(fonts/Crystal-ExpandedBold.woff2?v=b0311e4675) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Portonovo";src:url(fonts/Portonovo-Upright-VF.ttf?v=cf9aef8e9a) format("truetype");font-weight:1 1000;font-style:normal;font-display:swap}
@font-face{font-family:"Portonovo";src:url(fonts/Portonovo-Italic-VF.ttf?v=daecae332e) format("truetype");font-weight:1 1000;font-style:italic;font-display:swap}

.at{--ink:#1a1716;--g1:#524947;--g2:#6d6761;--g3:#b3a8a1;--g4:#e2ded9;--bw:#f1ebe3;--lb:#8bb7d0;--or:#f4785a;--bl:#2e3092;--gr:#b4d886;--gink:#33402a;--ew:30px;--gut:64px;
 position:relative;overflow:hidden;background:#fff;color:var(--ink);font-family:Crystal,"Helvetica Neue",Arial,sans-serif;font-weight:400}
.at *,.at *::before,.at *::after{box-sizing:border-box}
:where(.at) button{font:inherit;color:inherit}
.ct{transition:opacity .16s}
.at.jmp .ct{opacity:0}
.at.jmp .edge .mk{transition:top .3s cubic-bezier(.2,.8,.2,1)}
.sc{position:absolute;left:0;top:0;bottom:0;right:var(--ew);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
/* running head: the three views stay where they are and switch on and off; the language switch beside them */
.head{position:absolute;left:0;right:var(--ew);top:0;z-index:11;display:flex;align-items:center;justify-content:space-between;gap:16px;height:52px;padding:0 var(--gut);background:rgba(255,255,255,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 1px 0 var(--g4);transition:background .4s,color .4s}
.head.inv{background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.head.inv .rh > span{color:inherit;opacity:.78}
.head.inv .tg,.head.inv .lg{background:transparent;border-color:currentColor}
.head.inv.g{background:rgba(180,216,134,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.head .rh{display:flex;align-items:center;gap:10px;min-width:0;white-space:nowrap;overflow:hidden}
.head .rh > span{color:var(--g2)}
.brand{min-height:44px;padding:0;border:0;background:none;cursor:pointer;font-size:12.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;display:inline-flex;align-items:center;gap:9px}
/* the stamp of the atelier (CI assets, AG-0725_stamp.svg), as on the booklets: beside the name in the head and above the back matter */
.stamp{display:block;flex:none;fill:currentColor}
.brand .stamp{display:none}
.efl{position:absolute;right:0;z-index:2;margin:0;border:0;background:transparent;cursor:pointer;font-family:inherit;padding:6px 0;text-align:center;font-size:11px;font-weight:700;line-height:1;letter-spacing:0}
.head .rc{display:flex;align-items:center;gap:6px;white-space:nowrap}
.tg{min-height:34px;padding:0 13px;border-radius:17px;border:1px solid var(--ink);background:#fff;cursor:pointer;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;transition:background .2s,color .2s}
.tg[aria-pressed="true"]{background:var(--ink);color:#fff}
.lg{display:flex;margin-left:8px;border:1px solid var(--g3);border-radius:17px;overflow:hidden;background:#fff}
.lg button{min-height:32px;padding:0 10px;border:0;background:transparent;cursor:pointer;font-size:12px;letter-spacing:.06em}
.lg button[aria-pressed="true"]{background:var(--ink);color:#fff}
/* cover */
.cover{display:flex;flex-direction:column;justify-content:space-between;gap:40px;padding:110px var(--gut) 56px}
.cover .st{margin:0;max-width:15em;font-family:Portonovo,Georgia,serif;font-weight:300;font-size:clamp(34px,5.4vw,76px);font-size:clamp(34px,5.4cqw,76px);line-height:1.04;letter-spacing:-.01em}
.cover .op p{margin:0;max-width:40em;font-family:Portonovo,Georgia,serif;font-weight:300;font-size:19px;line-height:1.5;color:var(--g1)}
.fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.fb{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:26px;min-height:168px;padding:16px 18px 18px;border:0;cursor:pointer;text-align:left;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.fb:hover{transform:translateY(-4px)}
.fb b{font-family:"Crystal Expanded",Crystal,sans-serif;font-size:clamp(17px,1.8vw,26px);font-size:clamp(17px,1.8cqw,26px);font-weight:700}
.fb .n{max-width:24em;font-size:13.5px;line-height:1.38}
.hint{margin:-22px 0 0;align-self:flex-end;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--g2)}
/* the atelier */
.atl{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:56px;align-items:start;padding:100px var(--gut) 72px;background:var(--gr);color:var(--ink)}
.atl figure{margin:0}
.at.m-desktop .atl figure{position:sticky;top:76px}
.atl figure img{display:block;width:100%;height:auto;background:#a4cb79}
.atl figcaption{margin-top:8px;font-size:12px;color:var(--gink)}
.atl .cnt{margin:0 0 18px;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.atl h2{margin:0 0 26px;font-family:"Crystal Expanded",Crystal,sans-serif;font-weight:700;font-size:clamp(40px,5.4vw,86px);font-size:clamp(40px,5.4cqw,86px);line-height:.95;letter-spacing:-.01em}
.atl .net{margin:0 0 30px;max-width:30em;font-family:Portonovo,Georgia,serif;font-weight:300;font-size:clamp(20px,1.9vw,26px);font-size:clamp(20px,1.9cqw,26px);line-height:1.38}
.team{display:grid;grid-template-columns:minmax(0,1fr);gap:2px 32px;margin:0 0 26px;padding:12px 0 0;border-top:1px solid rgba(26,23,22,.35);list-style:none}
.team .mem{display:flex;min-width:0}
.team .nm{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;padding:0;border:0;background:none;text-align:left;font-size:16px;font-weight:500;cursor:pointer}
.team button.nm::after{content:"+";margin-left:auto;padding-right:2px;font-weight:400;color:var(--gink)}
.team button.nm[aria-expanded="true"]::after{content:"\2212"}
.team button.nm:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.team div.nm{cursor:default}
.team .bio{grid-column:1/-1;display:grid;grid-template-columns:132px minmax(0,1fr);gap:20px;align-items:start;padding:6px 0 20px;animation:bin .35s cubic-bezier(.2,.8,.2,1)}
.team .bio.np{grid-template-columns:minmax(0,1fr)}
.team .bio img{display:block;width:132px;aspect-ratio:2/3;object-fit:cover;background:#a4cb79}
.team .bio p{margin:0;max-width:34em;font-family:Portonovo,Georgia,serif;font-weight:300;font-size:17px;line-height:1.46}
@keyframes bin{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.former{margin:0 0 18px;max-width:44em;font-size:12.5px;line-height:1.5;color:var(--gink)}
.atl .addr{font-size:13px;letter-spacing:.04em;color:var(--gink)}
/* news, the present tense of the book */
.news{padding:96px var(--gut) 84px;background:#fff}
.news.phd{padding-top:12px;padding-bottom:0}
.news.phd h3{margin:0}
.phd+.stp{padding-top:34px}
.at.m-phone .news.phd{padding-top:14px;padding-bottom:0}
.at.m-phone .phd+.stp{padding-top:26px}
.news h3{margin:0 0 30px;font-family:"Crystal Expanded",Crystal,sans-serif;font-weight:700;font-size:clamp(36px,4.6vw,72px);font-size:clamp(36px,4.6cqw,72px);line-height:.95;letter-spacing:-.01em}
.nl{margin:0;padding:0;list-style:none;border-top:1px solid var(--ink)}
.ni{display:grid;grid-template-columns:150px minmax(0,1fr) 220px;gap:8px 28px;padding:18px 0 20px;border-bottom:1px solid var(--g4)}
.ni .dd2{font-size:13px;letter-spacing:.03em;color:var(--g1)}
.ni .kd{display:block;margin-top:4px;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--g2)}
.ni h4{margin:0 0 6px;font-size:14.5px;font-weight:600;letter-spacing:.05em}
.ni p{margin:0;max-width:40em;font-family:Portonovo,Georgia,serif;font-weight:300;font-size:18px;line-height:1.45}
.ni .acts{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px;font-size:13px}
.ni .acts a,.ni .acts button{padding:0;border:0;border-bottom:1px solid currentColor;background:none;color:var(--ink);text-decoration:none;cursor:pointer}
.ni figure{margin:0}
.ni img{display:block;width:100%;height:auto;background:#f3f1ee}
.news .more{margin-top:24px;min-height:40px;padding:0 16px;border:1px solid var(--ink);border-radius:20px;background:#fff;cursor:pointer;font-size:13px}
/* field opener */
.opener{display:flex;flex-direction:column;justify-content:flex-end;gap:28px;padding:120px var(--gut) 64px}
.opener h2{margin:0;font-family:"Crystal Expanded",Crystal,sans-serif;font-size:clamp(54px,10.4vw,166px);font-size:clamp(54px,10.4cqw,166px);line-height:.92;font-weight:700;letter-spacing:-.02em}
.opener p{margin:0;max-width:30em;font-family:Portonovo,Georgia,serif;font-weight:300;font-size:clamp(20px,2vw,27px);font-size:clamp(20px,2cqw,27px);line-height:1.38}
.opener nav{display:flex;flex-wrap:wrap;gap:8px}
.opener nav button{min-height:38px;padding:0 14px;border-radius:19px;border:1px solid currentColor;background:transparent;cursor:pointer;font-size:13px}
/* scale steps within a field, from the bench to the planet */
.stp{display:flex;align-items:baseline;gap:14px;padding:70px var(--gut) 0;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--g2)}
.stp::after{content:"";flex:1;height:1px;background:var(--g4);transform:translateY(-4px)}
.stp b{font-weight:600;letter-spacing:.03em;color:var(--ink)}
/* a Verein ELF year in the selection, set like the news (13 October 2026) */
.bnw{padding:56px var(--gut) 0}.bnw .nl{border-top-color:var(--g3)}.bnw .ni{border-bottom:0;grid-template-columns:150px minmax(0,1fr) minmax(0,1.25fr)}
.at.m-tablet .bnw .ni{grid-template-columns:120px minmax(0,1fr) minmax(0,1fr)}
.bnw .ni i.elf{display:inline-block;width:11px;height:11px;margin-right:8px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1.6px var(--ink);vertical-align:-1px}
.at.m-phone .bnw{padding:40px var(--gut) 0}
/* project spread */
.pj{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:28px 48px;padding:40px var(--gut) 64px}
.pj .tt{margin:0 0 14px;padding:16px 20px 19px}
.pj .tt h4{margin:0;font-size:clamp(30px,3.5vw,54px);font-size:clamp(30px,3.5cqw,54px);line-height:1.03;font-weight:600;letter-spacing:-.015em;color:var(--ink)}
.pj .tt.tm-band{padding:2px 0 4px 18px;border-left:14px solid transparent}
.pj .tt.tm-text{padding:0}
.pj .sub{margin:0 0 14px;font-size:15px;color:var(--g1)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 22px}
.chip{min-height:30px;padding:0 11px;border:1px solid var(--g3);border-radius:15px;background:#fff;cursor:pointer;font-size:12.5px}
.chip.pr{border-color:var(--ink);font-weight:600}
.chip:hover,.chip:focus-visible{border-color:var(--ink)}
/* the phone shows the spreads without text and site map (14 October 2026) */
.at.m-phone .pj .site{display:none}
.pj .txt p{margin:0 0 .85em;max-width:33em;font-family:Portonovo,Georgia,serif;font-weight:300;font-size:19px;line-height:1.52}
.pj dl{display:grid;grid-template-columns:max-content 1fr;gap:5px 20px;margin:22px 0 0;padding-top:14px;border-top:1px solid var(--g4);font-size:13px}
.pj dt{color:var(--g2)}
.pj dd{margin:0;white-space:pre-line}
.pnews{margin:18px 0 0;padding:12px 0 0;border-top:1px solid var(--g4);list-style:none;font-size:13px}
.pnews li{display:grid;grid-template-columns:116px minmax(0,1fr);gap:12px;padding:3px 0}
.pnews .dd2{color:var(--g2)}
.leafb{display:inline-flex;align-items:center;gap:14px;margin:0 0 24px;min-height:44px;padding:0;border:0;background:none;cursor:pointer;text-align:left}
.leafb .th{flex:none;display:block;width:40px;height:56.4px;background-size:800% 800%;background-repeat:no-repeat;border-radius:9.5% 0 0 0/6.8% 0 0 0;box-shadow:0 1px 2px rgba(26,23,22,.16),0 6px 14px -8px rgba(26,23,22,.4);transform-origin:9.5% 6.8%;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.leafb:hover .th,.leafb:focus-visible .th{transform:rotate(-9deg)}
.leafb.lift .th{visibility:hidden}
.leafb .lb{display:flex;flex-direction:column;gap:3px}
.leafb .l1{font-size:14px;font-weight:500;border-bottom:1px solid currentColor;align-self:flex-start;padding-bottom:1px}
.leafb .l2{font-size:12.5px;color:var(--g2)}
.btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.pj .imgs{display:flex;flex-direction:column;gap:18px;min-width:0}
.pj figure{margin:0}
.pj figure img{display:block;width:100%;height:auto;background:#f3f1ee}
.pj figcaption{margin-top:6px;font-size:12px;color:var(--g2)}
.pj .site{width:70%;margin-left:auto}
.lft{position:relative}
.at.m-desktop .pj.stk .lft .stick{position:sticky;top:76px}
/* reveals: the wedge of the booklet edge opens into the picture */
.wip{clip-path:polygon(100% 0,100% 0,100% 100%,88% 100%);transition:clip-path 1.15s cubic-bezier(.6,.05,.2,1)}
.wip.in{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
.at.m-desktop .wip.in.d2{transition-delay:.25s}
.fdi{opacity:0;transition:opacity .9s .15s}
.fdi.in{opacity:1}
.sitef{opacity:0;transform:translateY(18px);transition:opacity .8s .2s,transform .8s .2s cubic-bezier(.2,.8,.2,1)}
.sitef.in{opacity:1;transform:none}
.rv .fd{opacity:0;transform:translateY(18px);transition:opacity .8s,transform .8s cubic-bezier(.2,.8,.2,1)}
.rv.in .fd{opacity:1;transform:none}
.rv.in .fd.d2{transition-delay:.12s}
.rv.in .fd.d3{transition-delay:.24s}
/* back matter */
.back{display:flex;flex-direction:column;gap:26px;padding:84px var(--gut) 90px;border-top:1px solid var(--ink)}
.back .stamp{width:46px;height:56px}
.back h3{margin:0;font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.tline{position:relative;height:122px;max-width:980px;margin-right:24px}
.tline i{position:absolute;width:14px;height:7px;margin-left:-7px;border-radius:1px}
.tline .yr{position:absolute;bottom:0;font-size:11.5px;color:var(--g2);transform:translateX(-50%)}
.addr{font-size:13px;letter-spacing:.04em;color:var(--g2)}
.mail{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:14px}
.mbtn{min-height:38px;padding:0 18px;border:1px solid var(--ink);border-radius:19px;background:transparent;color:var(--ink);cursor:pointer;font:inherit;font-size:13px;letter-spacing:.04em}
.mbtn.soc{display:inline-flex;align-items:center;text-decoration:none}
.mbtn:hover,.mbtn:focus-visible{background:var(--ink);color:#fff}
.atl .mbtn{border-color:var(--gink);color:var(--gink)}.atl .mbtn:hover,.atl .mbtn:focus-visible{background:var(--gink);color:#fff}
.maddr{font-size:13px;letter-spacing:.04em}
/* fore-edge */
.edge{position:absolute;right:0;top:0;bottom:0;z-index:6;width:var(--ew);cursor:ns-resize;touch-action:none}
.at.m-tablet .edge::before,.at.m-phone .edge::before{content:"";position:absolute;top:0;bottom:0;left:-16px;width:16px}
.edge .grad{position:absolute;inset:0;clip-path:polygon(46% 0,100% 0,100% 100%,0 100%)}
.edge .tk{position:absolute;right:0;height:1px;background:rgba(255,255,255,.75);pointer-events:none}
.edge .mk{position:absolute;right:0;left:-10px;height:0;pointer-events:none;transition:top .08s linear}
.edge .mk::before{content:"";position:absolute;right:0;left:10px;top:-1.5px;height:3px;background:var(--ink)}
.edge .mk::after{content:"";position:absolute;left:0;top:-6px;border:6px solid transparent;border-left:8px solid var(--ink);border-right:0}
.etip{position:absolute;right:calc(var(--ew) + 10px);z-index:7;transform:translateY(-50%);padding:6px 10px;border-radius:4px;background:var(--ink);color:#fff;font-size:12.5px;white-space:nowrap;pointer-events:none}
.etip b{margin-right:6px;font-weight:500;color:#d7d2cd}
.at.ixo .etip{z-index:10}
/* the views of the index open under the head */
.ix{position:absolute;left:0;right:var(--ew);top:52px;bottom:0;z-index:9;display:flex;flex-direction:column;background:#fff;outline:none;box-shadow:0 1px 0 var(--g4) inset;animation:ixin .35s cubic-bezier(.2,.8,.2,1)}
@keyframes ixin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.ixb{flex:1;min-height:0;overflow-y:auto;padding:0 var(--gut) 60px}
.ixbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:20px 0 8px;font-size:13px;color:var(--g2)}
.ixbar .fl{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.fchip{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0 6px 0 12px;border:1px solid var(--ink);border-radius:16px;background:var(--ink);color:#fff;cursor:pointer;font-size:12.5px}
.fchip svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8}
.seg{display:flex;border:1px solid var(--g3);border-radius:18px;overflow:hidden}
.seg button{min-height:34px;padding:0 13px;border:0;background:transparent;cursor:pointer;font-size:12.5px}
.seg button[aria-pressed="true"]{background:var(--ink);color:#fff}
/* list: the themes as a matrix */
.mxg{margin:26px 0 4px;font-family:"Crystal Expanded",Crystal,sans-serif;font-size:24px;font-weight:700}
.mxg small{margin-left:12px;font-family:Crystal,sans-serif;font-size:12px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--g2)}
.mxh,.mxr{display:grid;grid-template-columns:minmax(0,1fr) repeat(var(--nt),var(--cw));align-items:center}
.mxh{position:sticky;top:0;z-index:2;align-items:end;padding:6px 0 8px;background:#fff;border-bottom:1px solid var(--ink)}
.mxh .lbl{align-self:end;font-size:12px;color:var(--g2)}
.mxh .th{justify-self:center;padding:2px 0;border:0;background:none;cursor:pointer;writing-mode:vertical-rl;transform:rotate(180deg);font-size:12px;white-space:nowrap;color:var(--g1)}
.mxh .th:hover,.mxh .th:focus-visible{color:var(--ink)}
.mxh .th[aria-pressed="true"]{color:var(--ink);font-weight:600}
.mxr{width:100%;min-height:40px;padding:0;border:0;border-bottom:1px solid var(--g4);background:transparent;text-align:left;cursor:pointer;font-size:14.5px}
.mxr:hover,.mxr:focus-visible{background:#f6f3ee}
.mxr .ti{display:flex;align-items:baseline;gap:10px;min-width:0;padding:7px 10px 7px 0}
.mxr .ti i{flex:none;align-self:center;width:11px;height:11px}
.mxr .ti b{min-width:0;overflow:hidden;font-weight:500;text-overflow:ellipsis;white-space:nowrap}
.mxr .ti small{flex:none;font-size:12px;color:var(--g2);white-space:nowrap}
.mxr .c{justify-self:center;width:7px;height:7px;border-radius:50%;background:var(--g3)}
.mxr .c.p{width:12px;height:12px;background:var(--ink)}
.mxr .c.o{visibility:hidden}
.mxr .c.f{box-shadow:0 0 0 3px #fff,0 0 0 4px var(--ink)}
.tbar{display:flex;gap:6px;overflow-x:auto;padding:4px 0 10px;scrollbar-width:none}
.tbar .chip{flex:none}
.tbar .chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.prow{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;min-height:52px;padding:9px 0;border:0;border-bottom:1px solid var(--g4);background:transparent;text-align:left;cursor:pointer}
.prow b{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:500}
.prow b i{flex:none;width:10px;height:10px}
.prow small{font-size:12.5px;line-height:1.35;color:var(--g2)}
/* shelf */
.shf{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:30px 22px;padding:18px 0 20px}
.shf .sh6{grid-column:1/-1;margin:14px 0 -10px;padding-top:10px;border-top:1px solid var(--g4);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--g2)}
.shf .sh6 b{margin-right:6px;font-weight:600;letter-spacing:.03em;color:var(--ink)}
.cell{display:flex;flex-direction:column;gap:8px;min-width:0;padding:0;border:0;background:none;cursor:pointer;text-align:left}
.tile{position:relative;display:block;width:100%;aspect-ratio:105/148;perspective:1100px;transform-origin:9.5% 6.8%;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.flip{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.3,.7,.15,1);transition-delay:var(--d,0ms)}
.turned .flip{transform:rotateY(180deg)}
/* the fore-edge in the three views points at a project: its booklet lifts and turns to the other side, its point grows, its row is marked; an item under the pointer shows its place on the edge */
.cell.hl .tile{transform:translateY(-8px) rotate(-1.4deg)}
.cell.hl .flip{transform:rotateY(180deg)}
.cell.turned.hl .flip{transform:none}
.shf.scrub .flip{transition-duration:.45s;transition-delay:0ms}
.cell.hl .lab .tt2{font-weight:600}
.cell.lift .tile{visibility:hidden}
.mxr.hl,.prow.hl,.mlist .r.hl{background:#f1ebe3}
.mxr.hl .ti b,.prow.hl b,.mlist .r.hl span{font-weight:600}
.mlist .r.hl small{font-weight:400}
.pt.hl{transform:scale(1.7);z-index:3;box-shadow:0 0 0 1.5px var(--ink)}
.ev{position:absolute;z-index:2;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;padding:0;border:1.6px solid var(--ink);border-radius:50%;background:#fff;cursor:pointer;animation:pin .4s cubic-bezier(.2,.8,.2,1) both;transition:transform .2s}
.ev.elf{width:17px;height:17px;margin:-8.5px 0 0 -8.5px;background:rgba(255,255,255,.55)}
.ev.pub{width:10px;height:13px;margin:-6.5px 0 0 -5px;border-radius:1.5px}
.ev.hl,.ev:hover,.ev:focus-visible{transform:scale(1.45)}
.halo{position:absolute;width:28px;height:28px;margin:-14px 0 0 -14px;border:1.6px solid var(--ink);border-radius:50%;pointer-events:none}
.evl{position:absolute;height:0;border-top:1px solid var(--ink);opacity:.75;transform-origin:0 0;pointer-events:none}
.evn{position:absolute;z-index:2;transform:translate(9px,-20px);padding:1px 4px;border-radius:7px;background:rgba(255,255,255,.9);font-size:10.5px;line-height:1.2;color:var(--ink);pointer-events:none}
.evt{display:flex;align-items:center;gap:7px;min-height:34px;padding:0 13px;border:1px solid var(--g3);border-radius:18px;background:transparent;cursor:pointer;font-size:12.5px;color:var(--ink)}
.evt i{width:9px;height:9px;border:1.5px solid currentColor;border-radius:50%}
.evt[aria-pressed="true"]{border-color:var(--ink);background:var(--ink);color:#fff}
.mlist .r i.ring{width:10px;height:10px;border:1.6px solid var(--ink);border-radius:50%;background:#fff}
.mlist .r i.ring.pub{width:9px;height:12px;border-radius:1.5px}
.arw.hl{background:var(--ink);color:#fff;box-shadow:none}
.arw.hl svg{stroke:#fff}
.face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;background-size:800% 800%;background-repeat:no-repeat;border-radius:9.5% 0 0 0/6.8% 0 0 0;box-shadow:0 1px 2px rgba(26,23,22,.14),0 6px 14px -8px rgba(26,23,22,.35)}
.face.b{transform:rotateY(180deg);border-radius:0 9.5% 0 0/0 6.8% 0 0}
.cell .lab{display:flex;flex-direction:column;gap:1px;min-width:0;font-size:12.5px;line-height:1.25}
.cell .lab .tt2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cell .lab .pl{font-size:11.5px;color:var(--g2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (hover:hover){.at:not(.touch) .cell:hover .tile{transform:translateY(-6px) rotate(-1.4deg)}}
/* map: valley, Europe, world */
.mapw{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:36px;align-items:start;padding:6px 0 22px}
.mapv{position:relative;width:100%;overflow:hidden;background:#fff}
.lyr{position:absolute;inset:0;transition:opacity .7s ease,transform 1.05s cubic-bezier(.3,.7,.2,1)}
.lyr.off{opacity:0;pointer-events:none}
.lyr .pic{position:absolute;max-width:none;user-select:none;-webkit-user-drag:none}
.bin{position:absolute}
.bands{position:absolute;inset:0;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent),linear-gradient(180deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent),linear-gradient(180deg,transparent,#000 6%,#000 94%,transparent);mask-composite:intersect}
.band{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;animation:rise .9s ease-out both;animation-delay:var(--dl)}
@keyframes rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.home{position:absolute;width:26px;height:26px;margin:-13px 0 0 -13px;border:2px solid var(--ink);border-radius:50%;pointer-events:none}
.clu{position:absolute;z-index:2;display:flex;align-items:center;gap:8px;transform:translate(-13px,-50%);padding:0;border:0;background:none;cursor:pointer;font-size:12.5px;white-space:nowrap}
.clu::before{content:"";flex:none;width:26px;height:26px;border:2px solid var(--ink);border-radius:50%;background:none;box-shadow:0 0 0 1.5px rgba(255,255,255,.85),inset 0 0 0 1.5px rgba(255,255,255,.85)}
.clu span{padding:3px 8px;border-radius:12px;background:rgba(255,255,255,.92);box-shadow:0 0 0 .5px rgba(26,23,22,.4)}
.clu.cl-l{flex-direction:row-reverse;transform:translate(calc(-100% + 13px),-50%)}
.pt{position:absolute;width:16px;height:16px;margin:-8px 0 0 -8px;padding:0;border:2px solid #fff;border-radius:50%;cursor:pointer;box-shadow:0 0 0 .5px rgba(26,23,22,.45);animation:pin .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--dl);transition:transform .2s}
.pt:hover,.pt:focus-visible{transform:scale(1.35);z-index:2}
@keyframes pin{from{opacity:0;transform:scale(.2)}to{opacity:1;transform:none}}
.arw{position:absolute;display:flex;align-items:center;gap:6px;transform:translate(-50%,-50%);padding:4px 10px 4px 6px;border:0;border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 0 0 .5px rgba(26,23,22,.45);cursor:pointer;font-size:12px;white-space:nowrap}
.arw.a-l{transform:translate(0,-50%)}.arw.a-r{transform:translate(-100%,-50%)}.arw.a-t{transform:translate(-50%,0)}.arw.a-b{transform:translate(-50%,-100%)}
.arw svg{flex:none;width:15px;height:15px;stroke:var(--ink);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.arw:hover,.arw:focus-visible{box-shadow:0 0 0 1px var(--ink)}
.mtip{position:absolute;z-index:3;transform:translate(-50%,calc(-100% - 14px));padding:6px 10px;border-radius:4px;background:var(--ink);color:#fff;font-size:12.5px;width:max-content;max-width:min(260px,70%);line-height:1.3;pointer-events:none}
.mtip b{display:block;margin:0 0 1px}
.at .mtip{display:block}
.mtip.al{transform:translate(-16px,calc(-100% - 14px))}.mtip.ar{transform:translate(calc(-100% + 16px),calc(-100% - 14px))}
.mtip.bl{transform:translate(-50%,14px)}.mtip.al.bl{transform:translate(-16px,14px)}.mtip.ar.bl{transform:translate(calc(-100% + 16px),14px)}
.mtip b{margin-right:6px;font-weight:500;color:#d7d2cd}
.mnote{margin-top:10px;font-size:12px;color:var(--g2)}
.mlist h6{margin:18px 0 4px;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--g2)}
.mlist .mls:first-child h6{margin-top:0}
.mlist .mls.sec h6{margin-bottom:0}
.mlist .mls.sub h6{margin:12px 0 2px;font-size:12.5px;letter-spacing:0;text-transform:none;color:var(--ink)}
.mlist .mls.msg h6{margin:0 0 6px;font-size:14px;font-weight:400;letter-spacing:0;text-transform:none;line-height:1.4;color:var(--g2)}
.mlist .mls.foot{margin-top:16px}.mlist .mls.foot h6{display:none}.mlist .r.mute span{color:var(--g2)}
.mlist .r i.ahome{width:13px;height:13px;border-width:2px}
.mlist .r i.ln{height:3px;border-radius:2px;background:var(--bl) !important}
.mlist .r{display:grid;grid-template-columns:12px minmax(0,1fr);gap:10px;align-items:center;width:100%;min-height:42px;padding:4px 0;border:0;border-top:1px solid var(--g4);background:transparent;text-align:left;cursor:pointer;font-size:14px;overflow-wrap:break-word}
.mlist .r:hover{background:#f6f3ee}
.mlist .r i{display:block;width:12px;height:12px}
.mlist .r small{display:block;font-size:12px;color:var(--g2)}
/* the booklet itself, fanned around its screw */
.fv{position:absolute;inset:0;z-index:12;display:grid;grid-template-rows:minmax(0,1fr) auto auto;background:rgba(241,235,227,0);outline:none;transition:background .45s}
.fv.on{background:rgba(241,235,227,.97)}
.fv.mount{visibility:hidden}
.fvh{grid-row:2;position:relative;z-index:4;display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 14px;padding:6px var(--gut) 0;text-align:center;pointer-events:none;opacity:0;transition:opacity .4s .2s}
.fvh b,.fvh .t{padding:2px 8px;border-radius:4px;background:rgba(241,235,227,.94)}
.fv.on .fvh{opacity:1}
.fvh b{font-size:13px;font-weight:500;letter-spacing:.04em;color:var(--g2)}
.fvh .t{font-size:24px;font-weight:600;letter-spacing:-.01em}
.stage{grid-row:1;position:relative;z-index:1;overflow:hidden;clip-path:inset(0);perspective:2600px;touch-action:pan-y}
.book{position:absolute;left:0;top:0;transform-origin:0 0;transform-style:preserve-3d;transition:transform .75s cubic-bezier(.25,.8,.2,1)}
.fan{position:absolute;left:0;top:0;transform-origin:0 0;transform-style:preserve-3d;transition:transform .95s cubic-bezier(.45,.05,.2,1)}
.leaf{position:absolute;transform-style:preserve-3d;cursor:pointer;transition:transform .65s cubic-bezier(.2,.8,.2,1)}
.pg{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;background-color:#fff;background-repeat:no-repeat;border-radius:9.5% 0 0 0/6.8% 0 0 0;box-shadow:0 0 0 .5px rgba(26,23,22,.08),-2px 3px 10px -4px rgba(26,23,22,.35)}
.pg.b{transform:rotateY(180deg);border-radius:0 9.5% 0 0/0 6.8% 0 0}
/* the pivot (13 October 2026): the g of the stamp, centred on the hole; it turns half round once the booklet is fanned open */
.gpin{position:absolute;overflow:visible;pointer-events:none;transform:translateZ(var(--gz,3px)) rotate(var(--gr,0deg)) scaleX(var(--gs,1));transition:transform .65s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.28))}
.fv.notrans .gpin{transition:none !important}
.face::after,.leafb .th::after{content:"";position:absolute;left:4.76%;top:3.38%;width:9.52%;aspect-ratio:1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='13.2 12.2 42 42'%3E%3Ccircle cx='34.2' cy='33.2' r='20.4' fill='%23c8c8c4' stroke='%23969692' stroke-width='0.9'/%3E%3Cg transform='translate(34.2 33.2) scale(0.6) translate(-34.27 -38.15)'%3E%3Cpath d='M36.36,42.17c.65-.17,1.27-.43,1.85-.77.58-.34,1.11-.77,1.58-1.29.47-.51.88-1.1,1.21-1.77.34-.67.6-1.4.78-2.22.19-.82.28-1.7.28-2.66v-.04c0-.96-.09-1.84-.28-2.66-.19-.82-.45-1.56-.78-2.22-.33-.66-.74-1.25-1.21-1.76-.47-.51-1-.93-1.58-1.27-.58-.34-1.2-.6-1.85-.78-.66-.18-1.34-.27-2.05-.27s-1.38.09-2.04.27c-.66.18-1.28.44-1.86.77-.58.34-1.11.76-1.59,1.26-.48.51-.89,1.09-1.24,1.76-.34.66-.61,1.4-.79,2.22-.19.82-.28,1.71-.28,2.68v.04c0,.97.09,1.87.28,2.68.19.81.45,1.55.79,2.22.34.66.75,1.25,1.24,1.76.48.51,1.01.93,1.59,1.28.58.34,1.2.6,1.86.77.66.17,1.34.26,2.04.26s1.4-.09,2.05-.26M31.33,44.13c-.82-.22-1.59-.54-2.31-.96-.73-.42-1.39-.95-1.99-1.58-.6-.63-1.12-1.35-1.56-2.17-.44-.81-.79-1.72-1.04-2.72-.25-1-.38-2.08-.38-3.24v-.04c0-1.17.12-2.25.38-3.25.25-.99.6-1.9,1.04-2.71.44-.81.96-1.53,1.56-2.16.6-.63,1.26-1.15,1.99-1.58.72-.42,1.5-.74,2.31-.97.82-.22,1.66-.33,2.52-.33.93,0,1.82.11,2.67.34.84.23,1.61.55,2.31.95.7.41,1.31.91,1.85,1.51.53.6.97,1.28,1.31,2.04v-4.4h2.3v20.54c0,1.3-.11,2.47-.33,3.49-.22,1.03-.55,1.93-.98,2.7-.43.77-.95,1.43-1.54,1.97-.59.54-1.26.98-2,1.32-.74.33-1.54.58-2.39.73-.86.15-1.76.22-2.71.22-1.28,0-2.47-.16-3.57-.49-1.09-.33-2.06-.81-2.9-1.43-.84-.63-1.52-1.4-2.06-2.32-.54-.91-.9-1.97-1.08-3.15l2.28-.62c.1.92.33,1.74.71,2.49.38.74.88,1.38,1.52,1.91.64.53,1.39.94,2.26,1.22s1.84.43,2.92.43c.68,0,1.34-.05,1.98-.15.64-.1,1.24-.28,1.8-.53s1.08-.58,1.55-.99c.47-.41.86-.91,1.19-1.51.33-.6.59-1.31.77-2.14.19-.83.28-1.78.28-2.85v-4.1c-.34.76-.77,1.44-1.31,2.04-.54.6-1.16,1.1-1.85,1.51-.7.41-1.47.72-2.31.95-.84.23-1.73.34-2.67.34-.86,0-1.7-.11-2.52-.33' fill='%237d7d79'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;pointer-events:none;filter:drop-shadow(0 .5px 1px rgba(0,0,0,.25))}
.face.b::after{transform:scaleX(-1)}
.leafb .th{position:relative}
.fv .bar{grid-row:3}
/* the page enlarged on touch screens (14 October 2026) */
.fvz{position:absolute;inset:0;z-index:20;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:rgba(241,235,227,.98);cursor:zoom-out}
.fvzp{margin:56px 14px 24px;background-color:#fff;background-repeat:no-repeat;box-shadow:0 0 0 .5px rgba(26,23,22,.1),0 6px 20px -8px rgba(26,23,22,.4)}
.fvz .zh{position:sticky;left:0;top:0;display:block;padding:16px 64px 8px 16px;font-size:12px;color:var(--g2);background:rgba(241,235,227,.94)}
.fv.notrans .book,.fv.notrans .fan,.fv.notrans .leaf{transition:none !important}
.bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px var(--gut) 22px;opacity:0;transition:opacity .4s .2s}
.fv.on .bar{opacity:1}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:0 16px;border:1px solid var(--g3);border-radius:22px;background:#fff;cursor:pointer;font-size:14px}
.btn:hover{border-color:var(--ink)}
.btn.dark{border-color:var(--ink);background:var(--ink);color:#fff}
.where{margin-left:auto;font-size:12.5px;color:var(--g2)}
.fclose{position:absolute;right:20px;top:16px;z-index:3}
.fhint{position:absolute;left:var(--gut);bottom:10px;font-size:12px;color:var(--g2);pointer-events:none}
/* tablet and phone */
.at.m-tablet{--ew:20px;--gut:36px}
.at.m-phone{--ew:12px;--gut:18px}
.at.m-tablet .efl{font-size:10px;padding:5px 0}.at.m-phone .efl{font-size:8px;padding:4px 0}
.at.m-tablet .pj,.at.m-phone .pj{grid-template-columns:minmax(0,1fr)}
.at.m-tablet .fields{grid-template-columns:repeat(3,minmax(0,1fr))}
.at.m-tablet .atl{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:32px}
.at.m-tablet .mapw,.at.m-phone .mapw{grid-template-columns:minmax(0,1fr)}
.at.m-tablet .ni{grid-template-columns:120px minmax(0,1fr) 170px;gap:8px 20px}
.at.m-phone .fields{grid-template-columns:minmax(0,1fr)}
.at.m-phone .fb{min-height:0;gap:10px}
.at.m-phone .atl{grid-template-columns:minmax(0,1fr);gap:28px;padding:76px var(--gut) 52px}
.at.m-phone .atl figure{margin:0 calc(-1 * var(--gut))}
.at.m-phone .atl figcaption{padding:0 var(--gut)}
.at.m-phone .team{grid-template-columns:minmax(0,1fr)}
.at.m-phone .team .bio{grid-template-columns:96px minmax(0,1fr);gap:14px}
.at.m-phone .team .bio img{width:96px}
.at.m-phone .team .bio p{font-size:16px}
.at.m-phone .news{padding:70px var(--gut) 56px}
.at.m-phone .ni{grid-template-columns:minmax(0,1fr);gap:6px}
.at.m-phone .ni p{font-size:16.5px}
.at.m-phone .pj{padding:30px var(--gut) 44px}
.at.m-phone .pj .tt{margin-left:calc(-1 * var(--gut));margin-right:calc(-1 * var(--gut));padding:14px var(--gut) 16px}
.at.m-phone .pj .tt.tm-band,.at.m-phone .pj .tt.tm-text{margin-left:0;margin-right:0}
.at.m-phone .pj .tt.tm-band{padding:2px 0 4px 14px}
.at.m-phone .pj .tt.tm-text{padding:0}
.at.m-phone .pj .txt p{font-size:17.5px}
.at.m-phone .pj figure.wide{margin:0 calc(-1 * var(--gut))}
.at.m-phone .pj .site{width:100%}
.at.m-phone .head{padding:0 12px;font-size:11px}
.at.m-phone .brand{font-size:11px}
.at.m-phone .tg{min-height:32px;padding:0 9px;font-size:11px}
.at.m-phone .lg{margin-left:2px}
.at.m-phone .lg button{min-height:30px;padding:0 8px;font-size:11px}
.at.m-phone .head .rh > span,.at.m-tablet .head .rh > span.ar,.at.ixo .head .rh > span{display:none}
.at.m-phone .cover{padding:84px var(--gut) 40px}
.at.m-phone .cover .op p{font-size:17.5px}
.at.m-phone .opener{padding:90px var(--gut) 44px}
.at.m-phone .opener h2{font-size:clamp(32px,11vw,58px);font-size:clamp(32px,11cqw,58px)}
.at.m-phone .stp{padding:50px var(--gut) 0}
.at.m-phone .back{padding:56px var(--gut) 64px}
.at.m-phone .brand .stamp{width:17px;height:21px}
.at.m-phone .back .stamp{width:37px;height:45px}
.at.m-phone .shf{gap:22px 12px}
.at.m-phone .fvh{padding:4px 16px 0}
.at.m-phone .fvh .t{font-size:19px}
.at.m-phone .btn .bl,.at.m-phone .fhint{display:none}
.at.m-phone .where{width:100%;margin:2px 0 0;order:5}
@media (prefers-reduced-motion:reduce){.leafb .th,.wip,.fdi,.sitef,.rv .fd,.fb,.ix,.edge .mk,.band,.pt,.flip,.tile,.book,.fan,.leaf,.lyr,.team .bio{transition:none !important;animation:none !important;clip-path:none !important;opacity:1 !important}.lyr.off{opacity:0 !important}}

/* switching fields once scrolled down (8 October): variant arrow, variant head, variant end of field */
.upb{position:absolute;right:calc(var(--ew) + 22px);bottom:22px;z-index:9;width:46px;height:46px;border-radius:50%;border:0;background:#fff;box-shadow:0 2px 12px rgba(26,23,22,.18),0 0 0 1px var(--g4);cursor:pointer;display:grid;place-items:center;animation:upin .3s ease-out}
.upb svg{width:20px;height:20px;fill:none;stroke:var(--ink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.upb:hover,.upb:focus-visible{background:var(--ink)}.upb:hover svg,.upb:focus-visible svg{stroke:#fff}
@keyframes upin{from{opacity:0;transform:translateY(10px)}}
.at.m-phone .upb{right:calc(var(--ew) + 14px);bottom:16px;width:42px;height:42px}
.head .rh > span.fsw{display:flex;align-items:center;gap:2px;color:inherit}
.fsx{border:0;background:transparent;font:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--g3);cursor:pointer;padding:7px 9px;border-radius:15px;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.fsx.on{color:var(--ink);box-shadow:inset 0 0 0 1px currentColor}
.fsx:hover,.fsx:focus-visible{color:var(--ink)}
/* a field name under the pointer takes the colour of its field (13 October 2026) */
.at .head .fsx.fc:hover,.at .head .fsx.fc:focus-visible{background:var(--fc);color:var(--fi) !important;opacity:1 !important;box-shadow:none}
.fmenu button.fc:hover,.fmenu button.fc:focus-visible{background:var(--fc);color:var(--fi)}
.fsx svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2}
.head.inv .fsx{color:inherit;opacity:.62}.head.inv .fsx.on,.head.inv .fsx:hover{opacity:1}
.fmenu{position:absolute;top:50px;left:calc(var(--gut) - 8px);z-index:12;background:#fff;border-radius:6px;box-shadow:0 8px 28px rgba(26,23,22,.2);padding:6px;display:flex;flex-direction:column;min-width:220px}
.fmenu button{text-align:left;border:0;background:transparent;font:inherit;font-size:15px;color:var(--ink);padding:11px 12px;border-radius:4px;cursor:pointer;display:flex;gap:12px;align-items:center}
.fmenu button:hover,.fmenu button:focus-visible{background:var(--bw)}
.fmenu i{width:13px;height:13px;border-radius:50%;flex:none}
.fend{display:flex;flex-direction:column;gap:18px;padding:64px var(--gut) 72px;border-top:1px solid var(--g4)}
.fe1{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--g2)}
.fe2{display:flex;flex-wrap:wrap;gap:10px}
.fe2 button{border:0;border-radius:26px;min-height:52px;padding:0 26px;font:inherit;font-size:19px;cursor:pointer}
.fe2 button.st{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.at.m-phone .fe2 button{font-size:16px;min-height:46px;padding:0 20px}
.at.m-phone .head .rh > span.fsw,.at.m-tablet .head .rh > span.fsw,.at.ixo .head .rh > span.fsw{display:flex}
.at.m-phone .rh.nv .brand > span{display:none}.at.m-phone .rh.nv .brand .stamp{display:block;width:19px;height:23px}

/* without doublings (8 October) */
.at.dd .shf.nolab .cell .lab{display:none}
/* type, reduced: Crystal and Portonovo, weights 400 and 600, sizes 12, 14, 19 px and two display sizes */
.at.ty-reduced .cover .st,.at.ty-reduced .atl h2,.at.ty-reduced .news h3,.at.ty-reduced .opener h2{font-family:Crystal,"Helvetica Neue",Arial,sans-serif;font-weight:600;font-size:clamp(36px,4.8cqw,72px);letter-spacing:-.015em;text-transform:none}
.at.ty-reduced .pj .tt h4,.at.ty-reduced .mxg,.at.ty-reduced .fvh .t,.at.ty-reduced .fb b{font-family:Crystal,"Helvetica Neue",Arial,sans-serif;font-weight:600;font-size:clamp(24px,2.4cqw,36px);letter-spacing:-.01em;text-transform:none}
.at.ty-reduced .cover .op p,.at.ty-reduced .atl .net,.at.ty-reduced .team .bio p,.at.ty-reduced .ni p,.at.ty-reduced .opener p,.at.ty-reduced .pj .txt p{font-family:Portonovo,Georgia,serif;font-weight:300;font-size:19px;letter-spacing:0}
.at.ty-reduced .fe2 button,.at.ty-reduced .fmenu button,.at.ty-reduced .pj .sub{font-family:Crystal,"Helvetica Neue",Arial,sans-serif;font-weight:400;font-size:19px;letter-spacing:0;text-transform:none}
.at.ty-reduced .team .nm,.at.ty-reduced .ni h4,.at.ty-reduced .leafb .l1,.at.ty-reduced .mxr,.at.ty-reduced .prow b,.at.ty-reduced .mlist .r,.at.ty-reduced .btn,.at.ty-reduced .chip,.at.ty-reduced .pj dl,.at.ty-reduced .pnews,.at.ty-reduced .ni .acts,.at.ty-reduced .news .more,.at.ty-reduced .opener nav button,.at.ty-reduced .ixbar,.at.ty-reduced .fchip,.at.ty-reduced .seg button,.at.ty-reduced .evt,.at.ty-reduced .mbtn,.at.ty-reduced .maddr,.at.ty-reduced .addr,.at.ty-reduced .atl .addr,.at.ty-reduced .former,.at.ty-reduced .etip,.at.ty-reduced .mtip,.at.ty-reduced .clu,.at.ty-reduced .where,.at.ty-reduced .cell .lab,.at.ty-reduced .lg button,.at.ty-reduced .fb .n{font-family:Crystal,"Helvetica Neue",Arial,sans-serif;font-weight:400;font-size:14px;letter-spacing:0;text-transform:none}
.at.ty-reduced .leafb .l2,.at.ty-reduced .prow small,.at.ty-reduced .mxr .ti small,.at.ty-reduced .mlist .r small,.at.ty-reduced .tline .yr,.at.ty-reduced .cell .lab .pl,.at.ty-reduced .mxh .lbl,.at.ty-reduced .mxh .th,.at.ty-reduced .ni .dd2,.at.ty-reduced .atl figcaption,.at.ty-reduced .pj figcaption,.at.ty-reduced .mnote,.at.ty-reduced .fhint,.at.ty-reduced .arw,.at.ty-reduced .evn,.at.ty-reduced .mlist .mls.sub h6{font-family:Crystal,"Helvetica Neue",Arial,sans-serif;font-weight:400;font-size:12px;letter-spacing:0;text-transform:none}
.at.ty-reduced .head,.at.ty-reduced .brand,.at.ty-reduced .tg,.at.ty-reduced .hint,.at.ty-reduced .atl .cnt,.at.ty-reduced .ni .kd,.at.ty-reduced .stp,.at.ty-reduced .stp b,.at.ty-reduced .back h3,.at.ty-reduced .mxg small,.at.ty-reduced .shf .sh6,.at.ty-reduced .shf .sh6 b,.at.ty-reduced .mlist h6,.at.ty-reduced .fe1,.at.ty-reduced .fvh b,.at.ty-reduced .fsx{font-family:Crystal,"Helvetica Neue",Arial,sans-serif;font-weight:400;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.at.ty-reduced .chip.pr,.at.ty-reduced .mxh .th[aria-pressed="true"],.at.ty-reduced .cell.hl .lab .tt2,.at.ty-reduced .mxr.hl .ti b,.at.ty-reduced .prow.hl b,.at.ty-reduced .mlist .r.hl span,.at.ty-reduced .mxr .ti b,.at.ty-reduced .etip b,.at.ty-reduced .mtip b,.at.ty-reduced .team button.nm::after{font-weight:600}
.at.ty-reduced.m-phone .pj .txt p,.at.ty-reduced.m-phone .cover .op p,.at.ty-reduced.m-phone .ni p,.at.ty-reduced.m-phone .team .bio p,.at.ty-reduced.m-phone .opener p,.at.ty-reduced.m-phone .fe2 button{font-size:17px}
.at.ty-reduced.m-phone .opener h2{font-size:clamp(30px,9cqw,44px)}
.at.ty-reduced.m-phone .head,.at.ty-reduced.m-phone .tg,.at.ty-reduced.m-phone .brand,.at.ty-reduced.m-phone .lg button{font-size:11px}
/* type, radical: Crystal only, one weight, two sizes, no capitals; hierarchy by grey */
.at.ty-radical .cover .st,.at.ty-radical .atl h2,.at.ty-radical .news h3,.at.ty-radical .opener h2{font-family:Crystal,"Helvetica Neue",Arial,sans-serif;font-weight:400;font-size:clamp(26px,2.9cqw,42px);letter-spacing:-.01em;text-transform:none;line-height:1.12}
.at.ty-radical .pj .tt h4,.at.ty-radical .mxg,.at.ty-radical .fvh .t,.at.ty-radical .fb b{font-family:Crystal,"Helvetica Neue",Arial,sans-serif;font-weight:400;font-size:clamp(26px,2.9cqw,42px);letter-spacing:-.01em;text-transform:none;line-height:1.12}
.at.ty-radical .cover .op p,.at.ty-radical .atl .net,.at.ty-radical .team .bio p,.at.ty-radical .ni p,.at.ty-radical .opener p,.at.ty-radical .pj .txt p{font-family:Crystal,"Helvetica Neue",Arial,sans-serif;font-weight:400;font-size:16px;letter-spacing:0;text-transform:none;line-height:1.5}
.at.ty-radical .fe2 button,.at.ty-radical .fmenu button,.at.ty-radical .pj .sub{font-family:Crystal,"Helvetica Neue",Arial,sans-serif;font-weight:400;font-size:16px;letter-spacing:0;text-transform:none}
.at.ty-radical .team .nm,.at.ty-radical .ni h4,.at.ty-radical .leafb .l1,.at.ty-radical .mxr,.at.ty-radical .prow b,.at.ty-radical .mlist .r,.at.ty-radical .btn,.at.ty-radical .chip,.at.ty-radical .pj dl,.at.ty-radical .pnews,.at.ty-radical .ni .acts,.at.ty-radical .news .more,.at.ty-radical .opener nav button,.at.ty-radical .ixbar,.at.ty-radical .fchip,.at.ty-radical .seg button,.at.ty-radical .evt,.at.ty-radical .mbtn,.at.ty-radical .maddr,.at.ty-radical .addr,.at.ty-radical .atl .addr,.at.ty-radical .former,.at.ty-radical .etip,.at.ty-radical .mtip,.at.ty-radical .clu,.at.ty-radical .where,.at.ty-radical .cell .lab,.at.ty-radical .lg button,.at.ty-radical .fb .n{font-family:Crystal,"Helvetica Neue",Arial,sans-serif;font-weight:400;font-size:16px;letter-spacing:0;text-transform:none}
.at.ty-radical .leafb .l2,.at.ty-radical .prow small,.at.ty-radical .mxr .ti small,.at.ty-radical .mlist .r small,.at.ty-radical .tline .yr,.at.ty-radical .cell .lab .pl,.at.ty-radical .mxh .lbl,.at.ty-radical .mxh .th,.at.ty-radical .ni .dd2,.at.ty-radical .atl figcaption,.at.ty-radical .pj figcaption,.at.ty-radical .mnote,.at.ty-radical .fhint,.at.ty-radical .arw,.at.ty-radical .evn,.at.ty-radical .mlist .mls.sub h6{font-family:Crystal,"Helvetica Neue",Arial,sans-serif;font-weight:400;font-size:16px;letter-spacing:0;text-transform:none}
.at.ty-radical .head,.at.ty-radical .brand,.at.ty-radical .tg,.at.ty-radical .hint,.at.ty-radical .atl .cnt,.at.ty-radical .ni .kd,.at.ty-radical .stp,.at.ty-radical .stp b,.at.ty-radical .back h3,.at.ty-radical .mxg small,.at.ty-radical .shf .sh6,.at.ty-radical .shf .sh6 b,.at.ty-radical .mlist h6,.at.ty-radical .fe1,.at.ty-radical .fvh b,.at.ty-radical .fsx{font-family:Crystal,"Helvetica Neue",Arial,sans-serif;font-weight:400;font-size:16px;letter-spacing:0;text-transform:none}
.at.ty-radical .chip.pr,.at.ty-radical .mxh .th[aria-pressed="true"],.at.ty-radical .cell.hl .lab .tt2,.at.ty-radical .mxr.hl .ti b,.at.ty-radical .prow.hl b,.at.ty-radical .mlist .r.hl span,.at.ty-radical .mxr .ti b,.at.ty-radical .etip b,.at.ty-radical .mtip b,.at.ty-radical .team button.nm::after{font-weight:400}
.at.ty-radical.m-phone *{font-size:15px}
.at.ty-radical.m-phone .cover .st,.at.ty-radical.m-phone .atl h2,.at.ty-radical.m-phone .news h3,.at.ty-radical.m-phone .opener h2,.at.ty-radical.m-phone .pj .tt h4,.at.ty-radical.m-phone .mxg,.at.ty-radical.m-phone .fvh .t,.at.ty-radical.m-phone .fb b{font-size:26px}
.at.ty-radical .chip,.at.ty-radical .tg,.at.ty-radical .lg button,.at.ty-radical .mbtn{text-transform:none;letter-spacing:0}
.at.ty-radical .ni .kd,.at.ty-radical .former,.at.ty-radical .pj .sub,.at.ty-radical .stp,.at.ty-radical .mlist .r small,.at.ty-radical .prow small,.at.ty-radical .mxr .ti small,.at.ty-radical .leafb .l2,.at.ty-radical .ni .dd2,.at.ty-radical figcaption{color:var(--g2)}

/* 8 October, evening: line projects on the maps, black only, no wipes, a quieter spread */
.pln{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}
.pln path{fill:none;stroke:var(--bl);stroke-width:3.2px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.pln path.hl{stroke-width:5px}
.pln path.seg{stroke:var(--ink);stroke-width:2.4px}
.pln path.seg.hl{stroke-width:4px}
.at.dd{--g1:var(--ink);--g2:var(--ink);--g3:var(--ink);--g4:var(--ink)}
.at.dd .head .rh > span,.at.dd .fsx,.at.dd .head.inv .fsx{color:inherit;opacity:1}
.at.dd .fsx:not(.on){box-shadow:none}
.at.dd .wip{clip-path:none !important;opacity:0;transition:opacity .9s .1s}
.at.dd .wip.in{opacity:1}
.at.dd .pj .sub,.at.dd .leafb .lb,.at.dd .pj dl,.at.dd .pnews{display:none}
.at.dd .leafb .th{width:48px;height:67.7px}
.fsx.dt{box-shadow:none !important;padding:8px 6px}
.fdots{display:inline-grid;grid-template-columns:10px 10px;grid-template-rows:10px 10px;gap:0}
.fdots i{display:block;width:10px;height:10px;border-radius:0;transition:opacity .2s}
.fdots i.dim{opacity:1}.fdots i:nth-child(3){order:4}

/* map zoom (9 October) */
.mapz{position:absolute;inset:0;z-index:0}
.mapv{touch-action:none;cursor:grab}
.mapv.zoomed{touch-action:none;cursor:grab}
/* the globe turns under one finger in any direction (10 October 2026); while it turns, the dots follow it at once */
.mapv.turn{touch-action:none;cursor:grab}
.mapv.turning .mapz .pt,.mapv.turning .mapz .ev,.mapv.turning .mapz .halo{transition:none}
.mapz .clu.off{display:none}
.vcan{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;display:none}
.mapv.zsw .lyr{transition:opacity .25s ease}.mapv.zsw .lyr.off{visibility:hidden;transition:none}
.mapv.vec .vcan{display:block}.mapv.vec .bands,.mapv.vec .pic,.mapv.vec .lyr.off{visibility:hidden}
/* the overlay in the coordinates of the screen (12 October 2026): dots, rings, labels, arrows and lines keep their place on
   the map at zoom 1 (--x, --y in percent of the view) and take their place on screen from the zoom of the view (--zk, --zx,
   --zy on the map view; --gx, --gy for the drawn lines, in the units of their drawing). Nothing is scaled, so the browser
   draws them anew at every zoom instead of enlarging them as a picture. A change of zoom moves them at once; a change of
   their own place (pushed apart at a new scale) glides */
@property --x{syntax:"<number>";inherits:false;initial-value:0}
@property --y{syntax:"<number>";inherits:false;initial-value:0}
.mapz .pt,.mapz .ev,.mapz .halo,.mapz .clu,.mapz .arw,.mapz .evn,.mapz .evl,.mapv .mtip{left:calc(var(--zx,0px) + var(--x) * var(--zk,1) * 1%);top:calc(var(--zy,0px) + var(--y) * var(--zk,1) * 1%)}
.mapz .pt,.mapz .ev,.mapz .halo{transition:transform .2s,--x .35s ease,--y .35s ease}
.mapz .evl{width:calc(var(--w) * var(--zk,1) * 1px)}
.mapz .pic,.mapz .bin{left:calc(var(--zx,0px) + var(--l) * var(--zk,1) * 1%);top:calc(var(--zy,0px) + var(--t) * var(--zk,1) * 1%);width:calc(var(--w) * var(--zk,1) * 1%);height:calc(var(--h) * var(--zk,1) * 1%)}
.pln .zg{transform-box:view-box;transform-origin:0 0;transform:translate(calc(var(--gx,0) * 1px),calc(var(--gy,0) * 1px)) scale(var(--zk,1))}
.mcx{position:absolute;left:50%;top:50%;z-index:4;width:15px;height:15px;margin:-7px 0 0 -7px;pointer-events:none;opacity:.55;background:linear-gradient(var(--ink),var(--ink)) 7px 0/1px 15px no-repeat,linear-gradient(var(--ink),var(--ink)) 0 7px/15px 1px no-repeat}
.zbt{position:absolute;right:10px;bottom:10px;z-index:5;display:flex;flex-direction:column;border-radius:6px;overflow:hidden;box-shadow:0 0 0 1px var(--ink)}
.zbt button{width:34px;height:34px;border:0;background:#fff;color:var(--ink);font:inherit;font-size:20px;line-height:1;cursor:pointer}
.zbt button+button{border-top:1px solid var(--ink)}
.zbt button:hover,.zbt button:focus-visible{background:var(--ink);color:#fff}
/* search (9 October) */
.srb svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;display:block}
.tg.srb{padding:0 10px;display:inline-flex;align-items:center}
.srp{position:absolute;left:0;right:var(--ew);top:52px;z-index:12;background:#fff;box-shadow:0 1px 0 var(--ink),0 18px 40px rgba(26,23,22,.14);max-height:calc(100% - 52px);display:flex;flex-direction:column}
.sri{display:flex;align-items:center;gap:12px;padding:14px var(--gut);border-bottom:1px solid var(--ink)}
.sri svg{flex:none;width:20px;height:20px;fill:none;stroke:var(--ink);stroke-width:1.8;stroke-linecap:round}
.sri input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:22px;color:var(--ink);padding:6px 0}
.sri button{border:0;background:none;font:inherit;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);cursor:pointer;padding:6px 0}
.srr{overflow-y:auto;padding:8px var(--gut) 26px}
.srg h6{margin:18px 0 6px;font-size:12px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.srow{display:flex;gap:12px;align-items:flex-start;width:100%;padding:9px 0;border:0;border-top:1px solid var(--g4);background:none;text-align:left;cursor:pointer;font:inherit;color:var(--ink)}
.srow i{flex:none;width:11px;height:11px;margin-top:5px;border-radius:50%}
.srow i.ring{background:#fff !important;box-shadow:inset 0 0 0 1.6px var(--ink)}
.srow i.ring.pub{border-radius:1.5px}
.srow span{min-width:0;display:flex;flex-direction:column;gap:2px}
.srow b{font-weight:600;font-size:15px}
.srow small{font-size:12.5px}
.srow em{font-style:normal;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.srow mark{background:var(--gr);color:var(--ink)}
.srow.on,.srow:hover{background:var(--bw)}
.srs p{margin:14px 0 10px;font-size:14px}
.srs .chips{display:flex;flex-wrap:wrap;gap:6px}
.srs .chip{cursor:pointer}
.at.m-phone .sri input{font-size:18px}
.at.m-phone .srow em{white-space:normal}

/* the picture at the start of the atelier page, drawn at random from the pool (hero.js) */
.cover.hv{justify-content:flex-start;padding-top:76px}
.cover .hero{position:relative;margin:0;width:100%;height:min(calc(100cqw*.5),68vh);min-height:260px;background:var(--bw);overflow:hidden}
.cover .hero img{display:block;width:100%;height:100%;object-fit:cover}
.cover .hero figcaption{position:absolute;right:16px;bottom:12px;left:16px;text-align:right;font-size:12px;letter-spacing:.02em;color:#fff;text-shadow:0 0 8px rgba(0,0,0,.55),0 0 2px rgba(0,0,0,.4)}
.at.m-tablet .cover .hero{height:min(calc(100cqw*.62),62vh)}
.at.m-phone .cover.hv{padding-top:64px}
.at.m-phone .cover .hero{height:min(calc(100cqw*.85),56vh);min-height:220px}
.at.m-phone .cover .hero figcaption{right:10px;left:10px;bottom:8px;font-size:11px}
.cover .hero .hnav{position:absolute;top:0;bottom:0;z-index:2;width:11%;min-width:56px;margin:0;padding:0;border:0;background:transparent;cursor:pointer;opacity:.8;transition:opacity .2s}.cover .hero .hnav:hover,.cover .hero .hnav:focus-visible{opacity:1}.cover .hero .hnav:focus-visible{outline:none}.cover .hero .hnav.hp{left:0}.cover .hero .hnav.hn{right:0}.cover .hero .hnav::before{content:"";position:absolute;top:50%;width:24px;height:24px;border-left:2px solid #fff;border-bottom:2px solid #fff;filter:drop-shadow(0 0 2px rgba(0,0,0,.6)) drop-shadow(0 0 6px rgba(0,0,0,.35))}.cover .hero .hnav.hp::before{left:30px;transform:translateY(-50%) rotate(45deg)}.cover .hero .hnav.hn::before{right:30px;transform:translateY(-50%) rotate(-135deg)}.cover .hero figcaption{z-index:3;pointer-events:none}.at.m-phone .cover .hero .hnav::before{width:16px;height:16px}.at.m-phone .cover .hero .hnav.hp::before{left:18px}.at.m-phone .cover .hero .hnav.hn::before{right:18px}
