/* 顔のみえるアート展てんぱく2026 公開サイト用スタイル */
:root{--ink:#38515a;--muted:#667984;--rose:#d47691;--rose-dark:#b95173;--line:#d5e3e4;--sky:#e3f5fa;--cream:#fffaf0;--lilac:#e8e5f8;--mint:#e7f3e8;--card:#fffefa}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#f1f9fa;color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.75}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{max-width:100%;display:block}
button,a{ -webkit-tap-highlight-color:transparent }
a:focus-visible,button:focus-visible{outline:3px solid #8359b5;outline-offset:4px}
.shell{width:min(1150px,calc(100% - 48px));margin-inline:auto}
.site-head{position:relative;z-index:20;padding:18px 0 0}
.head-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}
.site-brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:14px;letter-spacing:.045em}
.brand-mark{width:35px;height:35px;display:grid;place-items:center;border-radius:12px;background:#f7cfda;color:#9d4965;font-size:20px}
.brand-year{font-size:12px;color:#6b7485;background:#e8e4f8;padding:2px 9px;border-radius:999px}
.site-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.site-nav a{font-weight:700;font-size:13px;padding:10px 13px;border-radius:999px;transition:background .2s,color .2s}
.site-nav a:hover{background:#fff;color:var(--rose-dark)}
.preview-note{font-size:11px;color:#6f8490;letter-spacing:.06em}
.hero{padding:23px 0 50px}
.hero-inner{position:relative;min-height:535px;display:grid;grid-template-columns:1.08fr .92fr;border-radius:31px;overflow:hidden;background:var(--cream);box-shadow:0 16px 48px rgba(54,104,113,.09);border:1px solid rgba(255,255,255,.9)}
.hero-text{position:relative;z-index:2;padding:60px 30px 52px 58px;align-self:center}
.eyebrow{font-weight:800;font-size:12px;letter-spacing:.18em;color:#967a9e;margin:0 0 20px}
.eyebrow::before{content:"";display:inline-block;width:26px;height:3px;border-radius:4px;vertical-align:middle;margin-right:10px;background:#dba5b7}
.hero-logo{width:min(100%,470px);height:auto;max-height:260px;object-fit:contain;object-position:left center}
.hero-lead{font-size:clamp(17px,2.1vw,25px);line-height:1.7;letter-spacing:.045em;font-weight:800;margin:20px 0 8px}
.hero-description{max-width:460px;font-size:14px;color:#62767b;margin:0 0 25px}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.action-main,.action-sub{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:999px;padding:10px 23px;font-size:14px;font-weight:800;transition:transform .2s,box-shadow .2s}
.action-main{background:#db829d;color:#fff;box-shadow:0 7px 17px rgba(194,108,139,.16)}
.action-main:hover{background:#bd6182;transform:translateY(-2px)}
.action-sub{border:1px solid #c7d9d8;background:#fff;color:#536e70}
.action-sub:hover{transform:translateY(-2px)}
.hero-art{position:relative;min-height:480px;overflow:hidden;background:#e5f0e7}
.hero-slides{position:absolute;inset:0;overflow:hidden}
.hero-slide{position:absolute;inset:0;background-size:contain;background-repeat:no-repeat;background-position:center;opacity:0;animation:homePreviewFade 24s infinite}
.hero-slide:nth-child(1){background-image:url("../2026/arts_mini/art2026_s_03.png");animation-delay:0s}
.hero-slide:nth-child(2){background-image:url("../2026/arts_mini/art2026_s_08.png");animation-delay:6s}
.hero-slide:nth-child(3){background-image:url("../2026/arts_mini/art2026_s_24.png");animation-delay:12s}
.hero-slide:nth-child(4){background-image:url("../2026/arts_mini/art2026_s_20.png");animation-delay:18s}
.hero-slide:nth-child(1){background-color:#f6efed}
.hero-slide:nth-child(2){background-color:#eff5ee}
.hero-slide:nth-child(3){background-color:#f2eff8}
.hero-slide:nth-child(4){background-color:#f9f2e9}
@keyframes homePreviewFade{0%{opacity:0}4%{opacity:1}23%{opacity:1}29%{opacity:0}100%{opacity:0}}
.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,250,240,.08),transparent 35%);pointer-events:none}
/* Soft pastel circles drift through the text-side background only, never over artwork. */
.hero-text{isolation:isolate}
.hero-text > :not(.hero-decor){position:relative;z-index:1}
.hero-decor{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.hero-orb{
  position:absolute;
  width:clamp(95px,12vw,138px);
  aspect-ratio:1;
  border-radius:50%;
  opacity:0;
  transform:scale(.35);
  transform-origin:center;
  will-change:transform,opacity;
  animation:heroPastelBloom 24s ease-out infinite;
}
.hero-orb-pink{
  top:-9%;left:-9%;
  background:radial-gradient(circle,rgba(242,153,187,.31) 0 54%,rgba(242,153,187,.11) 74%,transparent 97%);
  animation-delay:-6s;
}
.hero-orb-blue{
  top:14%;right:-8%;
  background:radial-gradient(circle,rgba(144,207,231,.3) 0 54%,rgba(144,207,231,.1) 74%,transparent 97%);
  animation-delay:-12s;
}
.hero-orb-yellow{
  bottom:-8%;left:10%;
  background:radial-gradient(circle,rgba(246,211,131,.32) 0 54%,rgba(246,211,131,.11) 74%,transparent 97%);
  animation-delay:-18s;
}
.hero-orb-lavender{
  bottom:3%;right:-6%;
  background:radial-gradient(circle,rgba(192,174,231,.3) 0 54%,rgba(192,174,231,.1) 74%,transparent 97%);
  animation-delay:-24s;
}
@keyframes heroPastelBloom{
  0%{transform:scale(.35);opacity:0}
  15%{opacity:.82}
  38%{opacity:.54}
  75%{transform:scale(2.2);opacity:0}
  100%{transform:scale(2.2);opacity:0}
}
@media(max-width:600px){
  .hero-orb{width:104px}
  .hero-orb-blue{top:7%;right:-9%}
  .hero-orb-lavender{bottom:-4%;right:2%}
}
@media(prefers-reduced-motion:reduce){
  .hero-orb{animation:none!important;opacity:0!important}
  .hero-orb-pink{opacity:1!important;transform:scale(1)!important}
}
.section{padding:50px 0}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}
.section-kicker{color:#ba718c;font-size:12px;font-weight:800;letter-spacing:.15em;margin:0 0 4px}
.section h2{font-size:clamp(25px,3.6vw,38px);letter-spacing:.055em;line-height:1.35;margin:0}
.section-intro{font-size:14px;color:var(--muted);margin:12px 0 0}
.text-link{font-size:13px;color:#a85172;font-weight:800;white-space:nowrap}
.text-link:hover{text-decoration:underline}
.works-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px}
.work-card{display:block;background:#fff;border:1px solid #e0e9e8;box-shadow:0 6px 16px rgba(58,102,108,.055);padding:12px;border-radius:20px;transition:transform .2s,box-shadow .2s}
.work-card:hover{transform:translateY(-5px);box-shadow:0 15px 25px rgba(58,102,108,.12)}
.work-image{aspect-ratio:4/5;position:relative;display:block;background:#f8f9f4;border-radius:14px;overflow:hidden}
.work-image img{position:absolute;inset:8px;display:block;width:calc(100% - 16px);height:calc(100% - 16px);object-fit:contain;object-position:center}
.work-card:nth-child(2) .work-image{background:#f2f4f9}
.work-card:nth-child(3) .work-image{background:#fcf3ef}
.work-card:nth-child(4) .work-image{background:#f3f8ee}
.about-card{display:grid;grid-template-columns:1.15fr .85fr;gap:0;border-radius:26px;overflow:hidden;background:#fff;border:1px solid #e7eded}
.about-copy{padding:44px 51px}
.about-copy p{font-size:15px;color:#63737a;margin:16px 0 0}
.about-side{display:grid;place-items:center;text-align:center;background:radial-gradient(circle at 16% 23%,#fff3ca 0 16%,transparent 17%),radial-gradient(circle at 77% 70%,#e0d5f4 0 20%,transparent 21%),#e7f3e9;padding:35px}
.about-side strong{font-size:clamp(24px,3vw,37px);font-weight:900;letter-spacing:.06em;line-height:1.8;color:#69827e}
.about-side small{font-size:12px;letter-spacing:.2em;color:#839796}
.archive-grid{display:grid;grid-template-columns:minmax(0,650px);gap:20px}
.archive-card{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:175px;border:1px solid #e5e1e9;border-radius:22px;padding:25px 30px;background:#f0eefa;transition:transform .2s}
.archive-card:hover{transform:translateY(-3px)}
.archive-year{display:block;font-size:clamp(36px,5vw,60px);font-weight:900;line-height:1;color:#73668d;letter-spacing:.02em}
.archive-card p{font-size:13px;margin:12px 0 0;color:#69737b}
.archive-chip{white-space:nowrap;background:rgba(255,255,255,.8);color:#69627a;font-size:12px;padding:7px 12px;border-radius:100px;font-weight:800}
.archive-note{font-size:12px;color:#75858b;margin-top:16px}
.site-footer{margin-top:50px;background:#fff;border-top:1px solid #e1e9e7;padding:28px 0}
.footer-inner{display:flex;justify-content:space-between;gap:16px;align-items:center}
.site-footer p{font-size:12px;color:#65747a;margin:0}
.tag{display:inline-flex;gap:5px;align-items:center;font-size:11px;color:#99748e;background:#f8ecf1;border-radius:100px;padding:5px 11px}
.gallery-hero{padding:56px 0 24px}
.gallery-hero h1{font-size:clamp(27px,4vw,43px);line-height:1.4;margin:5px 0 8px}
.gallery-desc{font-size:14px;color:var(--muted);max-width:720px}
.gallery-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;padding:12px 0 60px}
.gallery-card{display:block;text-align:left;width:100%;background:#fff;border:1px solid #dde9e7;border-radius:17px;padding:10px;color:var(--ink);cursor:pointer;transition:transform .2s,box-shadow .2s}
.gallery-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(60,93,97,.13)}
.gallery-card img{width:100%;aspect-ratio:1/1;object-fit:contain;border-radius:11px;background:#f7f9f7}
.gallery-card span{display:block;padding:8px 4px 2px;font-weight:800;color:#ae6381;font-size:13px}
.art-dialog{border:0;border-radius:22px;padding:0;width:min(920px,calc(100vw - 24px));max-height:94vh;box-shadow:0 24px 70px rgba(30,55,56,.25)}
.art-dialog::backdrop{background:rgba(26,41,49,.72)}
.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;border-bottom:1px solid #e1e9e6}
.dialog-head strong{font-size:17px}
.dialog-close{cursor:pointer;border:0;background:#f4e6ec;border-radius:999px;padding:5px 15px;color:#8b4e65}
.dialog-inner{display:grid;grid-template-columns:1.08fr .92fr;gap:20px;align-items:start;padding:20px;overflow-y:auto;max-height:calc(94vh - 65px)}
.dialog-inner img{max-height:64vh;width:100%;object-fit:contain;background:#f8faf8;border-radius:12px}
.dialog-label{font-size:11px;letter-spacing:.1em;color:#6d7e86;margin:2px 0 8px}
.dialog-card{width:100%;height:auto;max-height:53vh;object-fit:contain!important}
.dialog-controls{display:flex;gap:12px;margin-top:13px}
.dialog-controls[hidden]{display:none}
.dialog-controls button{border:1px solid #d7e2e1;padding:6px 17px;border-radius:99px;background:#fff;cursor:pointer}
.dialog-controls button:disabled{opacity:.35;cursor:default}
@media(max-width:1020px){.hero-text{padding:42px 30px}.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:780px){.head-inner{flex-direction:column;align-items:flex-start;gap:10px}.site-nav{justify-content:flex-start}.hero-inner{grid-template-columns:1fr}.hero-text{padding:38px 30px 32px}.hero-art{min-height:280px}.hero-logo{max-height:215px}.works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-card{grid-template-columns:1fr}.about-copy{padding:32px}.about-side{min-height:170px}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dialog-inner{grid-template-columns:1fr}.dialog-inner img{max-height:45vh}}
@media(max-width:530px){.shell{width:min(100% - 26px,1150px)}.site-head{padding-top:12px}.site-brand{font-size:12px}.site-nav{gap:0}.site-nav a{font-size:11px;padding:8px 10px}.hero{padding:13px 0 26px}.hero-inner{border-radius:21px;min-height:0}.hero-text{padding:27px 21px 30px}.hero-lead{font-size:17px}.hero-description{font-size:13px}.hero-art{min-height:220px}.hero-logo{max-height:210px}.section{padding:32px 0}.section-head{align-items:start;flex-direction:column;gap:10px}.works-grid{gap:10px}.work-card{padding:7px;border-radius:13px}.work-image{border-radius:9px}.archive-grid{grid-template-columns:1fr;gap:12px}.archive-card{min-height:135px;padding:22px}.footer-inner{align-items:flex-start;flex-direction:column}.gallery-hero{padding:28px 0 18px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.gallery-card{padding:7px}.dialog-inner{padding:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.hero-slide:first-child{opacity:1}}


/* Mobile icon navigation: restores the original site's top icon menu. */
.mobile-icon-nav{display:none}
@media(max-width:600px){
  body{padding-top:73px}
  .site-head{padding-top:10px}
  .site-nav{display:none}
  .mobile-icon-nav{
    position:fixed;top:0;left:0;right:0;z-index:5000;
    display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
    align-items:stretch;min-height:69px;
    padding:6px max(6px,env(safe-area-inset-right)) 5px max(6px,env(safe-area-inset-left));
    background:rgba(255,255,255,.97);
    border-bottom:1px solid #d9e3e6;
    box-shadow:0 2px 10px rgba(54,79,89,.11);
  }
  .mobile-icon-nav a{
    color:#b75e79;text-decoration:none;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:3px;padding:3px 2px;
    border-radius:10px;font-size:10px;font-weight:800;
    line-height:1.3;white-space:nowrap;
  }
  .mobile-icon-nav a[aria-current="page"]{background:#fbebf0;color:#9a4b69}
  .mobile-icon-nav a:focus-visible,.mobile-icon-nav a:hover{background:#f9eff3}
  .mobile-icon-nav img,.mobile-icon-nav svg{
    display:block;width:25px;height:25px;
    object-fit:contain;flex-shrink:0;
  }
  #top,#works,#about,#archive{scroll-margin-top:86px}
}


/* 2026 おしらせページ */
.page-news-2026 .site-nav a[aria-current="page"]{background:#f9eaf0;color:#a35170}
.news-main{padding-top:32px}
.news-hero{position:relative;overflow:hidden;border-radius:28px;padding:44px 55px;background:radial-gradient(circle at 94% 0,#fcdfd9 0 11%,transparent 12%),radial-gradient(circle at 89% 92%,#e6e3f6 0 15%,transparent 16%),linear-gradient(115deg,#fffaf0 0%,#f0f9f5 100%);border:1px solid #e5eeea}
.news-hero h1{font-size:clamp(32px,5vw,51px);margin:3px 0 7px;line-height:1.4}
.news-hero p:not(.section-kicker){max-width:740px;color:#617881;font-size:14px}
.news-hero .news-lead{font-size:clamp(18px,2.6vw,25px)!important;font-weight:900;color:#ab5b7e!important;margin:5px 0}
.news-link{display:inline-block;margin-top:17px;border-radius:100px;background:#fff;border:1px solid #e5d9e2;padding:10px 20px;color:#9d506d;font-size:13px;font-weight:800}
.news-introduction{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;margin-top:27px}
.news-introduction>div,.news-web{padding:34px 39px;border:1px solid #e3ebea;border-radius:22px;background:#fff}
.news-introduction h2,.news-contact h2{font-size:clamp(22px,2.8vw,28px);margin:3px 0 13px}
.news-introduction p:not(.section-kicker){font-size:14px;color:#62777d}
.news-web{background:#edf2fc;border-color:#e1e6f2}
.news-web h2{color:#58699a}
.news-web h2 span{font-size:14px;color:#647baa;border:1px solid #b9c8e6;border-radius:100px;padding:2px 13px;margin-left:6px;white-space:nowrap}
.news-web .action-main{margin-top:9px}
.news-venues{padding:55px 0 10px}
.venue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.venue-card{padding:28px 30px 24px;background:#fff;border:1px solid #e1e9e8;border-radius:22px;box-shadow:0 6px 19px rgba(54,93,97,.045)}
.venue-card.venue-pink{border-top:6px solid #e4a2bd}
.venue-card.venue-yellow{border-top:6px solid #e6c681}
.venue-card.venue-mint{border-top:6px solid #9bd1b4}
.venue-card.venue-sky{border-top:6px solid #9cc9e9}
.venue-top{display:flex;gap:15px;align-items:flex-start}
.venue-number{display:grid;place-items:center;min-width:46px;height:46px;background:#f4e8ee;border-radius:15px;font-weight:900;font-size:18px;color:#a95d7a}
.venue-yellow .venue-number{background:#fbf2da;color:#92753c}
.venue-mint .venue-number{background:#e4f5e9;color:#4c896d}
.venue-sky .venue-number{background:#e4f3fa;color:#3d83ae}
.venue-top h3{font-size:clamp(18px,2.4vw,24px);line-height:1.5;margin:0}
.venue-period{color:#647c84;margin:2px 0 0;font-weight:700;font-size:14px}
.venue-hours{margin:22px 0}
.venue-hours-row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid #ecf0f0}
.venue-hours-row:last-child{border-bottom:1px solid #ecf0f0}
.venue-hours dt{font-size:12px;color:#697e84}
.venue-hours dd{margin:0;font-size:15px;font-weight:800;color:#435d64;white-space:nowrap}
.venue-map summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;border-radius:100px;background:#f3f7f7;color:#516c72;padding:8px 15px;font-size:13px;font-weight:800}
.venue-map summary:after{content:" ＋";margin-left:4px}
.venue-map[open] summary:after{content:" −"}
.venue-map summary::-webkit-details-marker{display:none}
.venue-map iframe{display:block;max-width:100%;width:100%;border-radius:12px;margin-top:15px}
.news-contact{margin-top:45px;background:#f9f3f4;border:1px solid #f0e0e4;border-radius:22px;padding:32px 38px;display:grid;grid-template-columns:1fr 1.3fr;gap:26px}
.news-contact p{font-size:13px;color:#677b81}
.contact-points p{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:5px 0 13px;background:#fff;border-radius:12px;padding:12px 17px}
.contact-points strong{font-size:14px;color:#50666f}
.contact-points a{font-size:16px;color:#a25370;font-weight:900;white-space:nowrap}
.news-source-note{color:#849297;font-size:11px;margin-top:18px}
@media(max-width:800px){.news-introduction{grid-template-columns:1fr}.venue-grid{grid-template-columns:1fr}.news-contact{grid-template-columns:1fr}}
@media(max-width:530px){.news-main{padding-top:18px}.news-hero{padding:27px 22px;border-radius:20px}.news-introduction>div,.news-web{padding:25px 22px}.news-venues{padding-top:36px}.venue-card{padding:20px 18px}.venue-number{min-width:39px;height:39px}.venue-top{gap:10px}.venue-period{font-size:12px}.venue-hours-row{flex-direction:column;gap:2px}.venue-hours dd{font-size:16px}.news-contact{padding:24px 18px}.contact-points p{flex-wrap:wrap}.news-source-note{padding:0 3px}}


/* 2026 ムービー作品ページ */
.page-movies-2026 .site-nav a[aria-current="page"]{background:#f9eaf0;color:#a35170}
.movies-main{padding-top:39px}
.movies-intro{padding:35px 44px 26px;margin-bottom:24px;border:1px solid #e6edeb;border-radius:24px;background:radial-gradient(circle at 96% 1%,#f8e2e7 0 11%,transparent 12%),linear-gradient(120deg,#fffaf1,#e9f3f4)}
.movies-intro h1{font-size:clamp(29px,4.5vw,44px);line-height:1.4;margin:6px 0 10px}
.movies-intro>p:last-child{color:#62767f;font-size:14px;max-width:780px;line-height:1.9;margin:0}
.movies-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.movie-tile{overflow:hidden;border:1px solid #e1e9e8;border-radius:20px;background:#fff;box-shadow:0 5px 16px rgba(58,102,108,.045)}
.movie-player{width:100%;aspect-ratio:16/9;background:#e8edf0}
.movie-player iframe{border:0;display:block;width:100%;height:100%}
.movie-tile-content{padding:15px 19px 21px}
.movie-tile-content h2{font-size:clamp(17px,2vw,20px);margin:3px 0 0;line-height:1.65}
.movie-type{color:#ae6f8a;letter-spacing:.12em;font-size:11px;font-weight:800;margin:0}
.movie-placeholder{aspect-ratio:16/9;display:grid;place-items:center;background:linear-gradient(125deg,#edeaf9,#f8ecf1);color:#b78cbd;font-size:76px}
.movie-placeholder-performance{background:linear-gradient(125deg,#edf3e7,#e9effc);color:#93aca0}
.movie-pending-badge{display:inline-block;background:#f3f3f1;border-radius:999px;color:#778184;padding:4px 11px;font-size:12px;margin:13px 0 0}
@media(max-width:720px){.movies-grid{grid-template-columns:1fr}.movies-intro{padding:28px 24px}.movies-main{padding-top:22px}}
@media(max-width:400px){.mobile-icon-nav a{font-size:9px}.mobile-icon-nav img,.mobile-icon-nav svg{width:23px;height:23px}}


/* High-resolution artwork zoom, 2026 gallery only */
.zoom-launch{
  display:block;position:relative;width:100%;padding:0;border:0;border-radius:12px;
  text-align:left;cursor:zoom-in;background:transparent;overflow:hidden;
}
.zoom-launch img{width:100%;height:auto}
.zoom-launch-label{
  position:absolute;right:10px;bottom:10px;pointer-events:none;
  padding:6px 12px;border-radius:999px;background:rgba(35,55,60,.83);
  color:#fff;font-size:12px;font-weight:800;letter-spacing:.02em
}
.zoom-launch:hover .zoom-launch-label{background:#9f5875}
.zoom-dialog{
  width:min(1260px,98vw);max-width:98vw;
  height:94vh;height:94dvh;max-height:94vh;max-height:94dvh;
  padding:0;border:0;border-radius:20px;background:#f9faf9;color:#35515a;
  overflow:hidden;box-shadow:0 25px 80px rgba(16,32,40,.5);
}
.zoom-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.zoom-dialog::backdrop{background:rgba(12,24,32,.86)}
.zoom-toolbar{
  display:flex;gap:12px;align-items:center;justify-content:space-between;
  padding:12px 17px;background:#fff;border-bottom:1px solid #dbe5e5
}
.zoom-toolbar strong{font-size:14px;line-height:1.4}
.zoom-buttons{display:flex;align-items:center;gap:7px}
.zoom-buttons button{
  min-height:37px;min-width:38px;padding:5px 12px;border:1px solid #d8e4e4;
  border-radius:9px;background:#f9fafa;cursor:pointer;font-weight:800;color:#40585b
}
.zoom-buttons button:hover{background:#e9f4f3}
.zoom-buttons .zoom-close{background:#f6e8ee;color:#95526a}
.zoom-buttons .zoom-reset{min-width:88px;font-size:12px}
#zoom-percent{min-width:45px;text-align:center;font-size:12px;font-variant-numeric:tabular-nums;font-weight:800}
.zoom-viewport{
  position:relative;min-width:0;min-height:0;overflow:hidden;
  background:#e7ebea;cursor:zoom-in;touch-action:none;user-select:none;
  overscroll-behavior:contain;
}
.zoom-viewport.is-zoomed{cursor:grab}
.zoom-viewport.is-zoomed:active{cursor:grabbing}
.zoom-viewport img{
  position:absolute;inset:0;width:100%;height:100%;max-width:none;
  object-fit:contain;transform-origin:50% 50%;pointer-events:none;
  user-select:none;-webkit-user-drag:none;will-change:transform
}
.zoom-help{padding:8px 15px;margin:0;text-align:center;color:#5d7679;background:#fff;font-size:11px}
@media(max-width:700px){
  .zoom-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}
  .zoom-toolbar{gap:4px;padding:9px 10px;flex-wrap:wrap}
  .zoom-toolbar strong{font-size:12px;flex-basis:100%}
  .zoom-buttons{width:100%;justify-content:space-between;gap:4px}
  .zoom-buttons button{min-height:40px;padding:4px 9px}
  .zoom-buttons .zoom-reset{min-width:auto}
  .zoom-help{font-size:10px;padding:7px 10px}
}


/* 2026 horizontal hand-drawn logo shared by all preview page headers */
.site-brand{flex-shrink:0;max-width:100%;line-height:1}
.site-brand-logo{
  display:block;
  width:clamp(190px,22vw,265px);
  max-width:100%;
  height:auto;
  object-fit:contain;
}
@media(max-width:1080px){
  .site-brand-logo{width:215px}
}
@media(max-width:780px){
  .site-brand-logo{width:245px}
}
@media(max-width:600px){
  .site-brand-logo{width:min(245px,74vw)}
  .head-inner{gap:5px}
}


/* 2026作品：英字ラベルと目立つ作品一覧ボタン */
#works .pickup-eyebrow{
  margin-bottom:6px;
  font-size:11px;
  letter-spacing:.2em;
  font-weight:800;
  color:#af6a88;
}
#works .all-works-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  min-height:51px;
  padding:12px 22px;
  border-radius:999px;
  background:#d77997;
  border:2px solid #d77997;
  color:#fff;
  font-weight:800;
  font-size:14px;
  line-height:1.4;
  white-space:nowrap;
  box-shadow:0 8px 20px rgba(167,82,111,.19);
  transition:background .2s,transform .2s,box-shadow .2s;
}
#works .all-works-button span{font-size:19px;line-height:1}
#works .all-works-button:hover,
#works .all-works-button:focus-visible{
  background:#b95477;
  border-color:#b95477;
  box-shadow:0 11px 24px rgba(167,82,111,.26);
  transform:translateY(-2px);
}
@media(max-width:530px){
  #works .all-works-button{
    width:100%;
    min-height:50px;
    justify-content:space-between;
    padding:11px 21px;
  }
}


/* Independent lightweight 2025 artwork archive. Uses only small archived assets. */
.page-archive-2025 .site-nav a[aria-current="page"]{color:#a55272;background:#f9ebf1}
.archive-main{padding-top:42px;padding-bottom:55px}
.archive-page-head{background:linear-gradient(115deg,#fffaf1,#f0f7f6);border:1px solid #e8eeeb;border-radius:24px;padding:33px 40px;margin-bottom:28px}
.archive-page-head h1{font-size:clamp(27px,3.7vw,38px);margin:3px 0 10px}
.archive-page-head>p:not(.section-kicker){color:#65797f;font-size:14px;line-height:1.9;margin:0 0 12px}
.archive-back{font-size:13px;font-weight:800;color:#a85775}
.archive-back:hover{text-decoration:underline}
.archive-works-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.archive-work{width:100%;min-width:0;padding:9px 9px 7px;border:1px solid #e0e9e7;border-radius:14px;background:#fff;cursor:pointer;color:var(--ink);transition:box-shadow .2s,transform .2s}
.archive-work:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(45,80,82,.1)}
.archive-work-image{position:relative;display:block;width:100%;aspect-ratio:4/5;min-height:0;background:#f3f6f5;border-radius:9px;overflow:hidden}
.archive-work-image img{position:absolute;inset:7px;display:block;width:calc(100% - 14px);height:calc(100% - 14px);max-width:calc(100% - 14px);max-height:calc(100% - 14px);object-fit:contain;object-position:center}
.archive-work-image img[hidden],.archive-detail-body img[hidden]{display:none}
.archive-thumb-pending{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11px;color:#899797}
.archive-thumb-pending[hidden],.archive-missing[hidden]{display:none}
.archive-work-label{display:block;color:#9b7181;text-align:left;padding:5px 3px 0;font-size:12px;font-weight:700}
.archive-detail-dialog{border:0;border-radius:18px;padding:0;width:min(900px,calc(100% - 25px));max-width:900px;max-height:93vh;background:#fff;box-shadow:0 20px 60px rgba(20,35,40,.3)}
.archive-detail-dialog::backdrop{background:rgba(24,42,50,.76)}
.archive-detail-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e2ebe9;padding:12px 20px}
.archive-detail-top strong{font-size:16px}
.archive-close{padding:7px 15px;border:0;border-radius:100px;background:#f9edf1;color:#934e69;cursor:pointer}
.archive-detail-body{display:grid;grid-template-columns:1fr 1.15fr;gap:23px;padding:23px;max-height:calc(93vh - 62px);overflow-y:auto;align-items:start}
.archive-detail-art,.archive-detail-card{min-width:0}
.archive-detail-art{min-height:230px;display:grid;place-items:center;background:#f4f7f6;border-radius:13px;padding:10px}
.archive-detail-art img{width:100%;max-height:58vh;object-fit:contain}
.archive-detail-card img{width:100%;max-height:60vh;object-fit:contain}
.archive-card-label{font-size:12px;font-weight:800;color:#96758a;margin:0 0 12px}
.archive-missing{font-size:13px;color:#899798;margin:30px auto;text-align:center}
@media(max-width:1000px){.archive-works-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:760px){.archive-works-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.archive-detail-body{grid-template-columns:1fr}.archive-detail-art img{max-height:35vh}.archive-detail-card img{max-height:55vh}}
@media(max-width:530px){.archive-main{padding-top:20px}.archive-page-head{padding:24px 21px;border-radius:18px}.archive-works-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.archive-work{padding:6px;border-radius:10px}.archive-work-image{border-radius:7px}.archive-detail-body{padding:14px;gap:15px}.archive-detail-art{min-height:160px}}

/* Composer and performance credits beneath 2026 videos. */
.movie-credit{font-size:13px;line-height:1.7;color:#6c7e83;margin:7px 0 0}


/* Slightly larger feature card for the 2026 artwork-making film. */
.page-movies-2026 .movie-featured{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);
  align-items:stretch;
  border:2px solid #e9b3c1;
  background:linear-gradient(135deg,#fff,#fff7f8);
  box-shadow:0 10px 27px rgba(181,105,133,.1);
}
.page-movies-2026 .movie-featured .movie-player{align-self:center}
.page-movies-2026 .movie-featured .movie-tile-content{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:28px 30px;
}
.page-movies-2026 .movie-featured .movie-type{color:#b45c7c;letter-spacing:.13em}
.page-movies-2026 .movie-featured .movie-tile-content h2{
  font-size:clamp(23px,2.9vw,32px);
  margin:10px 0 0;
}
.page-movies-2026 .movie-featured-description{
  max-width:27em;
  margin:15px 0 0;
  color:#687d82;
  font-size:14px;
  line-height:1.85;
}
@media(max-width:850px){
  .page-movies-2026 .movie-featured{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
  .page-movies-2026 .movie-featured .movie-tile-content{padding:18px}
  .page-movies-2026 .movie-featured-description{font-size:13px;margin-top:8px}
}
@media(max-width:720px){
  .page-movies-2026 .movie-featured{display:block;grid-column:1 / -1}
  .page-movies-2026 .movie-featured .movie-tile-content{padding:20px 22px}
  .page-movies-2026 .movie-featured .movie-tile-content h2{font-size:24px;margin-top:5px}
}


/* Happiness: same featured size, a subtle mint accent to distinguish the performance. */
.page-movies-2026 .movie-featured-performance{
  border-color:#b5d9d4;
  background:linear-gradient(135deg,#fff,#f4faf8);
  box-shadow:0 10px 27px rgba(77,143,139,.1);
}
.page-movies-2026 .movie-featured-performance .movie-type{color:#458b83}
