@font-face{font-family:MobileNav;src:url('assets/navigation-serif.ttf') format('truetype');font-weight:900;font-display:swap}
@font-face{font-family:MobileTitle;src:url('assets/alternation-nav.woff2') format('woff2');font-weight:900;font-display:swap}
@font-face{font-family:MobileBody;src:url('assets/about-noto-sans-sc-bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:AboutAwards;src:url('assets/about-awards-sans.woff2?v=sony-full-1') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:Asset;src:url('assets/Asset-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--orange:#ef661e;--ink:#231b12;--paper:#f4f1eb;--night:#151411;--gutter:22px;--muted:#b7b3ac;color-scheme:dark}
*{box-sizing:border-box}
html{margin:0;scroll-behavior:auto;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;min-height:100svh;background:var(--night);color:var(--paper);font:700 15px/1.85 MobileBody,"PingFang SC","Microsoft YaHei",sans-serif;padding-bottom:calc(66px + env(safe-area-inset-bottom));overflow-wrap:anywhere}
body[data-page=home],body[data-page=photography],body[data-page=design]{background:var(--orange);color:var(--ink);color-scheme:light}
a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
button,a,summary{touch-action:manipulation}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}
[hidden]{display:none!important}
img{display:block;max-width:100%;height:auto}
svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.skip-link{position:fixed;top:-90px;left:22px;z-index:10;background:var(--night);color:var(--paper);padding:12px}
.skip-link:focus{top:12px}
.mobile-header{display:flex;align-items:center;gap:16px;max-width:800px;margin:0 auto;padding:calc(16px + env(safe-area-inset-top)) var(--gutter) 16px;min-height:72px}
#mobile-heading{font:900 18px/1.4 MobileNav,MobileTitle,serif;flex:1;min-width:0}
body[data-page=home] #mobile-heading{font:italic 700 15px/1.4 Arial,sans-serif}
.mobile-home,#mobile-back{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px}
.mobile-home svg{height:26px;width:26px}
main{max-width:800px;margin:0 auto;padding:0 var(--gutter);outline:none}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-family:MobileTitle,MobileNav,Georgia,serif;font-weight:900;font-synthesis:none;line-height:1.3}
.pc-hint{font-size:13px;line-height:1.65;margin:5px 0 20px;max-width:270px}
.home-title{font-family:Asset,serif;font-weight:400;font-synthesis:none;font-size:clamp(24px,9.6vw,64px);letter-spacing:-.015em;line-height:1.2;margin:0 0 24px;white-space:nowrap}
.home-hero{width:100%;aspect-ratio:3/2;object-fit:cover}
.home-motto{font:400 16px/1.5 Georgia,serif;margin:12px 0 24px}
.home-links{border-top:1px solid currentColor}
.home-links a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px;border-bottom:1px solid currentColor;font:900 clamp(24px,7vw,35px)/1.3 MobileTitle,MobileNav,serif;letter-spacing:.025em}
.home-links svg{width:28px;height:28px;flex:0 0 28px}
.mobile-nav{position:fixed;z-index:5;left:0;bottom:0;right:0;background:var(--night);color:var(--paper);border-top:1px solid #ffffff32;display:flex;justify-content:space-around;padding:7px max(12px,env(safe-area-inset-left)) calc(7px + env(safe-area-inset-bottom));}
.mobile-nav a{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:52px;font:900 16px/1 MobileNav,MobileTitle,serif}
.mobile-nav a[aria-current=page]{color:var(--orange)}
body[data-page=home] .mobile-nav,body[data-page=photography] .mobile-nav,body[data-page=design] .mobile-nav{background:var(--orange);color:var(--ink);border-color:#231b1255}
body[data-page=home] .mobile-nav a[aria-current=page],body[data-page=photography] .mobile-nav a[aria-current=page],body[data-page=design] .mobile-nav a[aria-current=page]{color:var(--ink);text-decoration:underline;text-underline-offset:7px}
.mobile-tools{max-width:800px;margin:34px auto 16px;padding:0 var(--gutter);display:flex;gap:20px;flex-wrap:wrap;color:inherit;font:400 12px/1.5 Arial,sans-serif}
.mobile-tools a,#mobile-sound{display:inline-flex;align-items:center;min-height:44px;border:0;background:none;padding:0;text-decoration:underline;text-underline-offset:5px}
#mobile-audio-status{flex-basis:100%;font-size:12px}
#mobile-audio-status:empty{display:none}
.page-title{font-size:clamp(28px,8vw,42px);margin:18px 0 18px;letter-spacing:.035em}
.category-tabs{display:flex;gap:24px;padding:8px 0 22px;border-bottom:1px solid #231b1266;margin-bottom:28px}
.category-tabs a{padding:4px 0;min-height:44px;display:flex;align-items:center;font:900 18px/1.4 MobileTitle,MobileNav,serif}
.category-tabs a[aria-current=page]{border-bottom:2px solid currentColor}
.series-list{display:flex;flex-direction:column;gap:32px}
.series-cover{display:block}
.series-cover img{width:100%;aspect-ratio:3/2;object-fit:cover;background:#fff}
.series-cover h2{font-size:23px;letter-spacing:.035em}
.series-cover-caption{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-top:12px}
.series-cover-caption svg{flex:0 0 24px}
.series-cover .cover-subtitle{font-size:13px;margin:3px 0 0}
.series-copy{margin:14px 0 26px}
.series-heading{font-size:clamp(32px,9vw,46px);letter-spacing:.01em;margin-bottom:12px}
.series-heading:lang(en){font:700 clamp(30px,10vw,46px)/1.15 Georgia,serif;letter-spacing:-.025em}
.series-subtitle{font-family:MobileTitle,MobileNav,serif;font-size:21px;margin:-2px 0 18px}
.series-meta{font:700 14px/1.7 MobileBody,"PingFang SC",sans-serif;color:var(--muted);margin-bottom:22px}
.series-meta span{display:block}
.series-copy p:not(.series-meta):not(.series-subtitle):not(.series-note){margin-top:14px}
.series-copy details{margin-top:14px}
.series-copy summary,.bio-extra summary{cursor:pointer;min-height:44px;display:flex;align-items:center;width:max-content;color:var(--orange);font-size:13px;text-decoration:underline;text-underline-offset:5px}
.series-note{color:var(--muted);font-size:12px;line-height:1.7;margin-top:18px}
.series-photos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 12px}
.series-photo{grid-column:1/-1;min-width:0}
.series-photo img{width:100%;height:auto}
.series-photo.paired{grid-column:auto}
.series-photo.paired img{height:100%;object-fit:contain;object-position:50% 0}
.series-end{display:flex;align-items:center;gap:10px;min-height:48px;margin-top:24px;width:max-content;font-family:MobileTitle,MobileNav,serif}
.series-end svg{width:18px}
.warning-gate{margin-top:16px}
.warning-gate img{width:100%;height:auto}
.warning-title{color:#f52d1d;font:700 22px/1.3 Arial,sans-serif;letter-spacing:.06em;margin:14px 0}
.proceed{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:54px;border:1px solid #f4f1eb88;padding:0 18px;width:100%;background:none;font-family:MobileTitle,MobileNav,serif;font-size:20px}
.about-portrait{width:100%;aspect-ratio:1;object-fit:cover;margin-top:10px}
.about-name{font-size:28px;color:var(--orange);margin:24px 0 4px;letter-spacing:.025em}
.about-role{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:30px}
.bio-section{margin-top:30px}
.bio-section h2{font-size:22px;margin-bottom:12px}
.bio-section p{margin-top:12px}
.about-logo{width:100%;margin:28px 0;aspect-ratio:16/9;object-fit:contain;background:#000}
.objects-heading{font-size:24px;margin:32px 0 18px}
.personal-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 14px}
.personal-item{min-width:0}
.personal-item summary{cursor:pointer;list-style:none}
.personal-item summary::-webkit-details-marker{display:none}
.personal-item img{width:100%;aspect-ratio:3/4;object-fit:cover}
.personal-item h3{font-size:16px;margin-top:10px;line-height:1.4}
.personal-item[open]{grid-column:1/-1}
.personal-item[open] img{aspect-ratio:auto;max-height:540px;object-fit:contain}
.personal-item p{margin-top:14px}
.personal-note{margin:40px 0;font:400 clamp(23px,6.2vw,34px)/1.5 Georgia,serif;color:#f4f1ebaa}
.personal-note span{display:block}
.personal-note span:nth-child(2){margin-left:35px}
.about-awards{margin:0 0 36px;font:700 15px/1.65 AboutAwards,MobileBody,Arial,sans-serif;font-synthesis:none}
.awards-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;padding-bottom:14px;border-bottom:1px solid #ffffff35}
.awards-heading h2{font:inherit;margin:0}
.awards-heading>span{font:10px/1.5 Arial,sans-serif;letter-spacing:.09em;color:var(--muted)}
.awards-list{list-style:none;margin:0;padding:0}
.awards-list li{padding:17px 0;border-bottom:1px solid #ffffff20}
.awards-list h3{margin:0;font:inherit}
.awards-list h3:lang(en){font-family:Arial,sans-serif;font-size:.9em;letter-spacing:.035em}
.awards-list p{margin:3px 0 0;font-size:13px;color:#fa782c}
.directions{padding:0;margin:18px 0 0;list-style:none}
.directions li{margin-bottom:18px;font:700 13px/1.6 Arial,sans-serif}
.direction-line{display:block;width:var(--length);height:1px;background:#ffffff66;margin-top:10px;position:relative}
.direction-line:after{content:'';position:absolute;right:0;top:-1px;width:3px;height:3px;background:#ffffff99}
.contact-heading{font-size:36px;margin:26px 0 30px}
.contact-block{margin-bottom:32px}
.contact-label{font:400 12px/1.4 Arial,sans-serif;color:var(--muted);letter-spacing:.13em;margin-bottom:8px}
.contact-value{font:700 clamp(19px,5.3vw,27px)/1.4 Arial,sans-serif}
.contact-qr{width:180px;margin-top:20px}
.contact-help{color:var(--muted);font-size:12px;margin-top:12px}
.contact-motto{font-family:Asset,serif;font-weight:400;font-synthesis:none;font-size:clamp(12px,3.5vw,21px);line-height:1.65;margin:44px 0 20px}
.contact-motto span{display:block}
.startup{margin-top:40px}
@media(min-width:700px){:root{--gutter:32px}.series-list{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px 24px}.home-title{font-size:64px}.home-hero{max-height:420px;object-fit:cover}.personal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-nav{justify-content:center;gap:60px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
