:root{--font:'Helvetica Neue',Helvetica,Arial,'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;color-scheme:light;--blue:#1339c7;--ink:#16325e;--line:#7faccd;--mint:#d8f29b;font-family:var(--font);font-size:12px;color:var(--ink)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:#eff5ff;min-width:0}a{color:var(--blue)}button,input,textarea{font:inherit}button{cursor:pointer;min-height:36px;color:var(--ink);border:1px solid #728ca8;box-shadow:inset 1px 1px white,inset -1px -1px #9baec2;background:linear-gradient(#fff,#d9e7f4);padding:7px 12px}button:hover{background:linear-gradient(#fff,#d8f29b)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #537411;outline-offset:3px}button:active{box-shadow:inset 1px 1px #657389}button:disabled{cursor:default}[hidden]{display:none!important}.background-video{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;background:white}.scan{position:fixed;inset:0;z-index:-2;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,#405dc309 3px 4px)}.site-shell{display:grid;grid-template-columns:146px minmax(0,590px);column-gap:22px;max-width:800px;margin:60px auto 100px;padding:0 18px;align-items:start}.masthead{grid-column:1/-1;position:relative;height:190px;padding:0 0 20px 166px}.tiny{display:block;font:11px var(--font);letter-spacing:3px}.wordmark{display:inline-block;position:relative;text-decoration:none;font:normal bold clamp(70px,10vw,112px)/1.15 var(--font);letter-spacing:-9px;color:#1d46c1;text-shadow:1px 1px white,2px 2px #93c6ee,4px 4px #c2e6ed,5px 5px #6487b7;transform:skew(-9deg)}.wordmark:after{content:attr(data-text);position:absolute;left:3px;top:0;color:#67daff85;clip-path:inset(46% 0 44% 0);animation:break 5.8s steps(1) infinite;pointer-events:none}.signature{position:absolute;right:25px;bottom:49px;font:normal 27px var(--font);letter-spacing:-2px;color:#526daa;transform:rotate(-8deg)}.ticker{height:21px;border-top:1px dotted #3565b1;border-bottom:1px dotted #3565b1;overflow:hidden;position:absolute;bottom:15px;left:166px;right:0;background:#edf7ffa8;color:#164cb1;font:11px/19px var(--font);white-space:nowrap}.ticker span{display:inline-block;animation:ticker 23s linear infinite}.sidebar{position:sticky;top:22px;display:grid;gap:15px;min-width:0}.oval{margin:0 auto 23px;display:block;width:min(100%,245px);padding:8px 20px;text-align:center;font:normal 24px/1.1 var(--font);color:#244a91;text-shadow:1px 1px white;letter-spacing:1px;border:1px solid #9fbaca;border-radius:50%;background:radial-gradient(ellipse at 50% 48%,#ffffff 0 33%,#e7faff 45%,#9abddb 64%,#fff 71%,#aed0e9 77%,#f5fff5 92%);box-shadow:0 2px 3px #7590b665,inset 0 1px white;position:relative}.oval:before,.oval:after{content:'';position:absolute;top:46%;width:7px;height:4px;background:#6482b2;border-radius:50%;box-shadow:1px 1px white}.oval:before{left:17px}.oval:after{right:17px}.logo{width:100%;margin:0;font-size:21px;text-decoration:none}.sidebar nav{display:grid;gap:4px;padding:5px;border:1px solid #9caed0;background:#f3faffb0;box-shadow:3px 3px #6d86a526}.sidebar nav a{display:block;min-height:35px;padding:10px 8px 8px;text-decoration:none;letter-spacing:2px;font:11px var(--font);border:1px solid #9bb3d5;background:linear-gradient(#fff,#d8e9ff);box-shadow:inset 1px 1px white}.sidebar nav a:before{content:'▸ ';color:#367f72}.sidebar nav a:nth-child(even){background:linear-gradient(#fff,#e7f2c7)}.sidebar nav a:hover{color:#172365;background:#dcf6fd;transform:translateX(2px)}.side-box{border:1px solid #95aaca;background:#edf7ffbc;padding:5px;display:grid;gap:4px;box-shadow:2px 3px #4866a21a}.bar{display:block;background:linear-gradient(90deg,#3f6aa7,#b3daef);color:white;text-shadow:1px 1px #3e6296;padding:4px 6px;font:11px var(--font)}.side-box .bar{margin:-5px -5px 3px}.side-box button{padding:5px;font:11px var(--font);min-height:31px}.side-box a{padding:6px;font:11px var(--font)}.side-code{font:10px/1.8 var(--font);text-align:center;color:#607fa1}.exhibition-link{text-decoration:none;text-align:center;border:1px dotted #5272ac;background:#f6ffdacc;padding:15px 4px;font-family:var(--font);line-height:1.8;transform:rotate(-3deg);box-shadow:3px 4px #889eb527}.exhibition-link small{font:10px var(--font);color:#396a71}main{min-width:0}.panel{position:relative;padding:28px 26px 22px;background:linear-gradient(120deg,#f7fbffe6,#edf4f9b8 70%,#f4ffdfc9);border:1px solid #91accc;box-shadow:inset 0 0 0 3px #fff8,4px 5px #6f8bba22;margin-bottom:25px}.panel:before{content:'';position:absolute;top:4px;left:4px;right:4px;border-top:1px dotted #aabce0;pointer-events:none}.intro{transform:rotate(-.6deg);min-height:233px}.bio{text-align:center;font:13px/1.4 var(--font)}.bio p{margin:8px}.bio-name{font:normal 23px var(--font)!important;letter-spacing:-1px}.ornament{color:#94b164;text-align:center;font:26px var(--font);margin-top:22px;animation:drift 7s ease-in-out infinite}.section-label{display:flex;justify-content:space-between;gap:10px;font:10px var(--font);border-bottom:1px dotted #9bafc8;padding-bottom:10px;margin-bottom:16px}.works-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 16px}.work{margin:0;min-width:0}.work-link{display:block;padding:6px;background:#ffffffc7;border:1px solid #a0b6ce;box-shadow:2px 2px #6f8aaa31;transition:transform .2s}.work-link:hover{transform:translateY(-3px) rotate(-1deg);border-color:#3657cb}.work img{display:block;width:100%;height:100%;aspect-ratio:1;object-fit:cover;object-position:center;transform:scale(1.12);background:white}.work figcaption{display:flex;gap:8px;margin-top:7px;font:10px/1.5 var(--font);color:#45628b;overflow-wrap:anywhere}.work figcaption span{color:#2b43ae}.work:nth-child(4n+2) .work-link{transform:rotate(.8deg)}.archive{margin-top:25px;border-top:1px dotted #8dabc8;padding-top:12px}.archive summary{cursor:pointer;min-height:36px;padding:8px 0;font:11px var(--font);color:var(--blue)}.archive[open] .works-grid{margin-top:12px}.exhibition{background:linear-gradient(100deg,#f3f9ffc9,#edffd7cf);text-align:center;transform:rotate(.5deg)}.date{font:11px var(--font);letter-spacing:3px}.exhibition h3{font-weight:normal;font-size:17px;letter-spacing:2px;margin:22px 0}.contact-links{display:flex;flex-wrap:wrap;gap:10px 20px;margin:15px 0 25px;font:11px/1.6 var(--font)}.contact-form{display:grid;gap:15px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:grid;gap:6px;min-width:0}label{font-size:11px}input,textarea{width:100%;max-width:100%;min-width:0;border:1px solid #91a8bc;background:#ffffffd9;padding:10px;color:#16325e;border-radius:0;box-shadow:inset 1px 1px #9ab6cc24;font-size:14px}textarea{resize:vertical;min-height:110px}.contact-form button,.draft-panel button{justify-self:start}.form-note,#copy-status{font-size:10px;line-height:1.8;margin:0;color:#4b6683}.draft-panel{margin-top:20px;padding-top:15px;border-top:1px dotted #728fac}.draft-panel h3{font-size:13px;font-weight:normal}.draft-panel textarea{margin-bottom:12px;min-height:170px}footer{display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;padding:10px 4px;color:#577299;font:10px var(--font)}.skip{position:fixed;top:8px;left:8px;z-index:20;transform:translateY(-200%);background:white;padding:12px}.skip:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}dialog{color:var(--ink);border:1px solid #5f82ab;background:#edf5ff;padding:5px;box-shadow:inset 0 0 0 1px white,6px 7px #31457352;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}dialog::backdrop{background:#dfebf97d;backdrop-filter:blur(5px)}#loader{width:280px}#loader::backdrop{background:#f4f8ffe6}.load-body{text-align:center;padding:20px}.load-body>p:first-child{font:normal 38px var(--font);color:#335bb8;letter-spacing:-3px}.load-track{height:10px;border:1px inset #9fb4cf;background:#f9fcff}.load-track span{display:block;background:repeating-linear-gradient(90deg,#658dd0 0 9px,#cee9ff 9px 12px);height:100%;animation:load 2.2s steps(12) both}#load-status{font:10px var(--font)}.modal-open{overflow:hidden}.lightbox{width:min(960px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:8px}.modal-top,.modal-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;font:11px var(--font)}.modal-top{border-bottom:1px solid #9fb6d0;padding-bottom:6px}.modal-top p{margin:0}.modal-top button{min-height:36px}.image-stage{height:min(70dvh,700px);display:grid;place-items:center;background:white;margin:8px 0;overflow:hidden;touch-action:pan-y}.image-stage img{max-width:100%;max-height:100%;object-fit:contain}#work-title{font:11px var(--font);min-height:14px;margin:8px}#image-error{padding:20px}#video-dialog{width:min(1000px,calc(100vw - 24px))}#full-video{display:block;width:100%;max-height:75dvh;background:white;margin:8px 0}#video-dialog>a{display:inline-block;padding:8px}.no-js{margin:20px;background:white}.modal-bottom span{font-size:10px}
@keyframes break{0%,92%,100%{transform:translateX(0)}93%{transform:translateX(-16px)}94%{transform:translateX(9px)}95%{transform:translateX(-4px)}}@keyframes ticker{to{transform:translateX(-45%)}}@keyframes drift{50%{transform:translate(6px,-3px)}}@keyframes load{from{width:0}to{width:100%}}
@media(min-width:1150px){.site-shell{margin-left:calc(50vw - 435px)}.masthead{height:210px}.wordmark{font-size:124px}.background-video{object-position:57% center}}
@media(max-width:650px){.site-shell{grid-template-columns:105px minmax(0,1fr);gap:10px;margin:27px auto 50px;padding:0 10px}.masthead{padding-left:115px;height:160px}.wordmark{font-size:76px;letter-spacing:-7px}.tiny{font-size:9px;letter-spacing:1px}.signature{font-size:21px;bottom:39px;right:9px}.ticker{left:115px;bottom:9px}.sidebar{gap:10px;top:10px}.logo{padding:8px 14px;font-size:18px}.sidebar nav a{padding:10px 5px;font-size:9px;letter-spacing:1px}.side-box button{font-size:10px;padding:5px 0}.panel{padding:24px 13px 18px;margin-bottom:17px}.oval{font-size:22px;padding:8px 25px}.works-grid{gap:16px 9px}.work-link{padding:3px}.section-label{flex-direction:column;gap:5px;font-size:9px}.work figcaption{font-size:9px;gap:4px}.form-row{grid-template-columns:1fr}.contact-links{font-size:10px;gap:8px;margin-bottom:16px}.exhibition h3{font-size:14px;letter-spacing:0}.date{letter-spacing:1px}.exhibition-link{font-size:12px}.form-note{font-size:10px}}
@media(max-width:440px){.site-shell{grid-template-columns:1fr;padding:0 12px;margin-top:20px}.masthead{grid-column:auto;padding-left:14px;height:159px}.wordmark{font-size:92px}.tiny{padding-left:5px}.signature{right:13px;bottom:44px;font-size:23px}.ticker{left:0;bottom:10px}.sidebar{position:static;display:block;margin-bottom:13px}.sidebar .logo,.sidebar .exhibition-link,.sidebar .links,.side-code{display:none}.sidebar nav{grid-template-columns:repeat(4,minmax(0,1fr));display:grid;gap:3px;padding:4px}.sidebar nav a{text-align:center;min-height:37px;font-size:9px;padding:11px 1px;letter-spacing:0}.sidebar nav a:before{display:none}.side-box{display:flex;align-items:center;flex-wrap:wrap;gap:5px;border:0;box-shadow:none;background:#f5faff9c;padding:5px 0;margin-top:5px}.side-box .bar{margin:0;font-size:9px;white-space:nowrap}.side-box button{font-size:9px;min-height:32px;padding:5px 8px}.side-box #video-status{font-size:9px}.panel{padding:23px 17px 19px}.intro{min-height:205px}.bio{font-size:12px}.ornament{margin-top:13px}.works-grid{gap:19px 13px}.section-label{flex-direction:row;flex-wrap:wrap}.work figcaption{font-size:9px}.image-stage{height:65dvh}.modal-bottom span{display:none}.modal-bottom button{min-height:44px}.modal-top button{min-height:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.load-track span{width:100%}}

/* Quiet typography against the moving, fragmented background. */
.wordmark{font-family:var(--font);font-weight:300;font-style:normal;font-size:92px;line-height:1.15;letter-spacing:-6px;text-shadow:none;transform:none;color:#153dc3}
.wordmark:after{left:1px;color:#b4dff0;clip-path:inset(49% 0 47% 0)}
.signature{font-family:var(--font);font-size:15px;font-weight:400;letter-spacing:.03em;transform:none;bottom:53px;right:7px}
.logo{display:block;width:auto;padding:5px 2px 10px;border-bottom:1px solid #8fa9c2;border-radius:0;background:none;box-shadow:none;font-family:var(--font);font-size:22px;font-weight:400;letter-spacing:-1px;color:#274fb4;text-decoration:none;text-align:left;margin:0}
.oval{font-family:var(--font);font-style:normal;font-size:19px;letter-spacing:.02em}
.bio-name{font:400 20px var(--font)!important;letter-spacing:-.5px}

.load-body>p:first-child{font:300 32px var(--font);letter-spacing:-1px}
.ticker{height:27px;line-height:25px;font-family:var(--font);font-size:12px;letter-spacing:.01em}
.ticker-track{display:flex;width:max-content;animation:news 24s linear infinite}
.ticker span{display:block;flex:none;padding-right:40px;animation:none}
.ticker:hover .ticker-track{animation-play-state:paused}
@keyframes news{to{transform:translateX(-50%)}}
.exhibition-link{overflow-wrap:anywhere}
@media(min-width:1150px){.wordmark{font-size:106px}}
@media(max-width:650px){.wordmark{font-size:68px;letter-spacing:-4px}.signature{font-size:13px;bottom:45px}.logo{padding:5px 2px 10px;font-size:19px}.oval{font-size:17px}.ticker{font-size:11px}}
@media(max-width:440px){.wordmark{font-size:82px;letter-spacing:-5px}.signature{font-size:13px;bottom:48px}.ticker{font-size:11px}.oval{font-size:18px}.section-label{font-size:10px}}
@media(prefers-reduced-motion:reduce){.ticker{height:auto;line-height:1.5;padding:3px 5px;white-space:normal}.ticker-track{width:auto}.ticker span{padding:0;white-space:normal}.ticker span[aria-hidden]{display:none}}

/* Consistent square, zoomed covers; full originals remain in the lightbox. */
.work-link{aspect-ratio:1;padding:0;overflow:hidden}

/* Close-up contact sheet, with the original artwork available on click. */
.works-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.work{position:relative}
.work-link,.work:nth-child(4n+2) .work-link,.work-link:hover{aspect-ratio:1;padding:0;border:0;box-shadow:none;transform:none;overflow:hidden;background:white}
.work img{width:100%;height:100%;object-fit:cover;object-position:var(--cover-position,50% 50%);transform:scale(var(--cover-zoom,2.2));transform-origin:var(--cover-origin,50% 50%);transition:transform .2s}
.work-link:hover img{transform:scale(calc(var(--cover-zoom,2.2) + .12))}
.work figcaption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:650px){.works-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}}
@media(max-width:440px){.works-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}}

/* Original character art, integrated into the loading window and sidebar. */
#loader{width:300px;background:#fff}
.load-body{padding:12px 20px 17px;background:white}
.loading-character{display:block;margin:0 auto;width:140px;height:200px;object-fit:contain;animation:character-drift 2.8s ease-in-out infinite}
.load-body #load-title{font:300 22px var(--font);letter-spacing:-.5px;margin:8px 0 14px}
.side-character{padding:7px 0 0;text-align:center;pointer-events:none;mix-blend-mode:multiply}
.side-character img{display:block;width:100%;max-width:130px;height:200px;object-fit:contain;margin:0 auto;animation:character-drift 5s ease-in-out infinite}
@keyframes character-drift{50%{transform:translateY(-3px) rotate(.6deg)}}
@media(max-width:440px){.side-character{display:none}}
@media(max-height:480px){.loading-character{height:120px;width:90px}.load-body{padding:7px 15px}.load-body #load-title{margin:5px 0 8px}}

/* Keep the whole original in view, including tall images in short viewports. */
.lightbox[open]{display:flex;flex-direction:column;height:min(820px,calc(100dvh - 24px));min-height:0;overflow:hidden}
.lightbox .modal-top,.lightbox .modal-bottom,.lightbox #work-title,.lightbox #image-error{flex:none}
.lightbox .image-stage{display:block;flex:1 1 0;height:0;min-height:0;min-width:0;width:100%;overflow:hidden}
.lightbox #full-image{display:block;width:100%;height:100%;min-height:0;min-width:0;max-height:100%;max-width:100%;object-fit:contain;object-position:center;transform:none;aspect-ratio:auto}
/* The character is a real keyboard- and touch-accessible control. */
.side-character{pointer-events:auto;mix-blend-mode:normal}
.character-trigger{display:block;position:relative;width:100%;padding:0;border:0;background:none;box-shadow:none;cursor:pointer;touch-action:manipulation}
.character-trigger:hover,.character-trigger:active{background:none;box-shadow:none}
.character-trigger img{mix-blend-mode:multiply}
.character-trigger:hover img,.character-trigger:focus-visible img{animation:none;transform:translateY(-4px);filter:drop-shadow(0 0 3px #91b2d3)}
.character-hello{position:absolute;top:1px;right:2px;padding:6px 10px;border:1px solid #91accc;background:#fff;color:#244a91;font-size:11px;opacity:0;transform:translateY(4px);transition:opacity .15s,transform .15s;z-index:1}
.character-trigger:hover .character-hello,.character-trigger:focus-visible .character-hello{opacity:1;transform:none}
.character-caption{display:block;color:#45628b;font-size:10px;letter-spacing:.03em;margin-top:3px}
#character-chat{position:fixed;inset:auto 18px 18px auto;margin:0;width:min(345px,calc(100vw - 24px));height:min(510px,calc(100dvh - 24px));padding:0;background:#f4f9ff}
#character-chat[open]{display:flex;flex-direction:column}
#character-chat::backdrop{background:#d8e7f033;backdrop-filter:blur(1px)}
.chat-header{display:flex;align-items:center;gap:10px;flex:none;padding:9px 12px;border-bottom:1px solid #91accc;background:#fff}
.chat-header img{width:40px;height:48px;object-fit:cover;object-position:50% 10%}
.chat-header h2{margin:0;font-size:16px;font-weight:400;letter-spacing:-.2px}
.chat-header p{margin:4px 0 0;font-size:10px;color:#577299}
.chat-header button{margin-left:auto;min-width:36px;font-size:18px;padding:4px}
.chat-messages{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:14px 12px;display:flex;flex-direction:column;gap:10px;scroll-behavior:auto}
.chat-message{flex:none;max-width:90%;padding:9px 11px;line-height:1.6;font-size:12px;overflow-wrap:anywhere;white-space:pre-wrap;border:1px solid #afc4db;background:white;margin:0;align-self:flex-start}
.chat-message.from-you{align-self:flex-end;background:#ecf6d9;border-color:#b8c9a6}
.chat-message a{display:block;margin-top:7px;white-space:normal;text-underline-offset:2px}
.chat-topics{flex:none;display:flex;flex-wrap:wrap;gap:5px;padding:5px 12px 9px}
.chat-topics button{font-size:10px;min-height:32px;padding:5px 8px}
#chat-form{flex:none;display:flex;gap:6px;padding:10px 12px;border-top:1px solid #afc4db;background:#fff}
#chat-input{flex:1;width:0;font-size:16px;padding:9px;min-height:42px}
#chat-form button{min-width:42px;font-size:18px}
@media(max-width:440px){.side-character{display:block;position:fixed;right:10px;bottom:13px;width:64px;padding:0;z-index:5}.side-character img{width:64px;height:97px}.character-caption{font-size:9px;margin:0}.character-hello{right:5px;top:-16px}.character-trigger{background:#ffffffa6}.character-trigger:hover{background:#ffffffa6}#character-chat{inset:auto 12px 12px;width:calc(100vw - 24px)}}

.language-switch{position:absolute;top:-3px;right:0;display:flex;gap:3px}
.language-button{font-size:10px;letter-spacing:.06em;min-height:30px;min-width:32px;padding:5px 7px;background:#f7fbffb8}
.language-button[aria-pressed="true"]{background:#e4f0ce;color:#153dc3;border-color:#789772}
html[lang="ja"] .sidebar nav a{letter-spacing:0}
html[lang="ja"] .tiny{letter-spacing:1px}
html[lang="ja"] .date{letter-spacing:0}
html[lang="ja"] .exhibition-link small{font-size:9px}
html[lang="ja"] .section-label{line-height:1.7}
@media(max-height:400px){.chat-header{padding:5px 10px}.chat-header img{width:25px;height:30px}.chat-header p{display:none}.chat-topics{flex-wrap:nowrap;overflow-x:auto;padding:4px 10px}.chat-topics button{flex:none;white-space:nowrap}.chat-messages{padding:7px 10px}#chat-form{padding:6px 10px}}

.wordmark,.logo{color:#fbfdff;text-shadow:0 1px 1px #5274929c,0 0 2px #5274929c}.wordmark:after{color:#edf6ff}

/* Separate work categories; flyer covers retain all poster typography. */
.work-categories{display:flex;flex-wrap:wrap;gap:8px 18px;margin:12px 0 22px;font-size:12px}
.work-categories a{min-height:32px;display:flex;align-items:center;text-underline-offset:4px}
.work-category{scroll-margin-top:16px}
.work-category+.work-category{margin-top:34px;padding-top:18px;border-top:1px dashed #a9bdd6}
.section-label h3{font:inherit;margin:0}
.flyers-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.flyers-grid .work-link,.flyers-grid .work:nth-child(4n+2) .work-link,.flyers-grid .work-link:hover{aspect-ratio:3/4;background:#fff}
.flyers-grid .work img,.flyers-grid .work-link:hover img{object-fit:contain;object-position:center;transform:none}
@media(max-width:650px){.flyers-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.section-label{flex-wrap:wrap;gap:4px 12px}}

/* Native disclosure works with keyboard/touch and without JavaScript. */
.flyer-archive>summary{cursor:pointer;min-height:44px;align-items:center;margin-bottom:0;list-style:none}
.flyer-archive>summary::-webkit-details-marker{display:none}
.flyer-archive>summary:focus-visible{outline:3px solid #537411;outline-offset:3px}
.flyer-archive .fold-hint{margin-left:auto;white-space:nowrap;color:var(--blue)}
.flyer-archive .when-open,.flyer-archive[open] .when-closed{display:none}
.flyer-archive[open] .when-open{display:inline}
.flyer-count{font-size:10px;margin:14px 0}

/* The hidden state tears apart existing artwork; the return control stays intact. */
.secret-broken{overflow:hidden;background:#080607}
.secret-broken .site-shell{filter:invert(1) grayscale(.6) contrast(1.5) brightness(.75);transform:var(--break-pose,rotate(180deg));transform-origin:50% var(--fracture-origin,50vh)}
.secret-broken .background-video{filter:invert(1) grayscale(.7) contrast(1.8) brightness(.6);transform:rotate(180deg) scale(1.08)}
.secret-broken .scan,.secret-broken .skip{filter:invert(1)}
.secret-broken .panel{box-shadow:-24px 13px #bcb5b965,29px -15px #22000c90}
.secret-rupture .work:nth-child(3n){transform:translate(38px,-25px) rotate(-31deg)}
.secret-rupture .work:nth-child(3n+1){transform:translate(-34px,29px) skewY(24deg)}
.secret-collapse .site-shell{filter:invert(1) grayscale(.8) contrast(1.8) brightness(.65)}
.secret-collapse .panel:nth-child(2n){transform:translate(-12vw,8vh) skewY(-17deg);text-shadow:7px 0 #a79eaa,-7px 0 #30000c}
.secret-collapse .background-video{transform:rotate(180deg) scale(1.25,1.2) skewX(-18deg)}
#fracture{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;padding:0;margin:0;border:0;background:transparent;box-shadow:none;overflow:hidden;color:#fff}
#fracture::backdrop{background:#05020370;backdrop-filter:none}
#fracture:before{content:'';position:absolute;left:0;right:0;top:var(--tear-top,35%);height:var(--tear-height,3dvh);background:#080004b3;border-top:1px solid #bca9a559;border-bottom:1px solid #bca9a559;z-index:1;pointer-events:none}
#fracture:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 44%,transparent 15%,#09010450 60%,#090104e8 100%);z-index:1;pointer-events:none}
#fracture-pieces{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:.8;transform:rotate(180deg);transition:opacity 1.6s}
.secret-rupture #fracture-pieces{opacity:.95}
.secret-collapse #fracture-pieces{opacity:1}
.fracture-piece{position:absolute;left:var(--x);top:var(--y);width:var(--width);height:var(--height);object-fit:var(--fit);object-position:var(--focus);filter:invert(1) var(--tint) drop-shadow(var(--ghost));opacity:var(--opacity);transform:var(--pose);clip-path:var(--crop);box-shadow:14px -9px #dad0d133,-17px 6px #21000b66}
.fracture-grain{position:absolute;inset:-10%;pointer-events:none;background:repeating-linear-gradient(0deg,#00000099 0 1px,transparent 1px 4px),repeating-linear-gradient(92deg,#e8dfe422 0 1px,transparent 1px 7px);transform:var(--grain-pose,translate(0,0))}
.fracture-exit{position:absolute;right:max(16px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));display:flex;align-items:flex-end;gap:8px;padding:8px;background:#f5faffed;border:1px solid #afc4db;box-shadow:3px 4px #09132680;filter:invert(1) grayscale(.6);z-index:2}
.fracture-exit img{object-fit:contain;width:54px;height:76px;transform:rotate(180deg)}
.fracture-exit button{min-height:44px;font-size:13px;max-width:180px}
@media(max-width:440px){.fracture-exit{left:12px;right:12px;justify-content:flex-end;flex-wrap:wrap}.fracture-exit button{font-size:12px}}

/* Release covers keep their complete square composition. */
.covers-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.covers-grid .work-link,.covers-grid .work:nth-child(4n+2) .work-link,.covers-grid .work-link:hover{aspect-ratio:1;background:#fff}
.covers-grid .work img,.covers-grid .work-link:hover img{object-fit:contain;object-position:center;transform:none}
.covers-grid figcaption{white-space:normal;overflow-wrap:anywhere;line-height:1.5}

.flyer-archive > .covers-grid{margin-top:14px}
