/* Phone edition: cover first, native vertical reading, generous touch targets. */
#mobile-menu{margin:0 0 0 auto;padding:0;border:0;max-width:none;max-height:none;width:min(100%,480px);height:100%;height:100dvh;background:#171715;color:#eeeae2;overscroll-behavior:contain}
#mobile-menu::backdrop{background:#000b;backdrop-filter:blur(8px)}
.mobile-menu-open,.mobile-menu-open body{overflow:hidden}
.nav-burger[hidden]{display:none!important}
.mobile-menu-head{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid #eee2;font:10px var(--mono);letter-spacing:.12em}
.mobile-menu-head button{min-height:44px;padding:0 12px;font-size:13px;letter-spacing:0}
#mobile-menu nav{display:grid;padding:24px}
#mobile-menu nav a{display:grid;gap:10px;padding:23px 0;border-bottom:1px solid #eee2}
#mobile-menu nav small{font:10px var(--mono);letter-spacing:.15em;color:#c6aa7d}
#mobile-menu nav span{font:30px 'Songti SC','SimSun',serif}
.mobile-menu-note{padding:0 24px 32px;font-size:12px;line-height:1.8;color:#a7a193}
@media(prefers-reduced-motion:no-preference){#mobile-menu[open]{animation:menuIn .28s ease-out}@keyframes menuIn{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}}
@media(max-width:768px){
 .editorial-site .nav,.editorial-site .nav-in{height:62px}
 .editorial-site .nav.nav-hidden{transform:none}
 .editorial-site .nav-in{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
 .editorial-site .logo{min-height:44px;align-items:center}
 .editorial-site .logo-sign{height:32px}
 .editorial-site .nav-burger{display:flex;align-items:center;width:48px;min-height:48px;margin:0;padding:12px;border:1px solid var(--line)}
 .editorial-site .nav-burger span{width:20px;height:1px}
 .editorial-site .nav-links{display:none}
 .editorial-site .wrap{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
 .editorial-site section{scroll-margin-top:82px}
 .editorial-cover.hero,.editorial-cover.hero.no-webgl{padding:62px 0 28px}
 .cover-edition{margin:0;padding:15px 20px!important;font-size:8px;letter-spacing:.09em;border-bottom:0}
 .cover-edition span:last-child{font-size:7px}
 .editorial-cover .hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0;padding:0;max-width:600px}
 .cover-copy{display:contents}
 .cover-portrait{grid-area:1/1;position:relative;aspect-ratio:auto;margin:0;height:clamp(390px,62svh,600px)}
 .cover-portrait img{object-fit:cover;object-position:center 23%;animation:none}
 .cover-portrait::after{background:linear-gradient(180deg,rgba(10,10,10,.22),transparent 24%,transparent 43%,rgba(13,13,12,.84) 100%)}
 .cover-portrait figcaption{display:none}
 .editorial-cover .hero-kicker{grid-area:1/1;align-self:start;z-index:2;margin:19px 20px;color:#eee6d9;font-size:9px;letter-spacing:.13em;animation:none}
 .editorial-cover .hero-title{grid-area:1/1;align-self:end;z-index:2;font-size:clamp(65px,19vw,106px);line-height:.83;font-weight:400;letter-spacing:-.065em;margin:0 20px 20px;text-shadow:0 2px 24px #0005;display:block;pointer-events:none}
 .editorial-cover .hero-title .h-line{display:block;padding:0 0 .06em}
 .editorial-cover .h-line>span{animation:none}
 .editorial-cover .word-metal{color:#d5b88b}
 .cover-statement{grid-row:2;margin:24px 20px 0;font-size:clamp(22px,5.7vw,29px);line-height:1.6;letter-spacing:.02em;animation:none}
 .cover-statement br{display:none}
 .editorial-cover .hero-tag{grid-row:3;margin:9px 20px 0;font-size:13px;line-height:1.9;color:#bdb7ad;animation:none}
 .editorial-cover .hero-tag br{display:none}
 .editorial-cover .hero-cta{grid-row:4;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 20px 0;animation:none}
 .editorial-cover .btn{width:100%;min-width:0;height:48px;padding:0 9px;font-size:12px}
 .cover-index{display:none}
 .editorial-site .marquee{padding:13px 0}
 .editorial-site .mq-group span{font-size:10px;letter-spacing:.1em}
 .editorial-site .sec{padding:58px 0}
 .editorial-site #about{padding:54px 0}
 .editorial-site .about-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
 .editorial-site .about-side,.editorial-site .about-text{display:contents}
 .editorial-site .about-side>.kicker{display:none}
 .profile-label{grid-row:1;margin:0 0 16px;font-size:10px;letter-spacing:.09em}
 .profile-title{grid-row:2;margin:0 0 24px;font-size:30px;line-height:1.55}
 .profile-portrait{grid-row:3;margin:0 0 25px;max-width:none}
 .editorial-site .about-photo{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center 29%}
 .profile-portrait figcaption{font-size:8px;margin-top:10px}
 #about-p1{grid-row:4}#about-p2{grid-row:5}
 .editorial-site .about-p{font-size:15px;line-height:1.95;margin:0 0 18px;color:#4a4942}
 .editorial-site .about-p .w{opacity:1!important}
 .editorial-site #about .stats{grid-row:6;grid-template-columns:1fr 1fr;gap:24px;margin:7px 0 0;padding-top:24px}
 .editorial-site #about .stat-n{font-size:32px}
 .editorial-site #about .stat-l{font-size:11px;line-height:1.7}
 .profile-footnote{grid-row:7;margin-top:25px;padding-top:18px;font-size:10px;line-height:1.8;flex-wrap:wrap}
 .practice-grid{grid-template-columns:minmax(0,1fr);gap:26px}
 .practice-copy h2{font-size:32px;margin:18px 0;line-height:1.5}
 .practice-copy>p:not(.kicker){font-size:14px;max-width:none}
 .practice-link{min-height:44px;align-items:center;margin:18px 0;padding:10px 0;font-size:13px;max-width:none}
 .practice .term{height:370px;min-width:0}
 .practice .term-bar{padding:10px}
 .practice .term-title{font-size:10px}
 .practice .term-badge{font-size:9px;padding:2px 4px}
 .practice .term-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:8px}
 .practice .chip{min-height:44px;font-size:11px;padding:6px 2px;letter-spacing:0}
 .practice .term-input{gap:5px;padding:12px 10px}
 .practice .term-prompt{font-size:10px}
 .practice .term-input input{font-size:16px;min-height:26px}
 .editorial-site .sec-head{margin-bottom:26px;padding-top:17px;gap:8px;align-items:center}
 .editorial-site .sec-head h2{font-size:29px}
 .editorial-site .sec-head .en{font-size:9px;letter-spacing:.08em}
 .editorial-site .work-stack{display:grid;gap:16px}
 .editorial-site .work-card,.editorial-site .work-card.has-media,.editorial-site .work-stack.js-stack .work-card{position:relative;top:auto;grid-template-columns:minmax(0,1fr);gap:15px;padding:22px;margin:0}
 .editorial-site .wc-num{font-size:26px}
 .editorial-site .wc-main{min-width:0}
 .editorial-site .wc-main h3{font-size:21px;line-height:1.5}
 .editorial-site .wc-main p,.editorial-site .wc-main li{font-size:14px;line-height:1.9}
 .editorial-site .wc-media{grid-column:auto;height:auto;aspect-ratio:16/10;width:100%;margin-top:4px}
 .editorial-site .wc-media img{width:100%;height:100%;object-fit:cover}
 .editorial-site #projects .sec-head{margin-bottom:26px}
 .editorial-site .proj-viewport,.editorial-site .proj-viewport.js-pin{overflow:visible;padding:0 20px}
 .editorial-site .proj-track{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;padding:0}
 .editorial-site .panel{width:100%;min-width:0;max-width:none;min-height:0;padding:24px 22px}
 .editorial-site .panel-body{margin-top:19px;gap:10px}
 .editorial-site .p-num{font-size:30px}
 .editorial-site .p-name{font-size:23px;line-height:1.5;overflow-wrap:anywhere}
 .editorial-site .p-sub{font-size:12px;line-height:1.7}
 .editorial-site .p-desc{font-size:14px;line-height:1.9}
 .editorial-site .p-hint{margin-top:8px}
 .editorial-site .p-hint a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;line-height:1.6}
 .editorial-site .p-media{gap:8px;margin-top:10px}
 .editorial-site .p-media img{width:calc(50% - 4px);height:auto;aspect-ratio:1;object-fit:cover;min-width:0}
 .editorial-site .skill-row{grid-template-columns:minmax(0,1fr);gap:14px;padding:24px 0}
 .editorial-site .skill-items{display:flex;gap:9px;flex-wrap:wrap;line-height:1.7}
 .editorial-site .skill-items span,.editorial-site .skill-items span+span{margin:0;padding:6px 10px;border:1px solid var(--line);font-size:12px}
 .editorial-site .footer .wrap{padding-top:54px}
 .editorial-site .foot-big{font-size:32px;line-height:1.6;margin-top:20px}
 .editorial-site .foot-big a{display:inline-block;min-height:48px}
 .editorial-site .mail-cta{width:100%;min-width:0;margin-top:24px}
 .editorial-site .mail-addr{min-width:0;padding:0 12px;font-size:12px;letter-spacing:0;overflow-wrap:anywhere}
 .editorial-site .mail-go{width:44px}
 .editorial-site .socials{margin-top:25px;display:grid;grid-template-columns:1fr 1fr;gap:6px 18px}
 .editorial-site .socials a{display:flex;align-items:center;min-height:44px;font-size:11px}
 .editorial-site .legal{margin-top:30px;padding-bottom:max(24px,env(safe-area-inset-bottom));font-size:9px;line-height:1.8}
 .editorial-site .orbs{display:none}
 .editorial-site .reveal{transition-duration:.4s;transition-delay:0s!important}
}
@media(max-width:359px){.cover-edition span:last-child{display:none}.profile-title{font-size:27px}.editorial-site .p-name{font-size:21px}.practice .term-title{font-size:9px}}
@media(max-width:768px) and (max-height:500px){.cover-portrait{height:400px}#mobile-menu nav{padding-top:8px}#mobile-menu nav a{padding:12px 0}#mobile-menu nav span{font-size:24px}}
