/*
Theme Name: TOKYOSKYWALKER Gallery
Theme URI: https://tokyoskywalker.jp/
Author: TOKYOSKYWALKER
Description: 写真を主役にしたミニマルな作家公式サイト。写真をトリミングせずに展示するためのテーマ。
Version: 1.1.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: tsw-gallery
License: GPL-2.0-or-later
*/
:root{--ink:#181a19;--muted:#757773;--line:#d9d8d3;--paper:#f5f4f0;--white:#fff;--quiet:#ebeae5;--black:#191b1a;--accent:#9d8c76;--content:1180px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.8}body.admin-bar .site-header{top:32px}
a{color:inherit;text-decoration:none}a:hover{opacity:.7}button{font:inherit}img{max-width:100%;height:auto;vertical-align:middle}figure{margin:0}
::selection{background:#dacbb8;color:#000}
.skip-link{position:absolute;top:-80px;left:20px;background:#fff;color:#111;padding:10px;z-index:100}.skip-link:focus{top:10px}
.shell{width:min(calc(100% - 80px),var(--content));margin:0 auto}
.site-header{position:relative;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{display:flex;justify-content:space-between;align-items:center;min-height:104px;gap:25px}.site-brand{display:flex;align-items:baseline;gap:16px;white-space:nowrap}.brand{font-family:Arial,Helvetica,sans-serif;font-size:clamp(20px,2vw,27px);font-weight:700;line-height:1.1;letter-spacing:-.067em}.brand-caption{font-size:10px;letter-spacing:.18em;color:var(--muted);text-transform:uppercase}.nav-wrap{display:flex;gap:28px;align-items:center}.main-nav{display:flex;gap:28px;align-items:center}.main-nav a,.site-shop-link{font-family:Arial,Helvetica,sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:600}.site-shop-link{border:1px solid var(--ink);padding:13px 17px}.nav-toggle{display:none;border:0;background:transparent;padding:7px;cursor:pointer}.nav-toggle span{display:block;width:22px;height:1px;margin:5px;background:var(--ink)}
.hero{padding:76px 0 86px}.hero-grid{display:grid;grid-template-columns: .95fr 1.05fr;gap:6.5%;align-items:center}.eyebrow,.meta{font-size:10px;text-transform:uppercase;letter-spacing:.22em;font-family:Arial,Helvetica,sans-serif;color:var(--muted);font-weight:600}.hero h1{font-size:clamp(39px,4.7vw,76px);line-height:1.32;letter-spacing:-.095em;font-weight:500;margin:36px 0 30px;white-space:pre-line}.hero-intro{font-size:13px;max-width:390px;line-height:2.2;color:#555954}.text-link{font-size:11px;letter-spacing:.12em;display:inline-flex;gap:26px;align-items:center;font-weight:600;border-bottom:1px solid var(--ink);padding-bottom:11px;margin-top:23px}.text-link:after{content:'↗';font-size:17px;font-weight:400}.hero-visual{min-height:540px;position:relative}.hero-image{height:540px;width:100%;display:flex;align-items:center;justify-content:center;background:#d7d5ce;overflow:hidden}.hero-image img{display:block;width:100%;height:100%;object-fit:contain}.hero-image-placeholder{width:100%;height:100%;position:relative;overflow:hidden;background:linear-gradient(123deg,#16191a,#2a2b2b 58%,#55544d);color:#dfd7ca}.hero-image-placeholder:before{content:'';position:absolute;width:70%;height:150%;left:47%;top:-24%;transform:rotate(17deg);background:linear-gradient(90deg,transparent 0%,rgba(255,253,238,.15) 44%,rgba(255,252,232,.65) 51%,rgba(255,253,238,.05) 56%,transparent 65%);filter:blur(19px)}.hero-image-placeholder:after{content:'YOUR PHOTO';position:absolute;bottom:27px;left:32px;font-size:11px;letter-spacing:.3em;font-family:Arial,sans-serif}.visual-number{position:absolute;right:0;bottom:-29px;font-size:10px;letter-spacing:.22em;color:var(--muted)}
.manifesto{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:54px 0;display:flex;align-items:baseline;justify-content:space-between;gap:30px}.manifesto .eyebrow{flex:0 0 175px}.manifesto p{font-size:clamp(21px,2.6vw,37px);font-weight:400;letter-spacing:-.055em;margin:0;line-height:1.65}
.section{padding:112px 0}.section-heading{display:grid;grid-template-columns:160px 1fr auto;align-items:end;column-gap:35px;padding-bottom:33px;margin-bottom:38px;border-bottom:1px solid var(--line)}.section-index{align-self:start}.section-heading h2{font-size:clamp(33px,4vw,56px);letter-spacing:-.065em;line-height:1.2;font-weight:450;margin:0}.section-heading .aside-link{align-self:end;font-size:11px;letter-spacing:.08em;text-decoration:underline;text-underline-offset:7px}.section-subtitle{margin:0 0 42px 195px;font-size:12px;color:var(--muted)}
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 25px;align-items:start}.art-card{min-width:0}.art-image{background:#e8e7e1;display:flex;align-items:center;justify-content:center;min-height:180px}.art-image img{width:100%;height:auto;object-fit:contain;display:block}.art-card h3{font-size:15px;font-weight:500;letter-spacing:-.03em;line-height:1.6;margin:13px 0 4px}.art-card-meta{font-size:10px;color:var(--muted);letter-spacing:.08em}.empty-panel{padding:58px;border:1px solid var(--line);text-align:center}.empty-panel h3{font-size:21px;font-weight:400;margin:0 0 12px}.empty-panel p{font-size:12px;color:var(--muted);margin:0}
.dark-section{background:var(--black);color:var(--paper)}.dark-section .section-heading{border-color:#51534f}.dark-section .eyebrow,.dark-section .meta,.dark-section .section-subtitle{color:#a5a7a1}.books-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.book-item{border-top:1px solid #525550;padding:30px 0 20px;display:grid;grid-template-columns:.82fr 1fr;gap:28px}.book-cover{background:#dedbd1;aspect-ratio:3/4.3;display:flex;flex-direction:column;justify-content:space-between;padding:22px;color:#242622;max-width:245px;min-height:260px;position:relative;overflow:hidden}.book-cover:after{content:'';position:absolute;inset:34% -20% auto;height:1px;transform:rotate(-16deg);background:#a8a394}.book-cover span{font-size:10px;letter-spacing:.17em}.book-cover b{font-family:Georgia,serif;font-size:clamp(48px,6vw,95px);font-weight:400;letter-spacing:-.1em;line-height:.9}.book-description h3{font-size:31px;font-weight:400;margin:4px 0 15px;letter-spacing:-.04em}.book-description p{font-size:12px;line-height:2;color:#b6b8b1;max-width:240px}.dark-section .text-link{border-color:#cfcfc8}.book-photo img{max-height:380px;width:auto;max-width:100%;object-fit:contain}
.theatre-layout{display:grid;grid-template-columns:1fr .9fr;gap:12%}.theatre-lead{font-size:clamp(25px,3.3vw,45px);letter-spacing:-.07em;line-height:1.6;margin:0 0 30px}.theatre-note{font-size:13px;line-height:2.3;color:#656863}.theatre-list{border-top:1px solid var(--line)}.theatre-list a,.theatre-list .no-entry{display:block;padding:25px 0;border-bottom:1px solid var(--line);font-size:15px}.theatre-list small{display:block;margin:4px 0;color:var(--muted);font-size:10px;letter-spacing:.12em}.theatre-list a:after{content:'↗';float:right}
.about-strip{padding:85px 0;border-top:1px solid var(--line);background:#e8e6df}.about-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:9%}.about-grid h2{font-size:clamp(28px,3.4vw,48px);font-weight:450;letter-spacing:-.07em;margin:12px 0}.about-text{font-size:14px;line-height:2.4;max-width:570px}.about-credit{font-size:12px;letter-spacing:.11em;color:var(--muted)}.site-footer{background:var(--black);color:#f0eee8;padding:63px 0 27px}.footer-top{display:flex;justify-content:space-between;align-items:end;gap:20px;border-bottom:1px solid #4a4c47;padding-bottom:65px}.footer-wordmark{font-family:Arial,sans-serif;font-size:clamp(27px,4vw,55px);font-weight:600;letter-spacing:-.075em;line-height:1}.footer-cta{font-size:11px;text-transform:uppercase;letter-spacing:.14em}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:25px;color:#aeb0a9;font-size:10px;letter-spacing:.12em}.footer-bottom a{margin-left:20px}
/* Post and page templates */
.content-wrap{padding:80px 0 120px}.content-wrap .content-column{max-width:860px;margin:auto}.entry-header{border-bottom:1px solid var(--line);padding-bottom:26px;margin-bottom:42px}.entry-title{font-size:clamp(34px,4.8vw,62px);line-height:1.35;font-weight:450;letter-spacing:-.05em;margin:16px 0}.entry-body{font-size:15px;line-height:2.1;overflow-wrap:anywhere}.entry-body p{margin:0 0 1.5em}.entry-body h2{font-size:26px;margin:2.4em 0 1em}.entry-body img{width:auto;max-width:100%;height:auto;object-fit:contain}.entry-body figure{margin:2.5em auto}.entry-body figcaption{color:var(--muted);font-size:11px;margin-top:12px;text-align:center}.entry-body a{text-decoration:underline;text-underline-offset:4px}.wp-block-gallery.has-nested-images figure.wp-block-image img,.wp-block-gallery .blocks-gallery-item img{height:auto!important;width:100%!important;object-fit:contain!important;position:static!important}.wp-block-gallery.has-nested-images figure.wp-block-image{display:block!important;flex-grow:0}.alignwide{max-width:var(--content);margin-left:50%;transform:translateX(-50%);width:calc(100vw - 80px)}.alignfull{width:100vw;margin-left:50%;transform:translateX(-50%)}.post-nav{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:70px;padding-top:25px;gap:20px}.wp-block-quote{border-left:1px solid var(--ink);padding-left:25px;margin-left:0}.wp-block-image{text-align:center}.wp-block-image img{height:auto}
.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px 24px}.archive-heading{margin-bottom:45px}.pager{display:flex;gap:20px;justify-content:center;margin-top:55px;font-size:12px}
@media (max-width:960px){.shell{width:min(calc(100% - 44px),var(--content))}.brand-caption{display:none}.main-nav{gap:15px}.hero-grid{gap:30px}.hero-visual,.hero-image{min-height:450px;height:450px}.section-heading{grid-template-columns:85px 1fr auto}.section-subtitle{margin-left:120px}.book-item{grid-template-columns:1fr;gap:20px}.book-cover{max-width:100%}}
@media (max-width:680px){body.admin-bar .site-header{top:0}.shell{width:calc(100% - 36px)}.header-inner{min-height:75px}.brand{font-size:21px}.nav-toggle{display:block}.nav-wrap{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);padding:24px 18px 30px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}.nav-wrap.is-open{display:flex}.main-nav{display:flex;flex-direction:column;gap:18px;align-items:flex-start}.main-nav a{font-size:13px}.site-shop-link{text-align:center}.hero{padding:50px 0 69px}.hero-grid{display:flex;flex-direction:column;gap:38px;align-items:stretch}.hero h1{font-size:clamp(42px,11vw,62px);margin:24px 0}.hero-visual,.hero-image{min-height:0;height:auto}.hero-image{aspect-ratio:4/5}.hero-image-placeholder{min-height:430px}.manifesto{padding:40px 0;flex-direction:column;gap:14px}.manifesto .eyebrow{flex:auto}.manifesto p{font-size:24px}.section{padding:76px 0}.section-heading{grid-template-columns:1fr auto;gap:10px;padding-bottom:18px;margin-bottom:25px}.section-index{grid-column:1/-1}.section-heading h2{font-size:37px}.section-heading .aside-link{font-size:10px}.section-subtitle{margin:0 0 29px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 14px}.art-image{min-height:120px}.art-card h3{font-size:13px}.books-grid{grid-template-columns:1fr;gap:25px}.book-item{display:grid;grid-template-columns: .82fr 1fr;gap:17px;padding:22px 0}.book-cover{min-height:0;aspect-ratio:3/4.3;padding:13px}.book-cover b{font-size:clamp(42px,11vw,70px)}.book-cover span{font-size:8px}.book-description h3{font-size:23px}.book-description p{font-size:11px;line-height:1.8}.theatre-layout,.about-grid{grid-template-columns:1fr;gap:25px}.about-strip{padding:65px 0}.footer-top,.footer-bottom{flex-direction:column;align-items:flex-start}.footer-top{padding-bottom:35px}.footer-bottom a{margin:0 20px 0 0}.content-wrap{padding:54px 0 75px}.entry-body{font-size:14px}.archive-grid{grid-template-columns:repeat(2,1fr);gap:25px 14px}.alignwide{width:calc(100vw - 36px)}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
/* WordPress menu added through Appearance > Menus */
.main-nav-list{display:flex;align-items:center;gap:28px;margin:0;padding:0;list-style:none}
.main-nav-list li{margin:0;padding:0}
@media(max-width:680px){.main-nav-list{flex-direction:column;align-items:flex-start;gap:18px}}

/* V1.1 refinements */
:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.site-brand:focus-visible,.main-nav a:focus-visible,.main-nav-list a:focus-visible{outline-offset:7px}
.art-image img{max-width:100%;height:auto!important;object-fit:contain!important}
.book-photo{display:flex;align-items:flex-start;justify-content:flex-start}
.book-photo img{width:auto!important;height:auto!important;max-width:100%;max-height:440px;object-fit:contain!important}
.entry-body .wp-block-image img{width:auto!important;height:auto!important;max-width:100%!important;object-fit:contain!important}
.wp-block-gallery.has-nested-images figure.wp-block-image{min-width:0;align-self:center}
.wp-block-gallery.has-nested-images figure.wp-block-image img{width:auto!important;max-width:100%!important;height:auto!important;margin-inline:auto}
.section-action{display:flex;justify-content:flex-end;margin-top:34px}
.section-action .text-link{margin-top:0}
.site-header .custom-logo-link img{max-width:235px;max-height:55px;width:auto;height:auto}
.book-buy-link{display:inline-flex;align-items:center;gap:12px;margin-top:15px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:6px}
.book-buy-link:after{content:'↗';font-size:16px}
.entry-featured{display:flex;justify-content:center;align-items:center;max-width:100%;margin:0 0 50px}
.entry-featured img{display:block;width:auto;height:auto;max-width:100%;max-height:82vh;object-fit:contain}
.entry-footer-buy{margin:42px 0 0;padding:24px 0;border-top:1px solid var(--line)}
.entry-footer-buy .shop-cta{display:inline-flex;padding:13px 23px;border:1px solid var(--ink);font-size:12px;letter-spacing:.08em}
.archive-description{color:var(--muted);font-size:13px;line-height:2;margin-bottom:42px}
.entry-body .wp-block-gallery{gap:20px!important}
.preview-caption{font-size:11px;color:var(--muted)}
@media(max-width:680px){.book-photo img{max-height:280px}.site-header .custom-logo-link img{max-width:200px}.section-action{justify-content:flex-start}}
